You are on page 1of 10

OBIEE Repository Metadata Development

Table of contents Process for bringing data into OBIEE.............................................................................2 Dimensions............................................................................................................2 Physical Layer......................................................................................................2 Connection Pool....................................................................................................3 Create Primary Keys..............................................................................................3 Create the Physical Diagram...................................................................................3 Business Layer ....................................................................................................4 Presentation Layer................................................................................................4 Denormalized tables..............................................................................................4 Repository Documentation Utilities...............................................................................5 Rename Wizard.......................................................................................................5 Generating and Deploying a Metadata Dictionary........................................................5 Generating Documentation of Repository Mappings.....................................................5 Verify Data Type.....................................................................................................5 Change the Date Data Type...................................................................................5 Where are system-wide changes stored?.................................................................6 Create Hierarchies...................................................................................................6 Hierarchy Aggregation...........................................................................................6 Hierarchy Errors...................................................................................................6 Building Hierarchies With Columns In Different Tables.....................................................7 Changes Applied Through Answers...............................................................................8 Formatting Data Values...........................................................................................8 Request Filters......................................................................................................10 Protect Filters Passed through Dashboard...............................................................10

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 1

Process for bringing data into OBIEE


(from remarks by Mike Jelen, BICG, 5/13/2008) General: Perform an operation, then immediately save and check integrity. This saves a lot of troubleshooting time.

Dimensions
Physical Layer
Use File.> Import from Server with OCI 10g/11g selected (avoids need to change the Connection Pool later) TNS Name = Data source name on Connection Pool dialog o TNS Name = polydata.world

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 2

Connection Pool
Require fully qualified table names on connection pool (needed for proxy account since it has only read access to tables)

Create Primary Keys


Verify that primary keys were imported and identified in the tables. If not, add them. Right-click table, select Properties Select the Keys tab If primary key is not marked or the wrong one is selected, modify the keys accordingly.

Create the Physical Diagram


Click Foreign Join button, then click Dimension table and drag to Fact table For various DATES in the fact table, copy the TIME dimension 3 times with different alias names, then join to 3 different dates in the fact table (e.g., withdrawn_date, enrolled_date, dropped_date)

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 3

Business Layer
Use Complex Joins to join new items created in the Business Layer, if any Aggregate items that can be summed Use Rename Wizard to rename fields and tables o o One table at a time (in on-line mode) Rules must be ordered, or perform one rule at a time

Group columns with dummy columns, e.g. --- Program Plan Begin ----- Program Plan End --o o Check "Use existing logical column as the source" Enter the number 1 in the formula box

Presentation Layer
Group columns with subfolders o o Create new Presentation Table as " [Name]" (that's hyphen space name) Creates a subfolder under the parent folder It is also possible to do this with "->" in the Description, but this is less desirable because it is not visible in Administrator unless you are looking at the column's Properties

For Administrator convenience, use icons to relate items in Presentation and Business Model layers

Denormalized tables
Physical layer o o o o Several subject-related denormalized tables may be pulled in together Create an alias of each denormalized table In the Physical Diagram, use a simple join from the original table to the alias The alias becomes the "fact" table

Business Layer o Delete columns from the "fact" table that are not used for measures (all but the join column in most cases)

Presentation Layer o o Delete alias table (assuming it does not contain measures) Create different folders (subject areas) for different denormalized tables so that people don't try using them together. (While this would not be allowed in Answers, trying to do so returns an error message that is confusing for the user.)

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 4

Repository Documentation Utilities


BI Administration Tool > Tools menu > Utilities For more information search Help

Rename Wizard
Rename columns Remove underscore character Change all column names so that first letter of each word is uppercase and rest is lowercase.

Generating and Deploying a Metadata Dictionary


Web-based XML file of information in the repository file.

Generating Documentation of Repository Mappings


Use this tool to document the tables, columns, etc in the repository file. Produces csv or tab-delimited file. Only columns that are in the Presentation Layer will be included in the report. Run the utility after ALL columns are brought to the Presentation Layer and after running the Rename Wizard. Run the utility before fields (ex. Keys, Extract Date, Maint Date) are deleted from the Presentation Layer.

Verify Data Type


Before moving tables to the Business Model or Presentation Layer verify that the Data Type is correct for the columns. OBIEE may define the column as a different data type than what was intended or used in the Warehouse.

Change the Date Data Type


Most date columns come into OBIEE with a Data Type of DATETIME which produces a date format that includes the date and the time. To remove the time from the field change the Data Type to DATE. This change will push through from the Physical Layer through the Business Model and Presentation Layers. Dates are brought in as DATETIME. DATETIME = 1900/02/25 00:00:00 DATE = 1900/02/25

Columns defined as Number will come into OBIEE as DOUBLE which includes two decimal places. If this is incorrect for the column select INTEGER. DOUBLE = 19000225.00 INTEGER = 19000225

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 5

Note: Column Properties which include Style, Column Format, Data Format and Conditional Format are applied in Answers.

Where are system-wide changes stored?


System-wide changes are stored in the Web Catalog and must be moved from development to production servers along with requests and dashboards. These files are stored in folders separate from requests and dashboards.

Create Hierarchies
1. Right-click dimension table and select Create Dimension at the bottom of the shortcut menu. 2. A Hierarchy is created using the name of the dimension table followed by the word Dim. 3. A Grand Total level and Detail level will be created. The Detail level will contain all of the columns of the dimension. 4. Create child levels using names that match your hierarchy. Right-click the Detail level, select New Object, Child level. 5. Create a child level below the lowest child level (this will contain the dimension key.) Move the dimension key to this level. Right-click this key column and remove the checkmark next to Use for drilldown. 6. Move other columns to their respective levels. 7. Delete any unneeded columns from any level. 8. Select columns within each level, right-click and select New Logical Level Key. Select all columns as keys if you want to see them in drilldown. 9. For any levels that should be skipped in the drill-down, select all columns in the level, right-click and remove the checkmark next to Use for drilldown. 10. At level two check for a Detail key that was automatically created. (Right-click level two, Properties, click the Keys tab). Highlight and delete Detail Key.

Hierarchy Aggregation
In the hierarchy, starting from the top and moving down. At each level below the Grand Total level, double-click the level. In the field Number of elements at this level: enter 10 and increase in increments of 10 through all levels in the hierarchy.

Hierarchy Errors
OBI Tool Metadata Errors and Solutions [nQSError: 15001] Could not load navigation space for subject area Student Enrollment. [nQSError: 15019] Table Student Class Section is functionally dependent upon level Institution Code, but a more detailed child level has associated columns from that same table or a more detailed table. This message occurs when either a key is in the Total level or when the first child level below the Total level contains two keys. Right-click on the Total level and select Properties. The Keys tab should be grayed out. If it is selectable, check to see what is there and delete it. Go to the next level down, right-click, select the Keys tab. Only one Key should appear. Delete the key that does not belong.

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 6

http://www.oracle.com/technology/products/bi/index.html

Building Hierarchies With Columns In Different Tables


This first step is needed if columns for hierarchy reside in multiple dimension tables or a dimension table and fact table or because the data model contains only one dimension table and no fact table. 1. Create a new or second dimension table from an already existing table 2. Create an alias of the table in the physical layer. 3. Right-click on table in Physical layer, select New object > Alias. 4. Join the new dimension in the Physical diagram. 5. Select the data model, right-click Physical Diagram > Object(s) and All Joins. 6. Click the New Foreign Join button. Click the new dimension table, then click the Fact table. 7. If you are joining a new dimension table to itself then create joins between all of the keys in both tables. 8. Click the first key in the table on the left. Find the matching key in the table on the right. Hold down the CTRL key and click the next key on the left and the matching key on the right. Continue until all keys are identified in the Expression box at the bottom of the Physical Foreign Key window. Click the OK button. 9. A message a matching table key doesnt exist will appear. Click Yes. 10. Check in changes. 11. Drag the new dimension (Alias) table from the Physical Layer to the Business Model. 12. Select the data model, right-click Business Model Diagram > Whole Diagram. 13. Use the Complex Join button between the two tables. No changes are made on the Logical Join window. Click OK. Close the Diagram Window. 14. The new dimension table now has a dimension table icon. 15. Check in changes. Save repository. 16. Cleanup on tables Remove all Fact columns from the new dimension table. Remove all dimension columns that dont belong in the Fact table.

Assuming an item in the newly created dimension A that needs to be used for a hierarchy in a different dimension B: Select items from physical layer table corresponding to A and drag to the B dimension in the Business Model. Expand Sources for B table (click + ) then double-click on the B table source.

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 7

Click the Add button on the General tab. In the box below name click the B table then click the Select button. This creates a join between those two dimensions.

Then move Items that you want in the B dimension from the Physical layer to the A dimension Source name. This forces a logical join from the physical join between the dimension table and Fact table.

Changes Applied Through Answers


Formatting Data Values
Column Properties which include Style, Column Format, Data Format and Conditional Format are applied in Answers. When a certain format is desired for a column everytime the column is used then system-wide changes can be applied. System-wide changes can be saved at the column level or the data type level.

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 8

A perfect example for a system-wide change is the GPA (Grade Point Average). The field is defined with a Data Type of DOUBLE which gives you two decimal places but you need three decimal places in Answers and Dashboards. 1. Select the GPA column in Answers. 2. Select the Column Properties button. 3. Select the Data Format tab. 4. Click the Override Default Data Format checkbox 5. Change the number of Decimal Places. 6. Click the Save button and choose "as the system-wide default for "Student.GPA"

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 9

Request Filters
Protect Filters Passed through Dashboard
On the filter in the Answers Request, select Filter Options button > Protect Filter. This ensures that the filter used in the request is not lost or overwritten by another filter or dashboard prompt that may supersede the request. This option is only available if a value has been specified in the filter. If the filter item is set to "is prompted" then the Protect Filter option if not available.

/var/www/apps/conversion/tmp/scratch_2/177529883.doc Page 10

You might also like