Professional Documents
Culture Documents
Login into bi publisher through word and open the BIP report
click on finish.
delete the ones indicated in circles
view it in bi publisher
What are the various components required for developing a BI publisher report?
Data Template, Layout template and the integration with Concurrent Manager.
How does the concurrent program submitted by the user knows about the datatemplate or layout template it should be using for
generating the output?
The concurrent program shortname will be mapped to the code of the Datatemplate. Layout template is attached to the
datatemplate, this forms the mapping between all the three.
What is a datatemplate?
Datatemplate is an xml structure which contains the queries to be run against the database so that desired output in xml
format is generated, this generated xml output is then applied on to the layout template for the final output
What is a layout template?
Layout template defines how the user views the output, basically it can be developed using Microsoft word document in rft
(rich text format) or Adobe pdf format. The data output in xml format (from Data template) will be loaded in layout template at run
time and the required final output file is generated.
What are the output formats supported by layout template?
xls, html, pdf, eText etc are supported based on the business need.
Do you need to write multiple layout templates for each output type like html/pdf?
No, only layout template will be created, BI Publisher generates desired output format when the request is run
What is the default output format of the report?
The default output format defined during the layout template creation will be used to generate the output, the same can be
modified during the request submission and it will overwrite the one defined at layout template
Can you have multiple layout templates for a singe data template?
Yes, multiple layouts can be defined, user has a choice here to use one among them at run time during conc request
submission
Which component is responsible for generating the output in xml format before applying it to layout template?
DataEngine will take DataTemplate as the input and the output will be generated in xml format which will then be applied on
layout template
Can BI publisher reports be used in OAF pages?
XDO template utility helper java classes are provided for the same.
Name some business use cases for BI reports?
Bank EFT, customer documents, shipping documents, internal analysis documents or any transactional documents
How do you pass parameters to your report?
Concurrent program parameters should be passed, ensure that the parameter name/token are same as in the conc prog defn
and the data template
What are the various sections in the data template?
Parameter section
Trigger Section
Sql stmt section
Data Structure section
Lexical Section
What does lexical section contain?
The required lexical clause of Key Flex field or Descriptive FF are created under this section
What triggers are supported in Data template?
Before report and After report are supported
Where is the trigger code written?
The code is written in the plsql package which is given under defaultpackage tag of data template.
what is the file supporting the translation for a layout template?
A. xliff is the file that supports the translation, you can modify the same as required.
Q. How do you display the company logo on the report output?
A. Copy and paste the logo (.gif. or any format) on the header section of .rtf file . Ensure you resize per the company standards.
Question 1: How many types of security model is possible in BI Publisher?
Answer: There are 5 types of security model in BI Publisher
1.
Oracle BI Server
2.
BI Publisher Security
3.
LDAP
4.
Oracle Database
5.
Question 2: Which type of Security model are you using in your Project?
Answer: That depends on your project. Generally first 2 types are used.
For Oracle BI server security model, users are defined in repository.
For BI Publisher Security, users are defined in BI Publisher Application Admin tab>Security Center
Question 3: What is super user and where do you create it?
Answer: Super User is independent of security model. He can login to the BI Publisher application with any type of security model.
We can create super user from BI Publisher application Admin tab>Security Center>Security Configuration
Question: OBIEE scenario
We have a requirement to trigger a mail to all the above employees with the employee specific data.
We can not use Organization based data level security as everyone belongs to the same org. We cannot use position based data
level security as everyone has the same position.
How would you do that?
Solution:
Create the above report and save it.
Create an iBot with the following features.
Data visibility : Not personalized. Run as Administrator
Conditional Request: Browse and Select the above report
Schedule: Your choice
Recipients: Select Determine recipients from the conditional request. Select Column containing Recipients as Emp Login. You
can select it from the dropdown list.
And select Show Relevant rows only. For this option to work, the delivery content must be set to the conditional requests result.
i.e. Same report as conditional request report.
Similary the other two employee would receive their own data.
This is actually called report bursting. So the interviewer would expect you to use this term.
This can also be done with BIP Report bursting feature.
Question: How do we model the rpd when there are some dimensional attributes in the fact table.?
Very frequently you will come across the situation wherein you will have dimensional attributes in Fact table and you can not create
a new dimension table for those attributes.
e.g. We do not have any dimension table for activity related attributes in the vanilla rpd. We use the same table i.e W_ACTIVITY_F
fact table for storing the attributes such as Activity Id, Activity Created Date etc. Now the problem here is we can not put those
columns in the Fact Activity logical table of Activity as we do not want to put aggregation on them.
Reason: If you add those dimensional attributes in the Fact Logical Table, it will work fine as long as you have your reports based
out of only one fact table or you are using those columns only for calculation in the logical layer.
But the moment your report needs data from multiple fact tables (i.e for conformed dimensional modelling) and you have a
dimensional attribute present in your Facts logical table, it basically ignores join of Conformed Dimension with one of the fact table
and in your query you will find cast(NULL as INTEGER ) which signifies OBIEE ignored the join.
So in the above case it will ignore join between (C and B) if you have a
dimensional attribute in Facts A, or (C and A) if you have dimensional attribute in Facts B
So here comes the concept of Degenerated Dimensional Modelling. And the interviewer will expect you to use this term.
A degenerate dimension is data that is dimensional in nature but stored in a fact table.
Solution: Use the same alias of Fact Table and create a Logical table in BMM layer treating it as Dimension and place all the
dimensional attributes in the Dim Logical Table(Degenerated Dim for Facts A).
In the above screenshot, Logical table Degenerated Dim for Facts A is still not related to Facts B, so this does not become
conformed dimension to both the facts.
To enable this, we need to set Total level of Degenerated Dim for Facts A in the metrics of Facts B
With this we can have reporting on degenerate dimension even on non conforming facts.
So that is how rpd modelling for Degenerated dimension is done and this solves our problem of cast(NULL as INTEGER ).
Scenario: There is a dashboard which contains some reports and it takes around 15-20 minutes to get the result. Lets say user of
this dashboard is a Manager who do not want to wait for 15-20 minutes to see the result. What steps would you take to improve the
performance considering you can not change anything in the repository and report side.
Solution: Schedule an iBot to run this dashboard just after your ETL load finishes (assuming you have purged the cache after the
data refresh) and in the destination tab select Oracle BI Server for seeding cache option. When you use cache seeding option, the
physical query of the dashboard is cached and whenever any user runs that dashboard after that, it will fetch the result from cache
and hence performance would be improved drastically.
So basically the interviewer expects to hear the Cache Seeding concept.
There are couple of ways to seed the cache which you can get it from google or probably in my further posts.
Scenario: If you are given a Presentation column name and you have to find all the reports/Prompts present in catalog which
contains this presentation column. How would you do that?
Solution: There can be two possibilities for finding this.
1.
Open all the reports present in catalog and see whether the report contains that Presentation column. You can do this if
you have very less number of reports. But if the number of reports are more, then it is not the best way to find.
2.
From the catalog manager, click on File > Search. Type the name of Presentation column and click on search. On the
right hand side it will display the list of all the reports and prompts which uses that column.
The second method is more efficient if the number of reports are more.
Now I will tell you where this scenario can be used.
Say in the repository you have modified a particular presentation column (can be definition change or label name change or
anything) and you have to find all the impacted reports then this can be very useful.
If you have mentioned Oracle Delivers as one of the skills in your resume then you may expect these basic question:
Question 1: How do you debug if an iBot does not deliver the result successfully?
Answer:
Open Job Manager from Start>Oracle Business Intelligence>Job Manager
Click on File>Open Scheduler Configuration
For each user, you can find the list of iBots and status of each iBots
If you double click the status, you will get the error code and the description of error.
Note: You need to restart you Scheduler services. And it will not show old records but going forward it will capture the status for
365 days.
Question 4: Can you save the iBot result in a shared drive rather than sending emails to users?
Answer: Yes, we can save the result in a shared drive by using custom JavaScript code in the Advanced tab of Oracle Delivers.
Question 5: What is Personalized and Non personalized Data visibility in General tab of Oracle Delivers?
Answer:
Personalized(Individual data visibility) : Uses the data visibility of each recipient to customize iBot delivery content of each
recipient.
Not Personalized(iBot owners data visibility) : Sends the iBots delivery content to the specified recipient and all recipient receive
the same content.
How to Replace the Null Value in Prompt on OBIEE 11g
I have seen several posts in OTN for how to replace null values in prompt.
There are four options to resolve this issue:
1.- Validate if NULL values are relevant for the business analysis (for some reason in the data warehouse NULL values were
stored). If they are not, you have to delete them in Dimensions and Fact tables.
2.- Change the physical table type in your rpd in all tables you have NULL values and use a SELECT like this:
SELECT LOGIN, RESP
FROM NQ_LOGIN_GROUP
WHERE NOT LOGIN IS NULL
Doing this, you only have NON-NULL values in your Multi-select prompt.
3.- Replace the NULL value with a new name like UNSPECIFIED in ALL tables you which are related.
4.- Log an enhancement request to review that multi-select prompts works with NULL values.
5. This is a knows issue. Check to see if your prompt list has a 'Null' value at the bottom. If Null value is selected in the prompt, it
will wipe out the selection.
Instead of using "<<", try selecting all products using control + select and use "<" icon.
Exceeded configured maximum number of allowed output prompts in OBIEE 11g
Error : Exceeded configured maximum number of allowed output prompts, sections, rows in OBIEE 11g.
When we are drilling from main report to detail report we are getting an error like Exceeded configured maximum number of allowed output
prompts, sections, rows this is because of huge data in the report.
So in order to resolve this issue we need to add the below mentioned tags in instanceconfig.xml file which is located under
\Middleware\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1
The tags which needs to be added are