How to Remove Null Values from prompts in OBIEE - obiee

How to remove invalid Null values that are not present in database but showing in prompts in OBIEE. For some of the columns Null Values is valid but for other it is not. So i want to display null value in prompt only if it is valid.

you will have to got to rpd and modify the column in physical layer; mark it Not Nullable (uncheck the Nullable check-box)

Seven years later... is this still useful?
Anyway, I've found out that there is a better solution if you want to avoid using a Choice List wih the "SQL Result" option and stick to the "All Column Values" option (because this one allows you to use the "Limit Values by" option, which I need).
There is a parameter in the instanceconfig.xml file that defines this behavior: "ShowNullValueWhenColumnIsNullable" (wrongly documented in some versions as "ShowNullValueInPromptsWhenDatabaseColumnIsNullable", as per this Support Doc)
You can see its usage in the Fusion Middleware System Administrator's Guide (search of one of the two property names above).

If you have a limited number of possible values, you could chose Specific column Values under Options in the edit prompt dialog box.
Also, checking the box to require user input will sometimes resolve this null value problem, however this is not always the case nor is it always possible depending on your situation.
Additionally, go to Edit Dashboard Prompt, in Choice List Values drop-down list select SQL Results, then write the SQL statements as columnname is not equals to “Unspecfied” (In this way we can remove Null’s also).
Finally, you could go to the Physical Column properties in Physical Layer and Disable the Nullable option by unchecking the box.

I prefer to work in my filter in the where statement (is not null or not like '').
Another situation you might notice is an extra blank row in the filter. This can be removed by setting the preferences is required in the prompt filter.
Good luck.

Related

BIRT suppress multiple duplicate columns

I am working on a BIRT report. Its records are grouped on the basis of the status column. I was looking for an option in the Eclipse BIRT tool by which I can hide combinations of multiple columns in a row which are repeating. I have attached screenshots for both the current report and the expected report structure.
I tried the "suppress duplicate" option but that is limited to a single column. I am not able to apply this on multiple columns together. I couldn't figure out any other option. Please suggest any solution in the tool or do I need to change my query to return the result in the expected format?
Actual Result:
Expected Result:
There are three obvious ways to hide duplicate values.
All of these require you to configure this per column (BTW I don't understand why you consider this to be a problem).
As you already did: Use "suppress duplicates" at the column level.
Add more groups to your table after the existing group.
E.g. one group for the first column (whatever that is).
Then you can choose "Drop" "detail" in the properties of the corresponding group header cell. It's a bit difficult to get the layout right this way.
In your data set, if it's SQL, you can use a little construnct with CASE and the LAG analytic function to compare the column value to that of the previous row, and if they are equal, return NULL instead (pure SQL solution).

SSRS Report Parameters Interactive

I have a report that requires 3 parameters, all 3 has q query to pre populate them using a dataset for each, so the under their properties the available values is selected with the query. Default were also set to use the same query. This work fine.
My problem is when the user of the report wanted to enter the values themselves rather than going into the list populated by the query. Users know the value that they wanted to enter so it's faster for them to enter rather than select. SSRS report seems not to give you the ability to enter if you have set the available values and default values for some reason. Is their a way to go around this please?
Many thanks.
There is one straight forward way to use comma separated multi value parameter rather than list where user enters input.
Below link explains in detail, but I am quite sure you do not want to stick to below solution.
https://www.mssqltips.com/sqlservertip/3479/how-to-use-a-multi-valued-comma-delimited-input-parameter-for-an-ssrs-report/
Another thing you could do is keep your multi value parameter as list as it is and create a text input parameter.
Now if user want to simply choose from list fair enough you will have to handle second parameter as null because user chose from list.
Then on your dataset check and apply filter as 2nd parameter value as not null.
Same goes if user does text input then multi value parameter as not null.

OBIEE 12C: dashboard prompt auto fill when selection is sql result

I wanted to created a dashboard prompt which would automatically fill in with the first available value. This is possible when the selection choices are e.g. all column values.
What I need is to select my values via sql result but still want to fill in the first available value, but that option is blanked out when choosing sql results.
Is there a way to achieve this, maybe via adapting the xml?
Thanks!
What you have highlighted is ONLY ever active when you have interdependent prompts with constraints. I.e. "Limit values by" set to TRUE

IIF Statement in TablixFilter issue

I'm trying to filter a matrix in my report. I have names of 4 drivers and I want the Matrix5 to show the name of a default driver in case SELECT ALL is checked in filter. Otherwise I want the matrix to show whoever is checked.
I set an expression at matrix filter as;
=IIF(Parameters!Sofor.Count=4,"abcdef",Parameters!Sofor.Value)
-abcdef is the name of the default driver for the tablix
-Sofor is the driver name parameter and has 4 total possible name options, 5 if we consider SELECT ALL too.
It works well if I check SELECT ALL but stops working if I select only one option.
Error I'm getting is as follow;
"The processing of FilterExpression for the tablix "Tablix5" cannot be performed. Cannot compare data of types System.String and System.Object[]. Please check the data type returned by the FilterExpression"
Though the error sounds pretty self explanatory I still can't understand what I'm doing wrong. Any help please?
Parameters!Sofor.Value is an array of values (the object) because its a multi-select parameter. (what happens when the user chooses 2 drivers?)
Try
=IIF(Parameters!Sofor.Count=4,"abcdef",Parameters!Sofor.Value(0))

How to hide irrelevant NULL values in Prompts in OBIEE 11g

We have a column that has NULL Record entry, so we cant opt for unchecking NULLABLE field in RPD. Scenario is, we are selecting a particular department ID in prompt and for which the column has a value (Say India) but still shows NULL in the prompt. When we take the Prompt Query fired by OBIEE and run it in SQL, it retrieves only India and NULL doesnt come into picture. Is there any other option to Remove the NULL value in prompt in OBIEE? Any reason why OBIEE shows NULL values?
See this previous post for some guidance. Not all the options will work for you since your situation is different, but it could act as a good starting point.
How to Remove Null Values from prompts in OBIEE
To summarize that link, if you have a limited number of possible values, you could chose specific column Values under Options in the edit prompt dialog box.
Also, checking the box to require user input will sometimes resolve this null value problem, however this is not always the case nor is it always possible depending on your situation.
Finally, try to go to Edit Dashboard Prompt, in Choice List Values drop-down list select SQL Results, then write the SQL statements as column name is not equals to “Unspecfied” (In this way we can remove Null’s also).
Once again, that link is for another question so not all these options are applicable here, but I have found it to be a good starting point.

Resources