Create a New Repository
To create a new repository, perform the following steps:
1. Click Start > Programs > Administrative Tools > Services.
2. In the Services dialog box, stop the Oracle BI Java Host, Oracle BI Presentation Server and Oracle
BI Server service(s).
3. Click Start > Programs > Oracle Business Intelligence > Administration to open the Oracle BI
Administration Tool.
4. Click File > New to open the New Repository dialog box.
5. In the New Repository dialog box, the Repository folder is selected by default. Name the file
NCDEX_OBI.RPD
.
6.
Click Save. The new repository opens in the Administration Tool and
displays three empty layers: Presentation, Business Model and Mapping,
and Physical. If necessary, select Tools > Options >
Show toolbar to display the toolbar.
The
Physical layer is where information on physical data sources is stored.
The Business Model and Mapping layer is where measurements and terms
used in business are mapped to the physical data sources. The
Presentation layer is where the business model is customized for
presentation to the user. You can work on each layer at any stage in
creating a repository, but the typical order is to create the Physical
layer first, then the Business Model and Mapping layer, and then the
Presentation layer.
Create an ODBC Data Source
An
ODBC data source is needed to import schema information about a data
source into an Oracle BI Server repository. To create an ODBC data
source for importing the SH schema information, perform the following
steps:
1. Click Start > Settings > Control Panel > Administrative Tools > Data Sources (ODBC) to open the ODBC Data
2. Click the System DSN tab and click Add.
The Create New Data Source dialog box opens.
3. In the Create New Data Source dialog box, select the Oracle driver.
4. Click Finish to open the Oracle ODBC Driver Configuration dialog box.
5.
In the Oracle ODBC Driver Configuration dialog box, enter a Data Source
Name (this can be any name), select the appropriate TNS Service Name
from the drop down list (OCOE in this example), and enter vus as the
User ID for the OBI_PROD schema.
7. In the Oracle ODBC Driver Connect dialog box, enter the password <to be provided> for the
Vus user and click OK.
8. You should see a "Testing Connection" message indicating the connection is successful
9. Click OK to close the Testing Connection message.
10. Click OK to close the Oracle ODBC Driver Configuration dialog box.
11.
Verify that the OBI_PROD system data source is added in the ODBC Data
Source Administrator and click OK to close the ODBC Data Source
Administrator.
To import the OBI_PROD schema information into the repository, perform the following steps:
1. In the Oracle BI Administration Tool, click File > Import > from Database . . .
2. In
the Select Data Source dialog box, select the OBI_PROD ODBC DSN you
created in a previous step, enter VUS as the user name and password
<to be provided>, and click OK to open the Import dialog box.
3. In the Import dialog box, locate the VUS schema folder.
4. Expand the VUS schema folder and use Ctrl + Click to select the following tables: REPORT_DATES,VW_CLIENT,VW_ EXCH_BHV_CPY,VW_EXCH_CMDTY,VW_ EXCH_CMDTY_CTGRY,VW_EXCH_SMBL_ MAPNG,VW_EXCHANGE,VW_FACT_ TRADE_SMRY,VW_INSTRUMENT,VW_ LOCATION,VW_MEMBER,VW_MEMBER_ BRANCH and VW_USER
5. Verify
that only the Tables, Synonyms and Keys checkboxes are selected, which
is the default and click the Import button. The Connection Pool dialog
box opens.
It is best practice to only import objects needed to support your business model. However, don’t worry
If you import extra objects at this point. You can always delete objects later if they do not support your
Business model.
6. In the Connection Pool dialog box, on the General tab, verify that the call interface is set to Default
(OCI
10g) and change the data source name to the appropriate tnsnames.ora
entry. Please note that this is the TNS service name, not the ODBC DSN.
7. Leave the rest of the settings as they are and click OK to close the Connection Pool dialog box. The
Import process starts.
8. When the Import process completes, click Close to close the Import dialog box.
9. In the Physical layer of the repository, expand the VUS schema folder and verify that the correct tables are imported.
10. To verify connectivity, click Tools > Update All Row Counts.
To create physical joins in the Physical layer of the repository, perform the following steps:
1. In
the Physical layer, right-click the VUS schema folder and select
Physical Diagram > Object (s) and All Joins. Alternatively, you can
select the VUS database object and then click the Physical Diagram
button on the toolbar.
2. In the Physical Diagram, if the tables are too big, right-click in the white space, select Zoom, and adjust the size.
3. . Rearrange the tables so they are all visible in the Physical Diagram.
4. Click the New Foreign Key button on the toolbar.
5. Click the Channels table and then the Sales table. The Physical Foreign Key dialog box opens.
It
matters which table you click first. The join is creating a one-to-many
(1:N) relationship that joins the key column in the first table to a
foreign key column in the second table. The Administration Tool makes a
best "guess" and automatically determines which columns should be
included in the join.
Make sure the join expression is:
VW_MEMBER.MEMBER_SKEY = VW_FACT_TRADE_SMRY.MBR_KEY
6. Click
OK to close the Physical Foreign Key dialog box. The join between
VW_MEMBER and VW_FACT_TRADE_SMRY is displayed in the Physical
Diagram.
7. Continue to create the following joins:
· VW_USER.USER_SKEY = VW_FACT_TRADE_SMRY.USR_KEY
· VW_MEMBER_BRANCH.BRANCH_SKEY = VW_FACT_TRADE_SMRY.BRNH_KEY
· VW_MEMBER.MEMBER_SKEY = VW_FACT_TRADE_SMRY.MBR_KEY
· VW_LOCATION.LOCATION_SKEY = VW_FACT_TRADE_SMRY.LCTN_KEY
· VW_INSTRUMENT.INSTRUMENT_SKEY = VW_FACT_TRADE_SMRY.INSTRMNT_ KEY
· VW_EXCH_CMDTY_CTGRY.CATEGORY_ SKEY = VW_FACT_TRADE_SMRY.CTGRY_KEY
· VW_EXCH_CMDTY.EXCH_CMDTY_SKEY = VW_FACT_TRADE_SMRY.CMDTY_KEY
· VW_EXCHANGE.EXCHANGE_SKEY = VW_FACT_TRADE_SMRY.EXCH_KEY
· VW_CLIENT.CLIENT_SKEY = VW_FACT_TRADE_SMRY.CLNT_KEY
· REPORT_DATES.DATE_SKEY = VW_FACT_TRADE_SMRY.DATE_KEY
· VW_INSTRUMENT.INSTRUMENT_SKEY = VW_EXCH_BHV_CPY.INSTRUMENT_ SKEY
· VW_EXCH_CMDTY_CTGRY.CATEGORY_ SKEY = VW_EXCH_BHV_CPY.CATEGORY_SKEY
· VW_EXCH_CMDTY.EXCH_CMDTY_SKEY = VW_EXCH_BHV_CPY.EXCH_CMDTY_ SKEY
· VW_EXCHANGE.EXCHANGE_SKEY = VW_EXCH_BHV_CPY.EXCHANGE_SKEY
· REPORT_DATES.DATE_SKEY = VW_EXCH_BHV_CPY.DATE_SKEY
· VW_EXCH_SMBL_MAPNG.SMBL_MPNG_ SKEY = VW_EXCH_BHV_CPY.SMBL_MPNG_SKEY
When you are finished, click the X in the upper right corner to close the Physical Diagram.
To create a new business model, perform the following steps:
1. In the Physical Layer, right click on “VUS” and click copy.
2. In the Business Model and Mapping layer, right-click the white space and select Paste.
3. The business model layer will look as follows:
4. In
the Business Model layer, right click on VUs and open the properties.
Rename the business model as “Trade Data Summary” and leave the
Available for queries box unchecked.
5. Click OK to close the Business Model dialog.
To create logical joins in the business model, perform the following steps:
1. Right-click the “Trade Data Summary” business model and select Business Model Diagram > Whole Diagram.
2. As the Business Model is Copied and pasted, Logical joins are automatically done.
3. When one clicks on any of the Complex Joins. The following window will appear.
.
4. Click
the X in the upper right corner to close the Logical Table Diagram.
Notice that the color of the table icons for the dimension tables has
changed to white in the business model. In a business model, a yellow
icon indicates a fact table and a white icon indicates a dimension
table. Defining the join relationships determined which tables are the
logical dimension tables and which is the logical fact table. A fact
table is always on the many side of a logical join. You now have a
logical star schema consisting of two logical fact table,
“VW_FACT_TRADE_SMRY” and “VW_EXCH_BHV_CPY”,
and ten logical dimension tables REPORT_DATES,VW_CLIENT,VW_ EXCH_CMDTY,VW_EXCH_CMDTY_ CTGRY,VW_EXCH_SMBL_MAPNG,VW_ EXCHANGE,VW_INSTRUMENT,VW_ LOCATION,VW_MEMBER,VW_MEMBER_ BRANCH and VW_USER.
To delete logical columns that are not needed in the business model, perform the following steps:
For
the VW_CLIENT logical table in the Business Model and Mapping layer,
use Ctrl + click to select the columns. Right-click either of the
highlighted columns and select Delete to delete the columns.
Alternatively, you can use the Delete key on your keyboard.
1. Click yes to confirm the delete.
2. Verify that the VW_CLIENT logical table now has only these logical columns.
3. Repeat the steps to delete the unnecessary columns in rest of the tables.
To use the Rename Wizard to rename the objects in the business model, perform the following steps:
1. Click Tools > Utilities.
2.
3. In the Utilities dialog box, click Rename Wizard and then Execute.
4. In
the Rename Wizard, click the Business Model and Mapping tab and select
the “Trade Data Summary” business model. Click on “Add” and “Add
Hierarchy” and Click “Next”.
.
5. Check Logical Table and Logical Column. Click Next.
6. Add the desired changes to be made in sequence and then click on Next.
7. Kindly review changes.
8. Click on “Finish”.
Dimension hierarchies introduce formal hierarchies into a business model, allowing Oracle BI Server
to calculate useful measures and allowing users to drill down to more detail. In a business model, a
Dimension hierarchy represents a hierarchical organization of logical columns belonging to a single
Logical dimension table. Common dimension hierarchies used in a business model are time periods,
Products, customers, suppliers, and so forth.
Dimension hierarchies are created in the Business Model and Mapping layer and end users do not
See them in end user tools such as Oracle BI Answers or Interactive Dashboards. In each dimension
Hierarchy, you organize dimension attributes into hierarchical levels. These levels represent the
Organizational rules and reporting needs required by your business. They provide the structure that
Oracle BI Server uses to drill into and across dimensions to get more detailed views of the data.
Dimension hierarchy levels are used to perform aggregate navigation, configure level-based measure
Calculations, and determine what attributes appear when Oracle BI users drill down in their data
Requests.
To build the Channels dimension hierarchy in the “Trade Data Summary” business model, perform the following steps:
1. Right-click the Vw Location logical table and select Create Dimension.
2. Right-click the Location Detail level and select New Object > Parent Level.
3. In
the Logical Level dialog box, name the logical level State and set the
Number of elements at this level to 3.Click OK to close.
4. Drag
the State column from the Location Detail level to the State level to
associate the logical column with this level of the hierarchy.
5. Right-click State and select New Logical Level Key.
6. In the Logical Level Key dialog box, verify that State and Use for drilldown are selected.
The level key defines the unique elements in each logical level. Each level key can consist of one or
More columns at this level.
7. Click OK to close the Logical Level Key dialog box. The Channel Class column now displays with a key icon.
8. Right-click the State level and select New Object > Parent Level.
9. Add Region and Drag the Region from the Location Detail level to the Region level.
Make it a new logical key same as State.
10. Right-click the Location Name column and select New Logical Level Key.
11. In the Logical Level Key dialog box, check Use for drilldown.
12. The Location hierarchy would look as follows:
13. Repeat the same for other Dimensions as well.
14. The Report Dates hierarchy would look as follows:
15. Double click on Report Dates dim. Check Time Dimension.
16. The User hierarchy would look as follows
17. The Exch Cmdty hierarchy would look as follows
18. The Exch Smbl Mapng hierarchy would look as follows:
19. The Exchange hierarchy would look as follows:
20. The Member hierarchy would look as follows
To create a logical column, perform the following steps:
1. In the Business Model and Mapping layer, add new logical column in Report Dates
2. Add Name as ‘Max Month Traded days’, check on’ Use existing logical columns as the source’ and click on’…’
3. Click on Functions > Evaluate Functions > Evaluate
4. Write the following statement in Expression Builder, click on OK.
CAST (EVALUATE ('MM_TRADED_DAYS_MONTH_NAME(% 1)', "Trade Data Summary"."Report Dates"."Month Name") AS INTEGER )
5. New logical columns as Max Month Traded Days are added.
6. Similarly, add the following logical columns with the corresponding Expressions:
Name: Max FY Traded Days
Expression Builder: CAST ( EVALUATE('FY_TRADED_DAYS_FY(% 1)', "Trade Data Summary"."Report Dates"."Fiscal Year Text") AS INTEGER )
Name: Max FQ Traded Days
Expression Builder: CAST ( EVALUATE('FQ_TRADED_DAYS_FQ(% 1)', "Trade Data Summary"."Report Dates"."Quarter Key") AS INTEGER )
Name: Max Week Traded Days
Expression Builder: CAST ( EVALUATE('WK_TRADED_DAYS_WK(% 1)', "Trade Data Summary"."Report Dates"."Week Key") AS INTEGER )
1. Double click on Total Value :
2. Select “SUM” as Aggregation Level.
3. Check the summation sign with “Total Value’.
4. Repeat the same for ‘Buy Value’ ,’Buy Volume’ ,’Sell value,’ Sell Volume’,’ Total Volume’.
5. Right click on ‘Total Value ‘ and click on duplicate.
- Double click on new logical column and name it as ‘Month Value’:
- In Level Tab, select Month in Logical level of report Dates dim.
- Drag the “Trade Data Summary” business model from the Business Model and Mapping layer to the Presentation layer to create the “Trade Data Summary” catalog in the Presentation layer.
- Expand the “Trade Data Summary” catalog in the Presentation layer. Notice that the tables and columns in the Presentation layer exactly match the tables and columns in the Business Model and Mapping layer.
Notice also that dimension hierarchies are not displayed.
Create an Initialization Block for Session Variables
Session
variables are like dynamic repository variables in that they obtain
their values from initialization blocks. Unlike dynamic repository
variables, however, the initialization of session variables is not
scheduled.
When
a user begins a session, Oracle BI Server creates new instances of
session variables and initializes them. Unlike a repository variable,
there are as many instances of a session variable as there are active
sessions on Oracle BI Server. Each instance of a session variable could
be initialized to a different value.
A
session is an instance of a user running the client application. The
session starts when the application is started and ends when the
application is exited.
To create an initialization block for session variables, perform the following steps:
In NCDEX_OBI repository,
Click Manage > Variables to open the Variable Manager.
Click Session > Initialization Blocks.
Right-click in the white space on the right and select New Initialization Block.
Implementing LDAP Authentication
In the Session Variable Initialization Block dialog box, type Auth in the Name field. Click on Edit Data Source.
To configure LDAP Server .select LDAP for dropdown.
Click on New to add LDAP Server
Fill in the details as shown:
Name: OBIEE_NCDEX
Host Name: 172.30.2.148
Port Number: 399
Base DN: DC=NCDEXLTD,DC=com
Bind DN: CN=Danish Shaikh,OU=TCS,OU=Consultants, DC=NCDEXLTD,DC=com
Bind password: <Windows Authentication Password for Danishs>
Confirm Password:
Click on Test Connection:
Click on the Advanced Tab and check ADSI, the screen would be as follows,
Click on Ok.
Click Edit Data Target to open the Session Variable Initialization Block Variable Target dialog box:
Click New to open the Session Variable dialog box.
In the Name field, type USER.
Click OK to close the Session Variable dialog box.
Click Yes when prompted about the USER session variable having a special purpose.
The
USER variable is added to the Session Variable Initialization Block
Variable Target dialog box. Type “sAMAccountName” In LDAP Variable:
Click Ok.
To implement Other Session Variables:
In
the Session Variable Initialization Block dialog box, type Group in the
Name field. Click on Edit Data Source. Click on Edit Data Source.
Select “Database” as data Source Type. For Connection Pool, click on Browse
Select OBI_PROD > Connection Pool in the Select Connection Pool dialog box.
Double-click
Connection Pool or click the Select button to add the connection pool
to the Session Variable Initialization Block Data Source dialog box.
In the Default Initialization String field, type the following initialization string:
SELECT DISTINCT 'GROUP', DASHBOARD_GROUP
FROM OBI_PM_GROUP_MAPNG A, OBI_PM_USER_MAPNG B
WHERE A.GROUP_ID=B.GROUP_ID
AND B.BDM_ID = ':USER'
Click
OK to close the Session Variable Initialization Block Data Source
dialog box. The initialization string is visible in the Session Variable
Initialization Block dialog box.
Click
Edit Data Target to open the Session Variable Initialization Block
Variable Target dialog box. Check Radio Button for “Row Wise
initialization”. Click OK.
Repeat
the above steps to Create “Commodity_State” with Default Initialization
String as given below and check “Row Wise initialization” as well.
Select distinct 'obi_commodity_state', A.CMDTY|| ' ' || B.STATE
FROM OBI_PM_CMDTY_MAPNG A, OBI_PM_USER_MAPNG B
WHERE A.GROUP_ID=B.GROUP_ID
AND B.BDM_ID = ': USER’
The Session Variable Init Block is displayed in the Variable Manager.
To create a dynamic repository variable, perform the following steps:
Click Manage > Variables to open the Variable Manager.
Click Repository > Initialization Blocks.
Right-click the white space and select New Initialization Block to open the Repository Variable Init
Block dialog box.
Name the initialization block YestDate.
Click Edit Data Source to open the Repository Variable Init Block Data Source dialog box.
Click the Browse button to open the Select Connection Pool dialog box.
Double-click
the OBI_PROD > Connection Pool object to add it to the Connection
Pool field in the Repository Variable Init Block Data Source dialog box.
In the Default Initialization String field, type the following SQL:
Select date_skey from report_dates where date_skey
= (select to_char (get_working_day (trunc(sysdate), -1),'YYYYMMDD') from dual)
Click OK to close the Repository Variable Init Block Data Source dialog box. The connection pool
And initialization string are added to the Repository Variable Init Block dialog box.
Click Edit Data Target to open the Repository Variable Init Block Variable Target dialog box.
Use the New button to create a variable.
Click
OK to close the Repository Variable Init Block Variable Target dialog
box. The variables appear in the Variable Target field in the Repository
Variable Init Block dialog box.
Click Test and verify you get the results in the picture.
Similarly Add the following variables with following details:
Name: YestMonth
Default Initialization String:
Select month_text from report_dates where date_skey = (select to_char(get_working_day(trunc( sysdate), -1),'YYYYMMDD') from dual)
Variable Name: YestMonth
Name: YestYear
Default Initialization String:
Select fyear_name from report_dates where date_skey = (select to_char(get_working_day(trunc( sysdate), -1),'YYYYMMDD') from dual)
Variable Name: YestYear
Name: PrevYear
Default Initialization String:
Select fyear_name from report_dates where date_skey = (SELECT TO_CHAR(add_months(get_ working_day(TRUNC(sysdate), -1),-12),'YYYYMMDD')
FROM dual)
Variable Name: PrevYear
Name: PrevFifthDay
Default Initialization String:
SELECT date_skey FROM report_dates WHERE date_skey =
(SELECT TO_CHAR(get_working_day(TRUNC( sysdate), -5),'YYYYMMDD') FROM dual
)
Variable Name: PrevFifthDay
Name: Yesterday
Default Initialization String:
Select to_char(get_working_day(trunc( sysdate), -1),'DD-MON-YYYY') from dual
Variable Name: Yesterday
Name: PrevFifthDay2
Default Initialization String:
SELECT TO_CHAR (get_working_day(TRUNC( sysdate), -5),'DD-MON-YYYY') FROM dual
Variable Name: PrevFifthDay2
Name: Prev2Year
Default Initialization String:
Select fyear_name from report_dates where date_skey = (SELECT TO_CHAR(add_months(get_ working_day(TRUNC(sysdate), -1),-24),'YYYYMMDD')
FROM dual)
Variable Name: Prev2Year
Name: Prev3Year
Default Initialization String:
select fyear_name from report_dates where date_skey = (SELECT TO_CHAR(add_months(get_ working_day(TRUNC(sysdate), -1),-36),'YYYYMMDD')
FROM dual)
Variable Name: Prev3Year
Name: Prev4Year
Default Initialization String:
Select fyear_name from report_dates where date_skey = (SELECT TO_CHAR(add_months(get_ working_day(TRUNC(sysdate), -1),-48),'YYYYMMDD')
FROM dual)
Variable Name: Prev4Year
The Repository Variable Init Block are displayed in the Variable Manager.
Through this document, we can build an OBIEE RPD.
No comments:
Post a Comment