Fixing the BAD XML Instance Issue – OBIEE 11g


“The current xml is invalid with the following errors: Bad xml instance!” is very unusual error but when this has been encountered it is become frustrating as it sounds the entire report can’t be saved !

I remember last time I had faced the similar issue in 11.1.1.3 version while I was building a new report from scratch . The error enforced me not to even edit the reports so I neither I can move to criteria nor I can save this . That was weird !  The only option left was to edit the XML using Catalog manager but until and unless you know where the problem lies you can’t fix it right ?

Now recently I got similar kind of issue in one of our upgraded 11.1.1.6 report which is a Combined request report and when I tried to edit the Criteria Analysis properties Interaction tab to remove Sort column of un-check any other options it throws me below error during the save:

Okay … so the error was at the very last line of the displayed XML as below:

Line:814, Col:61, Element ‘criteria’ is not valid for content model: ‘((criteria,interactionOptions,views,prompts,listOptions),segmentOptions)’

so the bug is around the green circled tags !! Reason is whenever you un-check some options under “Analysis-Properties” it will throw errors !! Probably this is some problem with the up-graded code in 11g from 10g as I tried to replicate the same creating a new reports from scratch which was pretty cool and removing any interaction works perfectly okay in the dashboard report .

After spending some times the reason of the issue found with the fix . I have customized the location for the below tag from Advanced XML :

<saw:interactionOptions drill=”true” movecolumns=”true” sortcolumns=”false” addremovevalues=”true” groupoperations=”true” calcitemoperations=”true” showhidesubtotal=”true” showhiderunningsum=”true” inclexclcolumns=”true”/>

Edited the XML and moved it from beforesection to the end of all. As it is combined request hence several would be present but placed it after all of them.

 After that apply the changes in Advanced XML and voila …. your problem fixed !  Note that this could be the one of incident with BAD XML error and probably you can found it in several other places with no relation to my above fix note . This those cases you need to dig down into more details of the Advanced XML generated and fix those issues as applicable for your case .

Bottom line is same . Dig into the XML details to find out the crappy code and the fix it ! …

So that’s it …. till next time… Happy weekend 🙂

 

OBIEE 11g/10g Column Header Freeze


I thought to post this thread long time back during 11.1.1.3 version but just waited for 11g new release .5 and upcoming edition assuming Oracle might include this demanding features soon and still surprised there is no OOB feature included while we are in .6 now.

I know the couple of fellow bloggers already tried that and everybody could have different approach . So lets put what I had experimented in last year in .3 release which is still valid in .6 . And this approach and implementation still valid in 10g.

Its simple to have column header freeze adding some scripting with embedded content . I took a simple dimension and simple fact to create one Tabular report and one Pivot report in two different tab where I have applied same logic but just want to show that the feature still feasible in both view.

So lets see how it will look like after Tabular column freeze (I would rather say it is kind of floating column header attributes)

Now I have scrolled at the right pane and watch the year attributes.  Now you can see that the column header retains.

Now see the implementation:

I have added Text and Embedded content in the dashboard page:

The text properties(HTML Markup checked): I can’t put it like text for your copy paste as the tag is restricted to use in wordpress and sorry for that 😦 Hence click on the image to get the detail view.

Embedded Content URL: 

https://bi.dev.com/analytics/saw.dll?Go&path=%2Fusers%2Fpdebashi%2FTest-Column_Header_Freeze

So I have created a simple tabular report with the above columns and saved it under my folder and referred that in the URL .

That’s it and you are done …

Now if you try to implement the same, you will see some alignment issue and in that case you need to adjust the Width and height and other parameters of HTML content to get the cropped column list  . Note that in above implementation I just remove my title view from report .

Though the above design has a lot of other restrictions (Downloading , Column sort ) but there could be possible workaround for that. At-least you can get something which is better than nothing. 😀

Similar way I did it in Pivot view :

In this case my Embedded URL is different: (note the Viewname param at the end which only pull the compoundView2 which is my pivot table)

https://bi.dev.com/analytics/saw.dll?Go&path=%2Fusers%2Fpdebashi%2FTest-Column_Header_Freeze&Action=Navigate&Viewname=compoundView!2

Refer this same URL  under the HTML content defined in above image as Text HTML Markup properties.

Let the soul of the above approach rest in peace once Oracle implements this as OOB functionality in upcoming releases !!!  🙂 

And we expect this to be sooner than later …. Catch you again ..till then ….