This content has been marked as final. Show 7 replies
If I'm not wrong try to give a chance to OBIEE to use its Intelligence ...
Have you heard about Fragmentation or else the below at LTS properties->Content tab?
Check for these
Check the Check box for 'This source should be combined with other sources at this level'
As per this you got 'Value-Based' Fragmentation.
Try it out.
Hope it make sense, if does mark and rest send email
You can use fragmentation feature in LTS to let BI Server pick the required table based on the data that each table has.
You can set the table name for each report by changing the session variable name using SET VARIABLE under Advanced tab of answers.
Mark helpful/correct if this helps.
thank you, I've found another way to make it running. In fact there are two ways of doing it: filter LTS and have all data filtered from single table with session variable or use fragmentation content also with session variable.
Now tricky part is to set variable from UI, currently I'm using issue raw sql: call NQSSetSessionValue( 'String SV_SIGNOFF=aaa;' ) but I have to figure out how to change session non system variable value without need of administrator user rights.
There is GoURL method, but it's not working...
2. Add In ORACLE_HOME/bifoundation/web/display/authenticationschemas.xml
<RequestVariable source="url" type="informational" nameInSource="lang"
inside the top <AuthenticationSchemaGroup> </AuthenticationSchemaGroup> tag
You can change the value of a session variable with the procedure that I mentioned above (SET VARIABLE).
I've tested SET VARIABLE statement already but it doesn't set variable for the whole session (old variable value is showed in repo sessions manager). Same report run in a different tab gives me an error:
Metadata of results did not match metadata found in cache. This can be resolved by having an administrator refresh the server metadata.
call NQSSetSessionValue is working fine, but there will be a problem with usage because users don't have rights to access Issue SQL.
Edited by: 998616 on Apr 29, 2013 4:52 AM
The scope of SET VARIABLE is only for that particular report where you are using. It will not impact at RPD/other reports.
You can check the session variable value that is getting changed for that particular report (you will be verifying that from the sql that is fired), then you will have to apply the same for all the reports that needs a different value for that session variable.
My preference for this sort of thing is to push the complexity into the database. If Table A and Table B have identical structures, create a database view that unions all the data into one place:
CREATE OR REPLACE VIEW both_tables AS
SELECT 'A' source_table, A.*
FROM tableA A
SELECT 'B' source_table, B.*
FROM tableB B
Then you can model new view this into your RPD and filter on the source_table column at runtime.
Of course, if you're not allowed to make changes to your data source, you could always include the above SQL as an Opaque view in your Physical layer. If you're going to do that, I'd recommend expanding out the "*"s to the full column list.