Sei sulla pagina 1di 121

Contents

1. 2. 3. 4. Business Intelligence Oracle BI Products : OBIEE Architecture OBIEE Repository Basics 3 3 4 12


12 16 20

4.1 Building Physical Layer of a Repository 4.2 Building Business Model and Mapping Layer 4.3 Building Presentation Layer of a Repository

5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.

Testing and Validating a Repository Adding Multiple Sources to Dimension Adding Calculations to a Fact Table Creating Dimensional Hierarchies and Level Based Measures Using Aggregate Tables Using Partitions and Fragments Object Level Security Data Level Security Variables Cache Management Multi-User Development Environment Configuring the OBIEE Scheduler Usage Tracking Administration Tool Utilities OBIEE Cluster Servers Oracle BI Publisher Oracle BI Answers Dashboard Oracle BI Delivers Data Warehouse Administration Console Oracle Business Analytics Warehouse Overview Oracle Business Analytics Warehouse Architecture OBIEE 11g Summary of New Features

23 26 28 33 36 38 40 44 46 50 54 58 60 62 67 71 76 85 91 93 95 95 97
97 97

27.1 User Experience 27.2 New Interactive Visualizations

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

27.3 Best-in-Class MOLAP User Interface 27.4 Best-in-Class Query & Analysis User Interface 27.5 Oracle Scorecard and Strategy Management 27.6 BI Search 27.7 Enhancements to BI Publisher 27.8 Spatial Integration 27.9 Oracle BI Server 11g Enhancements for Essbase 27.10 Action Framework

98 99 100 100 101 102 103 103

28.

PROJECT BEST PRACTICES & Coding Standards 28.1.1 28.1.2 Purpose Definitions and Acronyms

104
104

28.1 Introduction

104 104
104

28.2 Administration & Production Support

28.2.1 28.2.2 28.2.3

Performance Monitoring/Tuning Clustering Production Support and Maintenance

104 105 106


107

28.3 Designing & Development

28.3.1 28.3.2 28.3.3 28.3.4 28.3.5

General Design Designing the Business Models Repository Presentation Catalog Caching

107 107 108 117 119


121

28.4 Scheduler

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

1. Business Intelligence
Provides data and tools required by users to answer questions that are important for running a part of the business for which they are responsible: Determine if the business is on track Identify where things are going wrong Take and monitor corrective actions Spot trends Examples: Show me the most effective promotions Show me customers most likely to switch Show me products that are not profitable Compare sales this quarter with sales a year ago Show me sales for each district by month

2. Oracle BI Products :
Oracle Business Intelligence is sold in two varieties Oracle BI Enterprise Edition Oracle BI Applications Oracle BI Enterprise Edition : Is a comprehensive suite of enterprise BI products that delivers a full range of analysis and reporting capabilities Has the following components: Oracle BI Server - Common enterprise business model and abstraction layer Oracle BI Answers - Ad-hoc query and reporting Oracle BI Interactive Dashboards - Highly interactive dashboards for accessing business intelligence and applications content Oracle BI Delivers - Proactive business activity monitoring and alerting Oracle BI Disconnected Analytics - Full analytical functionality for the mobile professionals Oracle BI Publisher - Enterprise reporting and distribution of "pixel-perfect" reports Oracle BI Briefing Books - Snapshots of dashboard pages to view and share in offline mode Oracle BI Applications: Are a complete, prebuilt BI solutions that deliver intuitive, role-based intelligence for everyone in an organization Oracle BI Applications are built on the Oracle Business Intelligence Enterprise Edition Provides all that the standalone application does, plus: 1. Applications for common industry analytical processing such as Service Analytics, Sales Analytics, Marketing Analytics, and so on 2. Prebuilt role-based dashboards to support the needs of line managers to chief executive officers

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

3. A prebuilt database (Oracle Business Analytics Warehouse) designed for analytical processing with prebuilt routines to extract, load, and transform data from the transactional databases

3. OBIEE Architecture
Is made up of five main components: Web Clients Oracle BI Presentation Server Oracle BI Server Oracle BI Scheduler Data Sources

Web Clients Provide access to BI information Web browser Enterprise application Corporate portals

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

Oracle BI Presentation Server Provides the processing to visualize the information for client consumption 1. Is implemented as an extension to a web server 2. Uses the presentation catalog to store aspects of the application Receives data from the Oracle BI Server and provides it to the client that requested it

Oracle BI Presentation Catalog Stores the application dashboards, request definitions and information about scheduling reports Contains information regarding permissions and accessibility of the dashboards by groups and users Is created when the Oracle BI Presentation Server starts Is administered using Oracle BI Catalog Manager

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

Oracle BI Delivers Client application that: 1. Is used to create iBots 2. Deliver alerts to subscribed users 3. Is integrated with Dashboards and Answers Job identifies what information to filter, when it should run, and who to send alerts to

Oracle BI Presentation Services Administration Is used to access administrative functions of Oracle BI presentation services and view information about the currently installed system

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

Oracle BI Server : Provides efficient processing to intelligently access the physical data sources and structures the information 1. Uses metadata to direct processing 2. Generates dynamic SQL to query data in the data sources 3. Connects natively or via ODBC to the RDBMS 4. Structures results to satisfy requests Provides the data to the Oracle BI Presentation Server

Several important components are used by the Oracle BI Server: 1. Repository file (.rpd) 2. Cache 3. NQSConfig.ini 4. DBFeatures.ini 5. Log files 1.Repository file (.rpd) 1. Contains metadata that represents the analytical model 2. Is created using the Oracle BI Administration Tool 3. Is divided into three layers: 1. Physical layer - represents the data sources 2. Business and Mapping layer - models the data sources into facts and dimensions 3.Presentation layer - specifies the users view of the model; rendered in Oracle BI Answers

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

2.CACHE : Contains results of queries Is used to eliminate redundant queries to database: 1. Speeds up request processing

3 . NQSConfig.INI : Is a configuration file used by the Oracle BI Server at startup Specifies values that control processing, such as: 1. Defining the repository (.rpd) to load 2. Enabling or disabling caching of results 4. DBFeatures.INI Is a configuration file used by the Oracle BI Server Specifies values that control SQL generation: 1. Defines the features supported by each database 5.Log Files NQServer.log records Oracle BI Server messages NQQuery.log records information about query requests Oracle BI Scheduler :
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 8

Manages and executes jobs requesting data analytics Schedules reports to be delivered to users at specified times In windows, the scheduler runs as a service

Data Sources : Contain the business data users want to analyze Are accessed by the Oracle BI Server Can be in any format, such as: 1. Relational databases 2. Online Analytical Processing (OLAP) databases 3. Flat files 4. Spreadsheets

Oracle Business Analytics Warehouse Is a predefined data source to support the analytical requirements of Oracle Business Intelligence Applications: 1. Relevant data structures support Oracle BI Applications Is in a star schema format
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 9

Is included with Oracle BI Applications (not available with standalone OBIEE purchases)

Data Warehouse Administration Console Data Warehouse Application Console (DAC) Client: 1. Used to schedule, monitor, configure, and customize OBAW extraction, transformation, and load 2. Accesses metadata about ETL mappings and dependencies in the DAC repository DAC Server: 1. Organizes ETL requests for processing Third party Informatica Server populates the OBAW from the transactional Database (PeopleSoft database): 1. Uses extract, transform, and load (ETL) routines

Sample Request Processing User views a Dashboard or submits an Answers request The Oracle BI Presentation Server makes a request to the Oracle BI Server to retrieve the requested data The Oracle BI Server, using the repository file, optimizes functions to request the data from the data sources
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 10

The Oracle BI Server receives the data from the data sources and processes as necessary The Oracle BI Server passes the data to the Oracle BI Presentation Server The Oracle BI Presentation Server formats the data and sends it to the client

REAL TIME Implementation : Oracle BI components are often implemented across several computers on the network Example:

Clustering Oracle BI Servers Cluster Server Feature: 1. Allows up to 16 Oracle BI Servers in a network domain to act as a single server 2. Servers in cluster share requests from multiple Oracle BI clients, including Oracle BI Answers and Oracle BI Delivers Cluster Controller is primary component of the Cluster Server feature: 1. Monitors status of resources in a cluster and performs session assignment as resources change 2. Supports detection of server failures and failover for ODBC clients of failed servers

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

11

4. OBIEE Repository Basics


Stores the metadata used by the OBIEE Server in a file format with .RPD as an extension Is accessed and exposed using the Administration Tool Is created by the server architect who: Imports - metadata from databases and other data sources Simplifies and reorganizes the metadata into business models Structures the business model for presentation to users for requesting information Exposes the Oracle BI repository in three separate panes, called layers 1. Physical layer 2. Business Model and Mapping layer 3. Presentation layer

4.1 Building Physical Layer of a Repository


Objective: After completing this chapter you will be able to: Identify the objects in the Physical layer of the repository Define a System Data Source Name (DSN) for a data source Build the Physical layer Why you need to know: Enables you to perform the first step of creating a repository, building the Physical layer Provides the access to the data sources against which users will generate reports

Phsical layer Is the metadata that describes the source of the analytical data Defines what the data is, how the data relates, and how to access the data Is used by the OBIEE Server to generate SQL to access the business data to provide answers to business questions Connection Pool Specifies the ODBC or native data source name Defines how the OBIEE Server connects to the data source Allows multiple users to share a pool of database connections May create multiple connection pools to improve performance for a group of users

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

12

Table Types Tables within the physical schema could be a Physical table table existing in the database Alias table an alias of the physical table imported to the physical layer Select Statement forms the Opaque view in the physical layer of the repository Stored Procedure Physical table

Alias table

Select Statement

Foreign Key Joins Represent the Primary Key Foreign Key relationship between the tables in the Physical layer Used to formulate the join when building the SQL

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

13

Complex Joins Complex joins are used to express relationships that do not involve a Primary Key Foreign Key relationship

Import Data Source Schemas (Continued) Select the tables and columns required to support the business model Limit to tables and columns required to support the users' analytical requirements

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

14

Building Physical Layer - Best Practices Import only those tables that are likely to be used in the business models Avoid importing joins from the database as it can lead to circular joins while defining custom join conditions in the physical layer Import the database views, synonyms and system tables only when required Importing unnecessary database objects adds unnecessary complexity and increases the size of the repository After importing the tables from the database, define/re-define the primary keys for every table. Use complex joins to join the physical tables on non-primary keys or to specify an expression. Expected questions on physica layer 1Q: What is physical layer? Ans: Represents the physical structure of the data sources to which the Oracle BI Server submits queries. This layer is displayed in the right pane of the Administration Tool. 2Q:What is isolation level property in connection pool? Ans: isolation level on each connection to the back-end database. The isolation level setting controls the default transaction locking behavior for all statements issued by a connection. Only one of the options can be set at a time. It remains set for that connection until it is explicitly changed. 3Q:How many maximum number of connections can be defined in a connection pool? Ans: The maximum number of connections allowed for this connection pool. The default is 10. This value should be determined by the database make and model and the configuration of the hardware box on which the database runs as well as the number of concurrent users who require access. 4Q:What is parameters supported option in connection Pool? Ans: If the database features table supports parameters and the connection pool check box property for parameter support is unchecked, special code executes that allows the Oracle BI Server to push filters (or calculations) with parameters to the database. The Oracle BI Server does this by simulating parameter support within the gateway/adapter layer by sending extra SQLPrepare calls to the database 5Q:What is shared logon option in connection Pool? Ans: Select the Shared logon check box if you want all users whose queries use the connection pool to access the underlying database using the same user name and password. If this option is selected, then all connections to the database that use the connection pool will use the user name and password specified in the connection pool, even if the user has specified a database user name and password in the DSN (or in user configuration). If this option is not selected, connections through the connection pool use the database user ID and password specified in the DSN or in the user profile 6Q:How do I create an alias to a table in physical layer? Ans: Right Click the original table. Choose New Object and choose Alias. The mistake most people make is try to bring in the same table again and rename it or choose Duplicate by right clicking the original table. 7Q:What is the use of Alias table? Ans:An existing table can be used more than once by using alias table. 8Q:How to deploy an opaque view? Ans: We can deploy an opaque view in the physical database using the Deploy View(s) utility.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

15

4.2 Building Business Model and Mapping Layer


BMM Layer: Objective After completing this module you will be able to: Identify the objects in the Business Model and Mapping (BMM) layer of a repository Build the business model Create simple measures Why you need to know Enables you to perform the second step of creating a repository, building the Business Model and Mapping layer Business Model and Mapping(BMM) Layer Is the metadata that organizes physical sources into a dimensional business model Is the basis of the users view of the data Is used by the Oracle BI Server to determine the data necessary to satisfy the users request Is created using the Administration Tool Is the second layer built in the repository

BMM Layer Objects BMM Layer objects include Business models Logical tables Data source mappings Logical columns Logical primary keys Logical table schemas Measures Business Models Define subject areas Are the highest level objects in the BMM layer

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

16

Logical Tables Define data source mappings Allow multiple physical data sources in one logical table Have one or more logical columns

Data Source Mapping Define the logical-to-physical table mappings Reduce complexity of the data model, allowing multiple physical data sources in one logical table

Logical Columns Represent the business view of the data A single logical column might map to many physical columns

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

17

Logical Table Schemas Define logical table joins Required for a valid business model.

Measures Are calculations defining measurable quantities Are created in the logical fact tables Aggregation rules such Sum, Avg, Count can be set on the measure columns Create a Logical Business Model Right-click inside the Business Model layer and select New Business Model.

Modify Logical Columns Open the Logical column properties box to modify its properties Consider renaming columns to make it meaningful to users

Rename Wizard Rename Wizard can be used to rename the logical columns

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

18

Create Logical Joins Open the Business Model Diagram to define the relationship between the logical tables Right-click the logical table and select Business Model Diagram Only complex joins should be used in the BMM layer as it gives the Oracle BI Server flexibility to select the most economical join path between the logical tables . Expected Questions on Bmm layer 1Q.Define what is BMM layer and steps involved for creation? Ans: The Business Model and Mapping layer of the Administration Tool defines the business,or logical, model of the data and specifies the mappings between the business model and the Physical layer schemas. Steps: Create a Business Model Create Logical Tables Create Logical Columns Create Logical Joins Rename Business Model Objects Delete Unnecessary Business Model Objects Build Dimension Hierarchies. 2Q. Did you create any new logical column in BMM layer, how? Ans: Yes. We can create new logical column in BMM layer. Example: Right click on fact table -new lgical column-give name for new logical column like Total cost.Now in fact table source,we have one option column mapping, in that we can do all calculation for that new column. 3Q. Can you use physical join in BMM layer? Ans: yes we can use physical join in BMM layer.when there is SCD type 2 we need complex join in BMM layer. 4Q.Can you use outer join in BMM layer? Ans:yes we can.When we are doing complex join in BMM layer ,there we have options left,right,full outer joins 5Q. What is a logical table Source ? Ans: Logical table sources define the mappings from a single logical table to one or more physical tables. A logical table contains one or more logical table source. The mapping between physical columns and logical columns are done in this element The definition of the logical table source is used: to specify transformations/calculations (in the column mapping tab), to enable aggregate navigation and fragmentation (in the content tab) The Content tab of the Logical Table Source is used to define : any aggregate table content definitions (specify the grain of the physical tables), fragmented table definitions for the source, and WHERE clauses (if you want to limit the number of rows returned). 6Q. how to set aggregation rule for a measure column? Ans: To specify a default aggregation rule for a measure column 1. In the Business Model and Mapping layer, double-click a logical column. 2. In the Logical Column dialog box, click the Aggregation tab. 3. In the Aggregation tab, select one of the aggregate functions from the Default Aggregation Rule drop-down list. The function you select is always applied when an end user or an application requests the column in a query. 4. Click OK. 7Q. Can a business model have logical table source from different physical data sources? Ans: Yes. If different types of physical database sources are used then the Obiee server has to perform mergefunctionality using the data sets retrieved from disparate DBs.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

19

4.3 Building Presentation Layer of a Repository


Building Presentation Layer: Objectives Objective: After completing this chapter you will be able to: Identify the objects of the Presentation layer of a repository Modify the properties of the Presentation layer objects Build the Presentation layer of a repository Why you need to know: Enables you to perform the third step of creating a repository: building the Presentation layer of the repository Provides the actual presentation of a business model to users

Presentation Layer Is the metadata that describes the users view of the business model Simplifies the model and makes it easy for users to understand and query Exposes only the data meaningful to the users Organizes the data in a way that aligns with the way users think about the data Renames data as necessary for the set of users Is created using the Oracle BI Administration Tool Is the third layer built in the repository Presentation Catalogs Organize and simplify the business model for a set of users Refer to a single business model; cannot span business models Multiple presentation catalogs can refer to the same business model

Presentation Tables and Columns Define the interface the user uses to query the data from the data sources Appear as folders and columns in Oracle BI Answers Refer to a subset of the logical tables and logical columns in the business model layer Use terminologies that are meaningful to the users

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

20

Create a new Presentation Catalog Drag and drop a business model from the Business Model layer to the Presentation layer Select Edit > Duplicate to copy an existing catalog

Corresponding presentation layer objects are automatically created for business model layer objects

Customize the Presentation Catalog Organize and modify the presentation objects so that they make sense to the users Reorder tables and columns Rename tables and columns Remove columns like primary keys that serve no business need Use nested folder structure to organize the presentation tables Reorder Tables Open the presentation catalog properties box and use the Up and Down buttons or drag and drop to reorder the tables

Reorder Columns In the presentation table properties box, use the columns tab and use the Up and Down buttons or drag and drop to reorder columns

Rename Tables In the presentation table properties box, use the general tab to rename tables

Reorder Columns In the presentation table properties box, use the columns tab and use the Up and Down buttons or drag and drop to reorder columns Use the General tab to rename columns in the Presentation Column properties box An alias is created automatically when the name of a presentation column is changed Remove Unwanted Columns Right-click and select delete to remove unwanted columns Remove keys that are used only for processing, unless they have an intrinsic meaning, such as date

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

21

Presentation

Layer - Best Practices Use meaningful names in the presentation layer of the repository Names can not contain single quotes. Admin tool prevents it Use of double quotes is permitted, but should be avoided Keep presentation object names unique Naming presentation columns same as the presentation tables can lead to inaccurate results Group fields into folders and sub folders Separate numeric and non numeric quantities into separate folder sets Remove any unwanted columns for ease of use and understandability Key columns that have no business meaning Expected Questions on Presentation Layer 1Q: What is presentation Layer? The Presentation layer provides a way to present customized views of a business model to users. Presentation Catalogs in the Presentation layer (called Subject Area in Oracle Answers) are seen as business models by Oracle BI Presentation Services users.

2Q: How to create presentation catalog? There are several ways to create a Presentation Catalog in the Presentation layer. The recommended method is to drag and drop a business model from the Business Model and Mapping layer to the Presentation layer, and then modify the Presentation layer based on what you want users to see.

3Q:Define steps to create presentation table? Ans: To create a presentation table 1. Right-click a catalog folder in the Presentation layer, and then select New Presentation Table from the shortcut menu. The Presentation Table dialog box appears. 2. In the General tab, specify a name for the table. 3. Click the Permissions button to open the Permissions dialog box, where you can assign user or group permissions to the table. 4. (Optional) Type a description of the table. 4Q: How to reoreder a presentation column? Ans: To reorder a presentation column 1. Right-click a presentation table in the Presentation layer, and then select Properties. 2. Click the Columns tab. 3. Select the column you want to reorder. 4. Use drag-and-drop to reposition the column, or click the Up and Down buttons. 5. Click OK. 5Q:What is the use of alias tab option of Presentation layer dialog box? An Alias tab appears on the Presentation Catalog, Presentation Table, and Presentation Column dialog boxes. You can use this tab to specify or delete an alias for the Presentation layer objects. 6Q:Can a Presentation Catalog have tables from different Business Model? No. It is not possible. 7Q: List few reasons to have Presentation Layer? Enables to group the dimensions and facts based on the organizational requirement. Example:Departmental/Cross Departmental Subject Areas. To implement Object Level Security.To remove columns that serves the ONLY purpose of key in the Logical Model.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

22

5. Testing and Validating a Repository


Objective: After completing this chapter you will be able to: Describe techniques for testing a repository Execute steps to validate a repository Why you need to know: Testing and validating the repository file before making it available to users helps ensure implementation success Validating the Repository Verifies that the business models yield correct results Validation techniques include: Checking repository for consistency Turning on logging Checking business model via Oracle BI ODBC Client Using Oracle BI Answers Checking results by inspecting SQL Check Repository for Consistency A feature in the Oracle BI Administration Tool that checks the metadata for certain kinds of errors, which include: Finding logical columns that are not mapped to physical sources Checking for undefined logical join conditions Determining if physical tables referenced in a business model are not joined to tables referenced in the business model Does not guarantee that the business model is constructed correct. Turn on Logging Test proper repository configuration by logging query activity Use logging for testing, debugging, and technical support Query activity gets logged in NQQuery.log file Logging should be enabled for individual users Set logging level for each user whose queries you want logged Query logging is disabled by default Can quickly produce very large log files Level 1 Logs User name, session ID and request ID for each query Level 2 Logs All Items as in Level 1

SQL for the request using business model names

Repository name, business model name and presentation catalog name SQL for the request using physical data source syntax

Query Status ( Success, failure, termination or timeout)

Elapsed times for query compilation, execution, query cache and back-end database processing

Queries issued against the cache

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

23

Number of rows returned from the physical database

Number of rows returned to the client

Check Consistency Any errors are displayed in a dialog box Correct the errors and check for consistency again Repeat the process until there are no more errors

Define Repository in Config file Open \OracleBI\server\Config\NQSConfig.ini In the repository section, add an entry for your repository file Format: logical_name = repository_file_name

Start Oracle BI Server Use Windows service manager (when BI servers are installed in Windows machine) or run commands at the terminal window (when BI Servers are installed in UNIX) to start the server and load the repository file into memory Upon Oracle BI Server startup, repository file defined in NQSConfig.ini becomes available for querying Examine the Query Log File

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

24

Check SQL generated by Oracle BI Server to verify that server is querying correct table(s) and column(s) Open \OracleBI\server\Log\NQQuery.log Verify that joins and data elements work as expected

Testing and Validating Repository: Summary Repository should be tested and validated for correctness before deploying the application. Check repository consistency to ensure that there are no errors in the mappings and joins between the tables. Turn on logging levels for the users to check the queries generated by the Oracle BI Server. Data should be validated by executing queries in Oracle BI ODBC client and Oracle BI Answers and checking the query log Expected questions on Testing and validating Repository 1Q:Define steps for Testing and validating repository? Ans: To test and validate a repository, you perform the following steps: a)Run a Consistency Check b)Enable Query Logging c)Modify NQSConfig.ini d)Start Oracle BI Services e)Use Oracle BI Answers to Execute Queries f)Use Query Log to Verify Queries. 2Q: What is the need to save, even after the changes are checked in when a repository is loaded in Online Mode? Ans:During the Check-In, the changes made in the repository are saved into Memory, but NOT yet saved into the physical RPD file and hence save should be performed. 3Q: What are the operational modes supported by ObI Administration Tool? OnLine. - Repository is loaded into memory by BI Server. OffLine. - Repository is NOT loaded into memory by BI sever. 4Q. When a repository is opened in the ON-Line mode the BI Administration Tool lists a dialog box that lists all DSN source. What is the significance of Load all objects check box? Ans:If this check box is checked then BI loads each and every object that are loaded into the memory, otherwise only higher-level objects are populated, other objects are populated on demand (when the higher level objects are

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

25

expanded). It is advisable to keep this check box unchecked when a huge repository is opened using on-line mode.

6. Adding Multiple Sources to Dimension


Model multiple sources for the logical table Add Physical table source to a logical table 1. Add physical tables to an existing logical table source 2. When data is not duplicated across tables Add Logical table source to a logical table 1. Add a second logical table source that maps to the physical table that is the most economical source 2. When data is duplicated across tables

Adding Physical Table Source To add a physical table source to a logical table Import physical sources and create joins Determine the physical columns Drag columns onto existing source Automatically adds the physical table sources, joins, and column mappings Rename the columns Add columns to presentation catalog Determine the Physical Columns Locate the tables and columns in the physical layer with the additional information

Drag Columns to Existing Source Drag each physical column onto the existing logical table source of the Customers dimension

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

26

Creates the mapping, joins, and new columns in the Customers dimension automatically

Drag Columns to Existing Source (Continued) Maps the new logical columns to the physical tables automatically

Adding Multiple Sources: Summary Multiple sources must be added to a logical table when data is spread across different physical tables and need to be combined into a single logical table When data is not duplicated across different physical tables, map the physical tables to an existing logical table source When data is duplicated across different physical table, add a second logical table that maps to the physical table that is the most economical source When a logical table has more than one source, specify the content for all sources, even for lowest level of aggregation

Expeted Questions on Adding Multiple sources 1Q: What is the difference between Single Logical Table Source and Multiple Logical Table Sources? Ans: If a logical table in BMM layer has only one Table as the source table then it is Single LTS.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

27

If the logical table in BMM layer has more than one table as the sources to it then it is called Multiple LTS. Ex: Usually Fact table has Multiple LTS, for which sources will be coming from different Physical tables. Can you let me know how many aggregate tables you have in your project? On what basis have you created them? As per resume justification document 2Q: Can we have multiple data sources in Siebel Analytics? Ans:Yes

Note : Please do Lab copy Hands on to understand this chapter .due to more volume we are not providing entire information as hard copy .

7. Adding Calculations to a Fact Table


Adding Calculations to Fact: Objectives Objective: After completing this chapter you will be able to: Describe a calculation measure and its use in a business model Implement new calculation measures Create new calculation measures based on existing logical columns Create new calculation measures based on physical columns Create new calculation measures using the Calculation Wizard Why you need to know: Calculations allow data to be processed to derive other measurements that are valuable for analysis

Create a New Logical column Right-click the fact table and select New Object > Logical Column. Specify Logical Columns as Source Select the Use existing logical columns as the source check box

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

28

Build a Formula Open the Expression Builder and build the formula Aggregation is applied based on the column aggregation in the formula

Create a New Logical Column Right-click the fact table and select New Object > Logical Column Specify the aggregation rule

Map the New Column Open the properties box of the logical table source

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

29

Click the ellipsis button to map the column using the Expression Builder

Build the Formula Select the physical columns to construct the formula Building a formula using the physical columns also maps the columns

When Physical columns are in different physical tables, map the logical table source to the required physical tables Open the Calculation Wizard Right-click a logical column you want to use in the calculation and select Calculation Wizard

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

30

Follow Prompts: Select Calculations Select the calculations to be generated by the wizard

Adding Calculations to Fact : Summary Calculation measures can be created by 3 methods Using existing logical columns Using physical columns Using calculation wizard When logical columns are used in the calculation formula, aggregation rule is applied before the calculation When physical columns are used in the calculation formula, aggregation rule is applied after the calculation.

Expected Questions on Adding calculations 1Q: What is calculated measures? Ans: Calculated measure is a measure that is derived from another logical or physical measure. Calculated measure can be created:

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

31

a. Using Physical Columns, This avoids subquery. b. Using Logical Columns. This requires subquery. But the usage is inevitable when the calculated measure has to be created from an aggregated measure. Example: Cuts => (Units Ordered Units Shipped. 2Q: What are the Time Series Calculations available? Ans Change. Percent Change Index Percent 3Q:How to create a new logical column? Ans: Right-click the fact table and select New Object > Logical Column Specify the aggregation rule. 4Q: What is the usage of Time Series wizard? Ans:It creates measures that are used in historical period comparison analysis reports. Examples: Year Ago Revenue Change Year Ago Revenue Percentage Change YearAgo Revenue (Adds Alias for respective Fact and Aggregation Tables). 5Q:. Explain Time Series Wizards functionality Step by Step? 1. Invoke the time series wizard by right clicking over the BMM. 2. All physical dimension tables are listed. 3. Select required period table 4. Select the period key that will be used for comparison (YearAgo or Quarter ago or Month ago or Week Ago) 5. Then sales measures and calculations are listed. Choose desired measures and type of calculation to be performed on the selected measures. 6. Complete the wizard. 7. Time comparison measures will be added into respective fact/aggregate table and alias of the respective fact/aggregate fact table(s). will be added into the physical layer and included as logical table source of the original fact

Did you practiced RR I-TEC lab copy hands on ,if no please do that .That is more important then reading these

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

32

8. Creating Dimensional Hierarchies and Level Based Measures


Objective: After completing this chapter you will be able to: Create a dimensional hierarchy Use level-based measures Create share and rank measures Why you need to know: Dimensional hierarchies introduce formal hierarchies into a business model, allowing the Oracle BI Server to calculate useful measures and allowing users to drill down to more details Dimensional Hierarchy

Defines parent-child relationships within a dimension Establishes levels for data groupings and calculations Provides path for drilldown

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

33

Level-Based Measures Calculations of facts for levels in the dimensional hierarchy based on the users request Create a Dimension Object Select Dimension to create a new dimension object Dimension is distinguished by the multi-arrow icon

Add Parent Level Object Create the highest level of the hierarchygrand totalfirst Add Child Level Objects Add subsequent levels in the hierarchy from top down Number of elements represents the distinct count for the level.

Specify Level Columns Drag logical columns from logical table for the dimension data to associate them with a level

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

34

Columns not dragged are assumed to be at the lowest level.

Create Level Keys Define the unique identifier for the level Provides context for drilldown (specifies the subset of data to include from the next level down)

Create a Total Measure Create an explicit total measure for the grand total level that refers to an existing fact column Create a Share Measure Create a new logical fact column that calculates the share by dividing the appropriate measure by a total measure Dimensional Hierarchies Best Practices Every logical dimension table should have a dimensional hierarchy associated with it All levels except the grand total level should have at least one column associated with it The number of logical levels in a dimensional hierarchy should not exceed 16 Number of elements for a grand total level is always one & it does not have a level key The dimension table primary key should be associated with the lowest level of the hierarchy and has to be the level key for that level Expected Questions on Dimensional Hirearchy 1Q:What is dimensional hierarchy? Ans:Facilitates to define parent child relationship within dimensional data. Dimensional hierarchy is pre-requisite to support drill-down reports. Also used to create Level based measures. Enables Aggregate navigation. Example: Market Total Market Global Region (North/South America, Asia, Asia Pacific, Middle East etc.) Country National Region State City 2Q:What is the maximum level of hierarchy supported by Siebel Analytics? Ans:10. If repository is created with more than 10 levels of hierarchy BI server raises exception. 3Q: What is the significance of Number of elements at this level in the Logical Level dialog box?

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

35

Ans:It signifies how many rows exist for the respective dimensional attribute in the database. This is an approximate value, but helps the repository to determine the best execution method. This is a noticeable performance factor. 4Q: What is level based measures? Ans:A level based measure is a column whose values are always calculated against specific level of aggregation. Examples: Revenue By Region. Assigned to Region Level of Market dimension. Revenue By Product Type. Assigned to Product Type Level of Product dimension. 5Q: What is the role of Level keys in Hierarchy? Ans: Each logical level (except the topmost level defined as a Grand Total level) needs to have one or more attributes that compose a level key. The level key defines the unique elements in each logical level. The dimension table logical key has to be associated with the lowest level of a dimension and has to be the level key for that level .

9. Using Aggregate Tables


Objective: After completing this chapter you will be able to: Describe aggregate tables Model aggregate tables to speed processing Why you need to know: Understanding these techniques will help you improve the performance of the OBIEE application

Modeling Aggregates Model aggregate tables similar to other multisource data Physical layer Create the ODBC data source (if necessary) Import physical sources Create physical joins Business model layer Add sources to logical tables Specify aggregation content - Identifies the type of data contained in the aggregate table so that the Oracle BI Server can determine when to use it for queries Test the results Note: No Presentation layer changes are required as the aggregate tables contain the same data as the detail tables that are already exposed. Physical Layer for Aggregate Import the physical tables and create keys

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

36

Physical Layer for Aggregate (Continued)

Business Model Layer for Aggregate Create new logical table source(s) that refer to the aggregate table(s)

Use the content tab to specify what level of data within each hierarchy the aggregate table source contains If dimensional hierarchies are not defined, use the content tab to specify how the data is grouped within the aggregate table source

Using Aggregates : Summary

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

37

Aggregate tables containing pre-computed measures for groupings of data are created in the database Aggregate tables are used to eliminate run-time calculations and deliver faster results to the user Look at query patterns and build aggregate tables to speed up common queries that require summarized results While designing aggregate tables, ensure that the detail to aggregate data ratio is at least 50:1

Expected Questions on aggregate tables 1Q: What is aggregate navigation? Aggregate navigation is a technique used by repository to speed up requests by using the aggregate fact table instead of fact table based on the dimensional level attribute used in the request. Creating logical fact table that contains both the fact and aggregated fact table as logical table source and assigning aggregate level for each LTS based on a dimensional hierarchy implements aggregate navigation. Examples: W_Sales_Revenue_Fact W_Sales_Revnue_MPP_AGT (Aggregated by Market Key, Period Key and Product Key) For Yearly/Quarterly/Monthly/Weekly measures it uses aggregate fact table and onlya for detail level uses the fact table 2Q:what is the use of aggregate tables? Ans: Aggregate tables store precomputed results that are aggregated measures (typically summed) over a set of dimensional attributes. Using aggregate tables is a typical technique used to improve query response times in decision support systems.

10. Using Partitions and Fragments


Objective: After completing this chapter you will be able to: Identify reasons for segmenting data Describe techniques to model partitions Implement a value-based partition Why you need to know: Understanding how to model partitions can improve application performance and usability Partition Fact-Based Is a subset of data, a data fragment, that contains part of a fact or a dimension data Combines as necessary with other data fragments May be: Fact-based Value-based Level-based Mixed Complex Tables have different columns and store different information Some column data may be duplicated between them Example: Main product data versus ancillary product data

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

38

Value-Based Tables have same columns and grain, but different values Example: Invoice data is stored separately for each region

Level-Based

Tables have different grain and often have different columns Aggregate table is an example of a level-based partition Example: Detailed sales data is summarized and stored by year and region

Mixed Complex Other complex techniques may be required based on the data sources Conditional application of partitions Data for the past year is in monthly form only and not yearly, while all other former years are in both Data for the West region is broken out, but all other regions are together Data duplications or omissions Data for the West region is stored in the main partition as well as in a separate partition Data for the Central region is missing for 1997 Data is partitioned using more than one technique Example: Invoice sales data is partitioned by value and level

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

39

Specify Fragmentation Content Use the expression builder to define what type of content the fragment contains Set the flag to specify whether to combine this fragment with other data source Using Partitions and Fragments : Summary A partition is a data fragment that contains part of a fact or a dimension data A partition could be Fact-bassed Value-based Level-based Mixed Complex Partitions are modeled the same way as other data sources Fragmentation content should be specified in the logical table source properties so that the Oracle BI Server knows which data sources to access under different conditions. Expected Questions on partition and fragmentation 1Q:what is a partition? Ans: A partition is a data fragment that contains part of a fact or a dimension data. 2Q: 3Q: list the different types of partitions? Ans: a)Fact-based b)Value-based c)Level-based d)Mixed e)Complex 3Q: When do you use fragmentation content? Is a way to model multiple sources of data that specifies what data is located where, so the BI server will automatically use the best source to satisfy the query. Example: Customer Table that is partitioned in the database level by the first alphabet of LastName 4Q:what is fact based partition? Ans: Tables have different columns and store different information Example: Main product data versus ancillary product data

11. Object Level Security


Objective: After completing this chapter you will be able to: Describe authentication methods for Oracle BI applications Configure object level security in the repository and the presentation catalog Grant appropriate privileges to users Why you need to know: Object level security should be set so that only intended users have appropriate privileges and permissions to access the presentation catalog objects Authentication Process by which an application verifies that a user has the right to log in and access data Verification is doing using the user name and password OBIEE supports many methods of authenticating users, which includes: Lightweight Directory Access Protocol (LDAP) Oracle BI Repository authentication Default method used for authentication Microsoft Active Directory (ADSI) External Database authentication Maintain authentication information in an external database instead of Oracle BI repository

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

40

Authorization

Authentication occurs when Oracle BI server queries the external database and locates a match to the user name and password submitted

Process by which an application verifies what a user or group is authorized to: View, referred to as permissions Defined for server and presentation catalog objects Perform, referred to as privileges Defined for presentation catalog objects only

Oracle BI Security Levels Authorization is enforced on two levels: Object-level security Data-level security Object Level Security Controls access to Oracle BI repository objects (metadata), such as subject areas, tables, and columns Configured in the Oracle BI Administration Tool Controls access to Oracle BI Presentation Catalog objects, such as dashboards, folders, filters, views, and reports Configured in Oracle BI Presentation Services

Security Manager Create a New Provides options for defining users and repository groups Groups allow membership to users and other groups Simplifies administration of large number of users Provides a set of security attributes User Use Security Manager, in the Administration Tool, to create a user in the repository

Create Repository Group Creating repository group is similar to creating users Define Permissions Set permissions from the Presentation Catalog/Table/Column properties dialog box User can only have either Read or No access to a repository object Example: Restrict Products table access to a user Create Presentation Catalog Groups Assign Users From Oracle BI Answers, select Settings >> Administration >> Manage Presentation Catalog Groups and users to create catalog groups

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

41

Select the catalog group, in the Manage Groups window, to assign users to a Web group Users are created only in the repository Define Permissions Permissions can be defined on Interactive Dashboards, Answers requests or Shared folders Click the Manage Interactive Dashboards (for dashboards) or Manage Presentation Catalog (for Requests, Shared folders and other objects) to define permissions Permission Types Read - Users can only read the catalog object, but cannot change its contents Change/Delete Users can read as well as change the catalog object Full Control Users have full access to the catalog object including privilege to assign access to this object for other users No Access Users have no access to the catalog object Traverse Folder Users can access objects in folders within the selected folder when the user does not have access to the selected folder Example: The user is granted Traverse Folder permission to the /shared/Sales folder The user cannot access objects in the /shared/Sales folder, but can access objects stored in lower-level folders, such as /shared/Sales/Sales-Product

Define Privileges Click the Manage Privileges link to assign privileges Locate the privileges you wish to assign to users or Web groups Add users to grant or deny the privileges Privileges can be: Granted to users and groups explicitly - This has precedence over privileges inherited through groups Granted or denied to users through memberships in groups A user who is a direct member of two or more groups, with conflicting privileges, is granted the least restrictive privileges of the groups Bypassing Oracle BI Security In the security section of the NQSConfig.INI file, you have an option to bypass security

Query Limits Multiple queries running simultaneously can hinder performance May consume too many resources Affect performance

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

42

Administrators can set a limit on the time taken by the system to execute a query If a query exceeds the limit it will terminate and free up resources Setting Query Limits Set query limits from Security Manager Limits can be set at either user or group level Set limit for a query based on number of rows or time Enable: Enforces restriction and cancels the query Disable: Disables the restriction and no limits will be inherited from the parent groups Warn: Logs message in NQServer.log and NQQuery.log if row limit is reached Ignore: Limits will be inherited from the parent groups If there is no row limit to inherit, does not enforce limit Disable Query Functionality Prohibits users from being able to query Allows other production tasks to be performed such as batch reporting and table updating, without hindering performance Object Level Security: OBIEE application users should be authenticated so that only qualified people have access rights to the application Object level security is implemented to control access to repository and presentation catalog objects Access to presentation catalogs, presentation tables and columns are controlled in the repository using the Security Manager Access to dashboards, request, shared folders and privileges are controlled in the Presentation Catalog security Users can have permissions to Read, Change/Delete, No access, Traverse folder or Full Access on the presentation catalog objects Expected Questions on Object level Secuirty 1Q: What is object level security? Ans:Object level security is granting or restricting access to a repository objects, Web Objects (Presentation Catalog/Tables, Connection Pools Shared Folder, Shared Dashboards,etc.) to the user/groups. 2Q: What is authentication? Ans:Authentication is the process that validates the credentials of the user who logs into the Administration. 3Q: What are the types of Authentication supported by Obiee? Ans LDAP (Lightweight Directory Access Protocol). Database Authentication. External Table Authentication. OS Authentication 4Q: How does the LDAP server works? Ans:Never got a chance to work using this type of authentication! 5Q: How does the Database Authentication works? Ans: 1. Modify the AUTHENTICATION_TYPE key of SECURITY section of NQSConfig.INI to DATABASE. Assign the database in the physical layer DATABASE key. 2. Create Users that matches the login id in the database. No need to maintain password in the repository. Even if it is maintained it is ignored. 3. Create Groups and assign to the users created. 4. Ensure that in the connection pool the shared log on option is unchecked. 5. Assign connection pool to the user or group. 6. When the users logs in thru Siebel Analytics, the BI Server attempts to login to the database server. If the login succeeds, then the user is connected with Siebel Analytics or else they are not.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

43

6Q: How does the External Table Authentication works? Ans: 1. Modify the AUTHENTICATION_TYPE key of SECURITY section of NQSConfig.INI to NQS. 2. Do not need to maintain users or groups in the Siebel Analytics Repository. 3. Design table(s) to hold User authentication details (such as Login-Id, Password, DisplayName, UserGroup, Web Groups etc.) 4. Create System Session variables for USER, DISPLAYNAME, GROUP, WEBGROUPS, LOGLEVELetc. 5. Create an initialization block that selects values from the respective database table(s) that maintains authentication details. Assign this Initialization Block to the respective system session variables 7Q: Describe OS Authentication. Ans:Modify the AUTHENTICATION_TYPE key of SECURITY section of NQSConfig.INI to BYPASS_NQS.OS Authentication enables the BI server to use trusted connection feature of the OS. This authentication is not supported when the user Logs-in using Siebel Analytics Web client.Only applicable for applications that connect to BI tserverhru ODBC

12. Data Level Security


Objectives After completing this chapter you will be able to: Implement data level security in the Oracle BI Repository Why you need to know: Data needs to be protected so that only authorized employees can access sensitive information Employees should automatically see the information that is relevant to their roles Data Level Security Defines what data an end user sees in a report It is critical that users only see the data they are authorized to view Allows Oracle BI Server to bring up different data for different users for the same report Example: A sales report displays different results for the VP of Sales versus the Regional Manager of Asia Region

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

44

Implementing Data Level Security Select the User or Group

Select the User or Group Open the security manager Select either users or groups for which data level filters should be applied Add New Filter Object Select the object to restrict query access. Enter a Logical Filter Create logical filters using the expression builder Repository and session variables can also be used to filter the data dynamically for the user Use the Query Privilege Status field to enable or disable the filters Status Enable Description The filter is applied to any filter that accesses the object

Disable

The filter is not used, and no other filters applied to the object at higher levels (for example, through a group) are used The filter is not used, but any other filter on the object is applied (for example, through a group)

Ignore

Validate the Security In Oracle BI Answers, validate the results to ensure that the data is filtered correctly for different users Data Level Security: Summary

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

45

Data level security defines what data an end user see in the report Data level security is implemented in the repository by adding data level filters for each user/group Variables can be used to filter the data dynamically for the users

Expected Questions on data level security 1Q: What is data level security? Ans:Data Level security is restricting data being retrieved by or listed to the user.This is implemented using an expression defined in the Filter tab of User/Groups permission dialog or in the Where condition in the content tab. Example: Sales Rep can see only what he/she sold. Sales Regional Mgr can see only see sales made by reps reported to him/her Country Mgr can see all the sales made by people reporting to him/her 2Q: If you want to limit the users by the certain region to access only certain data, what would you do? Ans:using data level security. OBIEE Administrator: go to Manage -> Security in left hand pane u will find the user, groups, LDAP server, Hierarchy What you can do is select the user and right click and go to properties, you will find two tabs named as users and logon, go to user tab and click at permission button in front of user name you have selected as soon as u click at permission you will get a new window with user group permission having three tabs named as general ,query limits and filter and you can specify your condition at filter tab, in which you can select presentation table ,presentation columns ,logical table and logical columns where you can apply the condition according to your requirement for the selected user or groups. 3Q: If there are 100 users accessing data, and you want to know the logging details of all the users, where can you find that? Ans: To set a user.s logging level 1. In the Administration Tool, select Manage > Security. The Security Manager dialog box appears. 2. Double-click the user.s user ID. The User dialog box appears. 3. Set the logging level by clicking the Up or Down arrows next to the Logging Level field

13. Variables
Objective: After completing this chapter you will be able to: Describe session variables Describe repository variables Describe initialization blocks Implement dynamic session variables Describe presentation variables Describe request variables Why you need to know: Variables allow you to incorporate flexibility into the business model Variables Contain value(s) in memory that are used by the Oracle BI Server during its processing Consists of 3 types Session variables Repository variables Presentation variables Session and Repository variables are defined using the Variable Manager in the Administration Tool These variables can be used in the repository and presentation catalog Presentation variables are defined and used in the presentation catalog

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

46

Session Variables Persist only while a users session is active Receive values when users establish their sessions Consists of two types System Non-System

System Session Variables Are predefined session variables that are used by the Oracle BI Server for specific purposes Have reserved names, which cannot be used for other kinds of variables Example: USER holds the value the user entered for logon name Non-System Session Variables Are application specific variables that are created by the implementation team Example: Capture the users region and limit the records the user sees to only those for that region

Repository Variables Persist from the time the Oracle BI Server is started until it is shut down Can be used instead of literals or constants in the expression builders in the Administration Tool Oracle BI Server will substitute the value of the repository variable for the variable itself in the metadata Consists of two types Static Dynamic Static Repository Variables Are repository variables whose values are constant and do not change while the Oracle BI Server is running Values are initialized in the Variable dialog box

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

47

Dynamic Repository Variables Are repository variables whose values change according to the refresh schedule Values are initialized and refreshed using an initialization block

Initialization

Block Are used to initialize session variables and dynamic repository variables Specify SQL to be run to populate one or more variables by accessing data sources Repository Initialization blocks are invoked at Oracle BI Server startup and periodically re-run to refresh values for dynamic variables according to an established schedule Session Initialization blocks are invoked when a user session is established

Using Variables Reference variables using the VALUEOF function Preface session variables with NQ_SESSION The session variables :USER and :PASSWORD are used to reference the user login and password Use them in initialization blocks to authenticate and authorize users to access the Oracle BI environment Row-wise Initialization Blocks Are used to create dynamic session variables and set their values when a session begins Supply values to the dynamic session variables from the initialization string Are used to retrieve and initialize a list of values

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

48

Presentation

Return a list separated by colon Used for implementing security when users normally belong to more than one group

Variables Presentation variables are declared in a dashboard prompt Using the Set Variable value The control of the prompt column should be either drop-down list or a edit box Presentation variables are initialized with the default values set for the prompt columns Presentation variables get their values when user selects a value from the drop-down list or when the user enters a value in the edit box Using Presentation Variables Presentation Variables are referenced using the syntax @{variablename}{<value>}[format] Variablename name of the presentation variable Value Default value to be used if the variable referenced by the variablename is not populated Format a format mask dependent on the data type of the variable Example - #, ##0, MM/DD/YY hh:mm:ss , and so on Presentation variables can be referenced in Title views Narrative views Column filters Column formula Conditional formatting conditions Request Variables The value entered by a user in a dashboard prompt can be set to a session variable User entered value will explicitly override the variable value set via initialization block Variables : Summary Variables contain values in memory that are used by the Oracle BI Server during its processing There are 3 types of variables Session, Repository and Presentation variables Session variable values are specific to a users session and is active only till the users session is active Repository variables are initialized when the server starts and is active until the server shut down Row-wise initialization blocks are used to create dynamic session variables that can hold a list of values Presentation variables are declared in a dashboard prompt and can be used to dynamically change the title view, narrative view, column filters, column formula and conditional formatting conditions Request variables are used to change the value of session variables based on user selection in a dashboard prompt Expected Questions on Variables 1Q: What is variable in terms of Obiee repository? Ans:Obiee uses the variable as they are in any programming language to store value in the memory. 2Q: What Types of Variable supported by Obiee and describe them in detail? Ans:Variable Type Details Repository Variables :Repository variables are created to use in the expressions that is part of meta data modeling. Scope of the repository variable is global. Session Variables: Scope of the Session variable is pertain to a users login session and available both in SAS Repository and Web Client application. 3Q: What Types of Session Variables are available?

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

49

Ans: System: System session variables are pre-declared one.Bi server does NOT allow to create a new system session variable. Only pre-declared session variables can be used. Initialization Block must be assigned to the system session variables. Value of the system session variables is not changed during a user session. Example:USER,GROUP,WEBGROUPS,LOGLEVEL. Non-System: Non-system session variables are created based on the need. It must be assigned to an Initialization Block. Value of Non System session variable remains same during a user session. Example:SV_POSITION_ID,SV_ORG_ID 4Q: What is Initialization Block? Ans:Initialization Block is a routine pre-defined in the repository to initialize/refresh dynamic repository variable and session variables. Examples: IB_SET_CURRENT_PERIOD (Refreshed for once a day) IB_GET_USER_ORG_DETAILS IB_GET_USER_DETAILS Initialization block can be scheduled to refresh dynamic repository variables. 5Q: What is the significance of Row-wise Initialization? Ans: This feature enables to initialize system session values from the database table (i.e both Variable name and its values are retrieved fromdatabase).Also this feature can be used to initialize a variable with list of values (i.e more than 1 value).These variables can be used in the setoperation of SQL. (Used in conjunction with IN clause of SQL). This feature is available only for session variable. 6Q: What is the syntax to use variables in the expressions? Ans:VALUEOF(<RepositoryVariable>). VALUEOF(NQ_SESSION.<SessionVariable>). 7Q: What is the impact when a dynamic repository variable is refreshed automatically? Ans:All Cache entries associated with that variable in a business model will be purged automatically.

14. Cache Management


Cache Management: Objectives Objective: After completing this chapter you will be able to: Identify options to perform cache seeding and purging Execute cache seeding and purging Why you need to know: Query performance can be greatly enhanced by using the cache Understanding cache seeding and purging is critical to maximizing cache performance and minimizing risks Business Challenge Leaving the Oracle BI Server cache off: 1. Significantly reduces query performance 2. Increases network traffic 3. Increases database processing 4. Increases BI Server processing overhead An improperly maintained cache may: 1. Contain stale data 2. Contain irrelevant or rarely used data 3. Contain data too specific to be useful in improving performance Additionally, caching requires: 1. High-speed, high reliability disk space 2. Cache administration

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

50

Business Solution Turn off cache for infrequently accessed tables: 1. Prevents cache space from being wasted Purge the cache periodically to remove stale or rarely used data: 1. Periodically purge the cache manually 2. Use cache persistence timing to periodically purge frequently updated tables 3. Use event polling tables to inform the system of changes to the databases 4. Purge the cache programmatically using ODBC functions Seed the cache with relevant data: 1. Run a set of prebuilt queries to populate the cache with frequently used data 2. Use Oracle BI Delivers to schedule a suite of reports that populate the cache Turn Off Caching Caching is turned on or off in the NQSConfig.ini file

Turn Off Caching By default, all tables have caching enabled with infinite persistence time: All data is cached, and nothing is purged until the cache runs out of space Improve cache performance by disabling caching for infrequently queried tables: Cache will fill more slowly Partially filled cache will not waste time checking against irrelevant metadata Reduce the amount of stale data by setting cache persistence time: For example, a sales table updated hourly should have a persistence time of 59 minutes Methods of Cache Purging Manual Purging Is performed using the cache manager in the Oracle BI Administration tool: Individual records represent individual queries Provides the maximum flexibility in cache management: Administrator decides which queries are least likely to be repeated Requires the greatest amount of human interaction

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

51

Automatic Purging Is performed using an event polling table: Updates to the underlying database tables are stored in a polling table BI Server periodically polls this table and invalidates any cache entries corresponding to the updated tables Requires setting up an event polling table and configuring the Oracle BI Server to support event polling

Setting up an Event Polling Table Create an event table in a database accessible to the Oracle BI Server: Schema for the table is provided in the Oracle Business Intelligence Server Administration Guide A single table in a single database may be used, even if multiple databases are accessed by the Oracle BI Server

Populating the Event Polling Table Configure each database to insert a row into the event table whenever a table in that database is updated: Use Database triggers if possible Alternatively, include SQL INSERT statements in extraction and load scripts

Configuring the BI Server for Event Polling Add the event table to the physical layer of the repository Set polling frequency for event tables under Tool >> Utilities: Every polling period, table is read, relevant cache entries are purged, and then referenced table rows are deleted

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

52

Multiple Event Polling Tables Multiple event polling tables can be set up: For example, an event table could be put in each database accessed by the Oracle BI Server Each event polling table may have a different polling period

Seeding the Cache Is performed by running the prebuilt queries or reports Should be done immediately after purging Ensures that seed data will be stored in the cache Run the queries: Manually in Oracle BI Answers Using Oracle BI Delivers to schedule queries or reports to run at a specified time Cache is automatically populated when queries run Cache Seeding Guidelines Use queries that require a great deal of database or server processing For example, queries with many joins or a great deal of sorting Use queries with no WHERE clauses that will populate many sub queries For example, a seed statement of SELECT User, SR from SERVICE_REQUESTS Will provide cache hits for all queries of the form SELECT User, SR from SERVICE_REQUESTS Where User = xxx Use most commonly used queries Caching a query with 23 joins that is called once a day is not as important as caching a query with no joins that is called 5000 times a day Use SELECT lists with no expressions Cache Management: Summary Oracle BI Server cache should be maintained to avoid: 1. Stale data 2. Irrelevant or rarely used data 3. Data too specific to be useful in improving performance Cache can be purged: 1. Manually by purging the cache entries in the cache manager 2. Automatically by setting up the event polling table 3. Programmatically using ODBC functions 4. Cache seeding is done to populate the cache with relevant data

Expected Questions on cache 1Q: What is Caching? List the merits of Caching.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

53

Ans:Caching is a Obiee feature that enables to cache the query results against the UserId for a business model. This feature is used to improve performance by caching query results of requests that are used repeatedly. Reduces workload on database. Reduces network traffic. 2Q: How to enable the cache feature ? Ans:The value of Enable key under the Cache section of NQSConfig.INI file should be set to Yes. Also the Make table cacheable check box of physical table should be checked. 3Q: What is cache hit? Ans:When a user executes a request and BMM Query matches with the query in the cache then the results are retrieved from the cache instead of database. This is called cache hit. 4Q: What are the criteria to meet cache hit? 1. 2. 3. 4. 5. 6. 7. Where clause of the Query is semantically same or logical subset Same columns or sub set of columns in the select list Expressions in the select list that uses the columns that are already cached. Equivalent Join condition If Distinct is used, then it should match with query that is cached. Compatible Aggregation Levels Order By Clause should match the columns in the select list.

5Q. What is stale caching? Ans:Even after the data change occurred in the database server, but the Bi server use the data from the cache to satisfy the request, this is called stale (out-dated) cache. 6Q. What is cache seeding? Ans:Results of requests can be created (seeded) in the cache periodically using the BI Delivers iBot feature. This way user will have access to current data even though data is retrieved from the cache. 7Q: What are the methods to purge the cache entries? Ans:Method Significance Manual Using the Bi Server Administration tool (Manage->Cache) cache entries can be purged. Automatic Using the Event Polling Table/Cache Persistence time. Programmatically Using ODBC Extension functionality 8Q. Explain step-by-step procedure involved in configuring Event Polling Table? Ans:1. Create the event-polling table in the physical database by using the SAEPT.<DB>.SQL file available in the Schema folder of Server path. 2. Import the Event polling table into the Physical Layer. 3. Run the Siebel Analytics Event Tables utility from AdminTool and select the table and set the polling frequency. 4. Ensure that the ETL process makes appropriate entries in the Event polling table upon successful load.

15. Multi-User Development Environment


Objective: After completing this chapter you will be able to: Identify the need for a multi-user development environment Implement the Oracle BI multi-user development environment (MUDE)

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

54

Describe multi-user environment functionality Why you need to know: Projects with multiple developers require a multi-user environment Setting Up MUDE 1) Creating Projects 2) Set up a shared network directory 3) Set up the multi user directory Business Challenge Oracle BI repositorys default configuration is for single users: 1. Only one user can edit the repository at any time 2. Causes inefficiency while other developers wait for access to the repository

Business Solution : Oracle BI MUDE Allows multiple users to work with the repository simultaneously: 1. Users edit local copies of the repository 2. Changes are saved locally and then merged to the master repository Additionally, the MUDE breaks the repository into manageable pieces known as projects: 1. Multiple users can work on the same or different projects 2. Single users can improve efficiency by working on smaller subsets of the repository 3. Projects are broken up by presentation layer catalogs

1) Create Projects Projects are subsets of the repository: 1. Projects must be self-contained and not refer to metadata outside the project Projects consist of presentation catalogs and their associated business model logical facts, dimensions, groups, users, variables and initialization blocks: Projects can overlap with other projects: 1. For example, one table in the physical layer may be referenced by multiple presentation catalogs Create projects of manageable size based on individual logical stars in the business model Create projects by selecting Manage >> Projects Add presentation catalogs or logical fact tables to the project: 1. Adding a presentation catalog includes all the fact tables and dependencies within the catalog 2. Adding a logical fact table includes a presentation catalog containing the table 3. In both cases, logical dimension tables joined to the logical fact tables are implicitly included

Edit Projects Remove unwanted fact tables from the project Add other metadata such as users, groups or variables to the project Add the Administrators group to each project

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

55

1. All developers must have Administrator privileges, this ensures complete access to all projects 2) Set Up a Shared Network Directory Directory contains master repository that all developers will access for checking in/checking out 1. Directory must be accessible to all developers and repository servers Copy base repository to shared network directory after creating projects 3) Set Up the Multi-User Directory In the Administration Tool, select Tools >> Options Locate the multi-user development directory Using the Oracle BI MUDE It contains below 3 steps 1) Check Out Projects 2) Change Metadata 3) Check-In Projects 1) Check Out Projects Using File >> Multi-User Checkout Select multi-user repository and project(s)

During checkout, the Administration Tool: Extracts a subset of the master repository to the local repository directory and logs the time of this extract to a local repository log Logs the time, projects, machine name, and user to the shared master repository log During checkout, the Administration Tool: Takes a backup of the project repository to enable comparing the local project with the original project

During checkout, the Administration tool does not lock the projects on the server Multiple users can work on the same projects at the same time Conflicts are resolved during the check-in process

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

56

Users are responsible for examining the shared directory log to determine which projects are currently checked out

2) Change Metadata Caveats: Hierarchy definitions should not be modified: if 2 users modify them concurrently, the changes will not be merged correctly Project definitions should not be modified locally Physical connection settings should not be modified, as the local machines may not have the same connections as the server Test changes by checking in projects or by modifying NQSConfig.ini to point to the local repository Edit Metadata as you would during single-user development

3) Check-In Projects Using File >> Multi-User >> Merge Local Changes Select Discard Local Changes to delete changes without saving Specify user name and comments to lock shared repository Only one user may merge changes at a time During Merge Local Changes, the Administration Tool Locks the master repository to prevent other developers from attempting to merge at the same time Copies the master repository to the local directory to ensure that the developer is merging with the most recent version During Merge Local Changes, the Administration Tool: Warns about added objects Added objects must be added to projects in the master repository to be available for multi-user development Merges the local project repository to the local master repository Uses the Merge Repositories window to show changes made by other developers while the project was checked out MUDE: Summary Projects are subsets of the repository consisting of presentation catalogs, logical fact tables, dimension tables, groups, users, variables and initialization blocks During check out, a subset of the master repository is extracted to the local machine and a copy of the local project repository is taken The project repository is edited locally While checking-in the repository changes, the master repository is locked on the shared directory, a copy of the master repository is taken and changes are merged locally When the repository is published to network, the master repository is copied to the shared directory for other users access Expected Questions on Multi User Development 1) How do you work in a multi user environment? What are the steps? Ans : Explain above steps in this chapter 2Q: Explain the Usage of Project. Ans:Project allows to group discretely defined subset of metadata. Associating respective Presentation catalogs and its business model objects,Users, Groups, Variables, Initialization block, creates project. The purpose of the project is to handle multi user repository development efficiently.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

57

16. Configuring the OBIEE Scheduler


Objective: After completing this chapter you will be able to: Configure the Oracle BI Scheduler Change the Scheduler table names Why you need to know: Allows you to schedule reports to be delivered to the Oracle BI users at specified times Allows you to change the default names of the tables used by the Oracle BI scheduler

Oracle BI Scheduler Is an application for scheduling reports to be delivered to the Oracle BI users at specified times Is the engine behind the iBots Oracle BI iBot is the engine that executes the requests and generates the report Manages and schedules the jobs in Oracle BI server

1) Create the Scheduler Tables Create the Scheduler tables in the back-end database: The scripts to create the scheduler tables exist in the install directory: Example: D:\OracleBI\server\Schema The scripts are available for all major commercial back-end databases: Example: Use SAJOBS.Oracle for a Oracle database

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

58

The scheduler schema includes the following four tables: Table Name S_NQ_JOB S_NQ_INSTANCE Description Stores information about the scheduled jobs Stores information about each job instance; there can be multiple instances of a single job; for example, there will be one record for each time the same job runs Stores error messages for the job instances that do not complete successfully Stores information about the parameters

S_NQ_ERR_MSG

S_NQ_JOB_PARAM

2) Configure the Scheduler from Job Manager Configure the Oracle BI repository using the Oracle BI Administration Tool: Specify the connection pool details to point to where scheduler tables are located

Changing the Scheduler Table Names There are some circumstances where the default scheduler table names need to be modified:

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

59

An environment containing more than one Oracle BI server, where each Oracle BI instance requires its own scheduler tables An environment in which the as-delivered scheduler table names conflict with corporate or project data naming standards Configure the scheduler table names that the scheduler uses with: Windows Add entries to the windows registry

Configuring the OBIEE Scheduler : Summary Oracle BI scheduler is an application for scheduling reports to be delivered to Oracle BI users at specified times Oracle BI scheduler is the engine behind the iBots Oracle BI Scheduler tables includes: S_NQ_JOB stores information about the scheduled jobs S_NQ_INSTANCE stores information about each job instance S_NQ_ERR_MSG stores error messages for the job instances that do not complete successfully S_NQ_JOB_PARAM stores information about the parameters It is recommended not to change the scheduler tables Expected Questions on Obiee scheduler 1) what is Oracle BI Scheduler Is an application for scheduling reports to be delivered to the Oracle BI users at specified times. 2Q:List the tables created during Schedular Configuration? Ans: 1) S_NQ_JOB 2) S_NQ_JOB_PARAM 3) S_NQ_INSTANCE 4)S_NQ_ERROR_MSG 3Q:Name the script and its location which is used to create Schedular tables? Ans: The scripts to create the scheduler tables exist in the install directory Example: D:\OracleBI\server\Schema The scripts are available for all major commercial back-end databases: Example: Use SAJOBS.Oracle for a Oracle database

17. Usage Tracking


Objective: After completing this chapter you will be able to: Identify the need to use usage tracking Enable usage tracking Why you need to know: Usage tracking enables administrators to monitor database activity and OBIEE system activity

Business Challenge During initial deployment, the Oracle database may not be optimized for the querying that actually occurs: 1. Queries may not match what was expected, so cache was not seeded with correct queries 2. Additional aggregate tables may need to be created Your company may need to track database usage on a user or department level: 1. Users may be charged for database use 2. Regulatory requirements may require usage tracking

Business Solution Use Oracle BI usage tracking to track queries and database usage:

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

60

1. 2. 3. 4.

Track query times, number of rows, cache hits, and so forth Store results in a database table or log file Analyze results using Oracle BI or another tool Use results for cache seeding, database optimization, or other purposes

Analyze Usage Tracking Data Watch for long-running queries(typically ad-hoc): 1. End user may need training 2. May need to assign query blocking/restrictions on how long queries can run, or on number of records returned 3. Database may require additional indexes Perform usage audits for: 1. Regulatory compliance 2. Security Determine whether a query should be used to seed the cache or be removed from the cacheseeding queries: 1. Number of times a query is run and length of time is the candidate for cache 2. Number of times a query hits the cache is the effective cache

Implementing Usage Tracking We have three steps 1) Identify storage 2) Modify NQSConfig.ini 3) Configure presentation catalog 1) Identify Storage Create table or identify a file For table: Default name is S_NQ_ACCT Use script provided in /OracleBI/server/Schema Database should support international characters to store multilingual queries

2) Modify NQSConfig.INI to use Database Set Enable flag to YES Other key parameters for storing to a database table: Set DIRECT_INSERT to YES Specify PHYSICAL_TABLE_NAME and CONNECTION_POOL Format for these strings depends on the database used Modify NQSConfig.INI to use File Set DIRECT_INSERT to NO to store usage tracking information in a file Key parameters for storage to a file: Set STORAGE_DIRECTORY to specify where to save the log files Set CHECKPOINT_INTERVAL_MINUTES to specify how often to flush the data to disk Set FILE_ROLLOVER_INTERVAL_MINUTES to specify how long to keep the current file open before starting a new file Set CODE_PAGE to specify the type of output code page for multilingual repositories

3) Configure Presentation Catalog Add usage tracking data source to the physical layer Create both dimension and fact logical tables representing the usage tracking data: Supports relationships between objects in usage tracking table Add the logical dimension table to the presentation layer

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

61

Query Usage Tracking Data Use Oracle BI Answers to examine usage

Usage Tracking: Summary Usage tracking is used to track queries and database usage Usage tracking data can be used for cache seeding, database optimization or other purposes Usage tracking data can be stored in a database table or in a file Usage tracking storage is specified in the NQSConfig.INI file Expected Questions on Usage Tracking 1Q: What is Usage Tracking? Ans:Usage tracking is feature in Siebel Analytics to capture the statistics over the usage of Siebel analytics Reports/Dashboards etc. These statistics can be used to analyze database optimization, aggregation strategies, etc. 2Q: How can the Usage Tracking feature be enabled? Ans:The Enable key value of Usage Tracking section in the NQSConfig.INI file should be set toYes. The usage tracking data can be capture in flat file or in database

18. Administration Tool Utilities


Objective: After completing this chapter you will be able to: Identify and describe the utilities and wizards available in the Oracle BI Administration Tool Why you need to know: The Administration Tool provides a number of wizards and utilities to aid you in performing various tasks Administration Tool Utilities

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

62

Utilities and wizards available in the Oracle BI Administration Tool include: 1. Replace Column or Table wizard 2. Oracle BI Event Tables 3. Externalize Strings 4. Rename Wizard 5. Update Physical Layer Wizard 6. Repository Documentation 7. Generate Metadata Dictionary 8. Remove Unused Physical Objects 9. Aggregate Persistence Wizard 10. Calculation Wizard

1) Replace Column or Table Wizard Automates the process of replacing physical columns or tables in logical table sources Wizard prompts the Oracle BI Administrator to replace columns as well as tables

2) Oracle BI Event Tables Allows developers to identify a table as an Oracle BI event polling table An event polling table is used to notify the Oracle BI Server that one or more physical tables have been updated

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

63

Select the Event table Specify the polling frequency in minutes

3) Externalize Strings 4) Used to translate Presentation layer catalogs, tables, columns, and their descriptions into other languages Creates a CSV file that can be used to store the translated strings for all the metadata objects

Rename Wizard Used to to rename Presentation and Business Model and Mapping layer tables and columns Provides a convenient way to transform physical names to user-friendly names

Follow the prompts to rename the logical columns

5) Update Physical Layer Wizard Used to update database objects in the Physical layer of a repository Server running the Administration Tool connects to each back-end database Select the physical objects to be updated

6) Repository Documentation Documents the mapping from the presentation columns to the corresponding logical and physical columns Documentation can be saved in comma separated (CSV) or tab delimited (TXT) format Extracted metadata can be loaded into excel and RDBMS Can be used to query dependency relationships among elements in the repository 7) Metadata Dictionary Metadata dictionary is a static set of XML documents, describing a metadata object such as a physical table or a logical column, including its properties and relationships with other metadata objects.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

64

A subdirectory with the same name as the repository is created at the specified location The dictionary folders and files are created in that subdirectory XML documents can be viewed using index files in a browser Dictionary does not change dynamically as repository changes are made: Dictionary should be generated periodically to update the content

8) Remove Unused Physical Objects 9) Used to remove objects that are no longer needed in the repository

Aggregate Persistence Wizard Allows the Oracle BI Administrator to automate the creation of aggregate tables and their mappings into the metadata: Writing complicated SQL scripts for the aggregate tables could be time consuming and error-prone

Select the measures to be aggregated Select the dimensional levels at which the measures should be aggregated Select the location for the aggregate table and the aggregate table name Logical SQL to generate the aggregate table is displayed: Use nqCmd.exe to execute the SQL script and create aggregate tables in the database

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

65

10) Calculation Wizard Right-click a logical column you want to use in the calculation and select Calculation Wizard

Select the logical columns you want to compare Select the calculations to be generated by the wizard The Calculation Wizard can create up to four comparison measures (new logical columns) based on existing logical columns

Administration Tool Utilities: Summary Oracle BI Administration Tool provides a number of wizards and utilities to aid you in performing various tasks: Replace Wizard automates the process of replacing physical columns or tables in logical table sources Oracle BI Event Tables allows developers to specify the Oracle BI event polling table and set the polling frequency Externalize Strings is used by translators to translate Presentation layer catalogs, tables, columns, and their descriptions into other languages Rename Wizard is used to rename presentation and logical tables and columns Update Physical Layer Wizard is used to update database objects in the Physical layer of a repository Repository Documentation utility documents the mapping from the presentation columns to the corresponding logical and physical columns Generate metadata dictionary utility creates a metadata dictionary which is a static set of XML documents describing a metadata objects such as a physical table or a logical column Remove Unused Physical Objects utility removes unused objects from the repository Aggregate persistence wizard guides developers in creating SQL scripts for aggregate tables Calculation Wizard to create new calculation columns that compare two existing columns Expected questions on Administration tool utilities? 1Q: What does the repository documentation utility document? Ans: Repository Documentation shows the relationships of repository objects from presentation layer to physical layer. 2Q: What purpose does the metadata dictionary serve? Ans: Metadata dictionary is a static set of XML documents, describing a metadata object such as a physical table or a logical column, including its properties and relationships with other metadata objects. 3Q: Why is the Aggregate Persistence wizard used? Ans: Aggregate persistence wizard guides developers in creating SQL scripts for aggregate tables.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

66

19. OBIEE Cluster Servers


Objective: After completing this chapter you will be able to: Identify the steps and requirements for setting up the Oracle BI Cluster servers Why you need to know: Performance or availability requirements may mandate using multiple servers to support Oracle BI environment Business Challenge Challenge : Running Oracle BI on a single server may present performance or availability issues: A single server may not be able to process all of the requests in a timely manner Network bandwidth may prevent users from accessing the server or from receiving query results fast enough When the server goes down, Oracle BI is not available Solution: Implement multiple Oracle BI Servers in an Oracle BI Cluster Server: Multiple servers processes requests improving performance If one server goes down, other servers are still running, increasing server availability

Oracle BI Cluster Servers Allow up to sixteen Oracle BI servers in a single domain to act as a single server: Servers share requests from multiple Oracle BI Clients Improve performance by allowing multiple servers to share requests and processing

Components of a Cluster Server 1) 2) 3) 4) 5) 6) 1) Server Server manager(Unix Only) Primary Cluster Controller Secondary Cluster Controller Master Server Repository Publishing Directory Cluster Manager

Manager (Unix Only) Is a sub process that runs as part of the nqscomgateway.exe process Controls the start/stop/restart of the nqsserver.exe process Port number must be specified in the NQClusterConfig.INI file: Use the SERVER_MANAGER_PORT parameter to specify port number

2) Primary Cluster Controller Is the primary component of a cluster server Monitors status of resources and performs session assignments

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

67

Supports detection of server failures and failover for ODBC clients of failed servers Is on a dedicated machine or is combined with an Oracle BI server on a machine

3) Secondary Cluster Controller Provides backup controller capability in case the primary cluster controller is unavailable: Specifying a secondary cluster controller is optional, but recommended May be on the same machine as an Oracle BI server Cannot be on the same machine as the primary cluster controller

4) Master Server Is a clustered Oracle BI server to which the Administration tool connects for online repository changes Provides a single point of entry for modifying the repository: Prevents multiple servers from attempting to modify the repository simultaneously

5) Repository Publishing Directory

Is a directory shared by all Oracle BI servers in a cluster: All servers must have read access to this directory Holds master copies of repositories edited in online mode Is read by the Oracle BI servers on startup for any repository changes Is only edited by the master server: Only the master server requires write access to this directory

Using the Repository Publishing Directory On startup, each Oracle BI server in the cluster examines the repository publishing directory for any updated repository: Compares date and timestamps of repositories in repository publishing directory to its local repositories Copies newer repositories from repository publishing directory to its local repository directory Caveats: If repositories are not copied; they must be manually propagated to all servers in the cluster Time of day clocks must be synchronized across all Oracle BI servers and cluster controllers in a cluster

6) Cluster Manager Is available in the Administration Tool when a repository is open in the online mode Allows for: Viewing cluster information Managing clustered servers Viewing sessions and caches for each individual server

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

68

Implementing Cluster Servers 1) Install the cluster controller component 2) Edit configuration files 3) Setup odbc data source for clustering 4) Copy NQClusterConfig.ini to all servers in the cluster 5) Start the servers 6) Test clustering 1) Install the Cluster Controller Component Install component on machines that will host cluster controllers Select a setup type that includes the Oracle BI clustering server: Select complete or Oracle BI server setup type to combine an Oracle BI server with a cluster controller Alternatively, use the custom setup type to select the clustering server component manually to add to an existing installation

2) Edit Configuration Files Edit NQSConfig.INI file on each Oracle BI server to specify: CLUSTER_PARTICIPANT to indicate that the server is part of a cluster REPOSITORY_PUBLISHING_DIRECTORY to specify the location of the repository publishing directory REQUIRE_PUBLISHING_DIRECTORY to specify whether the server requires the repository publishing directory to be available to start up: Server will not detect repository changes unless publishing directory is available Edit NQClusterConfig.INI for both Oracle BI servers and Cluster controllers to specify: ENABLE_CONTROLLER to specify whether the machine is a cluster controller PRIMARY_CONTROLLER to specify which machine is the primary cluster controller SECONDARY_CONTROLLER to specify which machine is the secondary cluster controller SERVERS to specify which servers belong to the cluster MASTER_SERVER to specify which machine is the master server This machine requires write access to the repository publishing directory SERVER_POLL_SECONDS to specify the frequency of heartbeat messages between the cluster controller and each server in the cluster: Default is five seconds Servers with no heartbeat are assumed to be down 3) Set up ODBC Data Source for Clustering Create a new system DSN ODBC connection using the Oracle BI server driver

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

69

Specify that this is a clustered DSN Specify primary and secondary cluster controllers Specify repository login ID and password Specify default repository and other connection options All clients must then use the clustered DSN to communicate with the cluster 4) Copy NQClusterConfig.INI to all Servers Every Oracle BI Server and cluster controller in the cluster must have an identical copy of NQClusterConfig.INI in their config directory For first-time deployment, also copy repositories to all servers 5) Start the Servers Start an Oracle BI Server Start a Cluster Controller On Windows Use Cluster Manager in the Oracle BI Administration tool to start others On Unix Start others manually 6) Test Clustering Use Oracle BI Answers or Oracle BI Delivers to test clustering: Examine NQQuery.log on Oracle BI servers and NQCluster.log on cluster controllers to verify startup and connectivity Run multiple queries and examine server logs for queries to ensure that multiple servers are receiving requests Shut down one server and verify successful failover Cluster Server Chronology On startup, each Oracle BI server reads NQSConfig.INI to determine whether it is part of a cluster Each Oracle BI server that is part of a cluster reads NQClusterConfig.INI Each cluster controller that is part of a cluster reads NQClusterConfig.INI Each Oracle BI server verifies the presence of an active operational cluster controller Cluster controllers start exchanging heartbeat messages Oracle BI servers verify access to the repository publishing directory Cluster controllers start exchanging heartbeat messages with Oracle BI servers

OBIEE Cluster Servers: Summary Oracle BI servers are clustered to improve query performance and to increase availability. Primary cluster controller monitors status of resources and performs session assignments. Secondary cluster controller provides backup controller capability in case the primary cluster controller is unavailable.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

70

Master server is a clustered Oracle BI server to which the Administration Tool connects for online repository changes. Repository Publishing Directory is a directory shared by all Oracle BI servers in a cluster. Cluster Manager can be used to view cluster information and manage clustered servers.

Expected questions on Obiee cluster services 1) What are the components of a server cluster? 2) What are the tasks performed by the primary cluster controller? 3) It Monitors status of resources and performs session assignments Supports detection and of server failures and failover for ODBC clients of failed servers. What are the tasks performed by the primary cluster controller? Secondary cluster controller provides backup controller capability in case the primary cluster controller is unavailable.

4) What is Repository publishing directory? Repository Publishing Directory is a directory shared by all Oracle BI servers in a cluster.

20. Oracle BI Publisher


Objective: After completing this chapter you will be able to: Create BI Publisher report based on Oracle BI Answers request Create BI Publisher report based on Oracle BI Server Subject Area Explain how templates are used to build reports Generate multiple report formats such as HTML, RTF and PDF Why you need to know: BI Publisher allows report designers to reuse queries to build reports in many formats

Oracle BI Publisher Powerful report generation tool Creates standardized reports quickly and easily Originally intended to support Oracles ERP tools such as Oracle E-Business Suite, JD Edwards and PeopleSoft BI Publisher is now available as a separate product or as part of Oracle BI Suite Enterprise Edition

Accessing Oracle BI Publisher Use the URL provided by the system administrator to log into Oracle BI Publisher

Reports Home Page Reports home page displays two main reports folders: Shared Folders contain the reports and folders you have been granted access to based on your role My Folders contain the reports and folders your administrator has assigned to you and the reports you have created (if you have the BI Publisher Developer or Administrator role)

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

71

Viewing Reports From the Folder view, click the report name or the view link to run the report and view online The report runs using the default options and displays it in the browser

Exporting Reports Select the Export button to export the report to the default application for its output type Example - Adobe Acrobat for pdf output or Microsoft Excel for excel output

Scheduling Reports Click the Schedule button to schedule and send the report to users Specify the recurrence and the delivery device

Creating Reports Oracle 1. 2. 3. 4. 5. BI Publisher reports can be created based on various data sources: Oracle BI Answers Request Oracle BI Subject Area Web Services HTTP/RSS Data set File Data Set

Report Based On Oracle BI Answers Request Log into Oracle BI Publisher as Administrator from Microsoft Word In the Open Template window, select Oracle BI from the workspace drop-down list

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

72

Select the Oracle BI Answers request based on which you want to create the BI Publisher report Navigate to the folder in which you want to save the report, and click Save

Insert the Report Views Insert the table/chart view of the report in the template

Select Grouping Field Select the grouping field you want to report on

Select the Report Fields Select the fields to be displayed in the report

Select the Group-By Fields Select the fields on which the report should be grouped

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

73

Select the Sorting Columns Select the fields on which the sorting should be applied: Also, select the sorting order and sorting type Rename the Columns Rename the columns Basic Report Template Basic report template is created Customize the Template Customize the template to include images and headings Preview Template Preview the template in PDF, HTML, Excel, PowerPoint or RTF format

Upload Template Upload the template to be available in BI Publisher

Report Template in BI Publisher Report template created using Template Builder is available in the BI Publisher

Reports Based on BI Server Subject Area

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

74

Create a report in a preferred folder in the Reports home page

Edit the Report Edit the BI Publisher report

Define the Data Model Define the Data Model

Query Builder Use Query Builder to generate the SQL query for the report Click Save to generate the SQL Query Define Report Template Define the report template

Select Report Template Upload the report templates created using Template Builder

Save the Report Save the Report

View the Report View the report from the saved location

BI Publisher Administration Admin 1. 2. 3. 4. 5. tab in BI Publisher allows users to: Configure the data sources Create users Integrate Oracle BI Presentation Services Define delivery devices Configure the Scheduler

Oracle BI Publisher : Summary Oracle BI Publisher is a powerful report generation tool used to create highly formatted reports BI Publisher reports can be based on an: Oracle BI Answers Request Oracle BI Subject Area Web Services HTTP/RSS Data set File Data Set Template Builder is used to create templates for a BI Publisher report

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

75

Analyzer for Excel enables users to: Export the results of the report query to an Excel spreadsheet Create Excel templates and upload them to the BI Publisher server Access and run reports from an Excel session

Expected questions on Oracle Bi Publisher 1Q:what is oracle Bi publisher? Ans:Oracle Bi Publisher is a Powerful report generation tool Creates standardized reports quickly and easily. 2Q:what are the tasks done by online analyser? Ans: Allows users to create a pivot table of their data.Analyze the report data by dragging and dropping data items into the crosstab structure. 3Q:What is the use of Query Builder? Ans: Query Builder is used to generate the SQL query for the report. 4Q:What is the use of Template Builder? Ans: Template Builder is used to create templates for a BI Publisher report 5Q: What are the different formats in which a BI Publisher report can be viewed? Ans:Html,pdf,rtf,excel,excel2000,powerpoint,etc.

21. Oracle BI Answers


Objective: After completing this chapter you will be able to: Use Oracle BI Answers to build analytical requests/reports Add filters to BI reports Work With Direct Database requests Work with views Work with combined requests Answers Is the Oracle BI user interface used to query an organization's data Provides a set of graphical tools to create and execute BI requests for information: Retrieves data from an organizations data sources Displays the result in a customized view Requires no knowledge of SQL: Advanced users can utilize SQL if they wish Can be shared with other users Working with Existing Content Catalog tab shows existing content saved in the Presentation Catalog: Personal and shared requests Filters Briefing Books

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

76

Subject area is a grouping of related columns that represent information about the areas of an organizations business Each column in request has three rows: First row displays the folder name Second row contains: 1. Column name 2. Order By iconused for sorting Third row contains: 1. Format Column buttonset formatting options for the column 2. Edit Formula buttoncreate a formula involving this column (and perhaps others in the subject area) 3. Filter by Column buttonset a filter on the column to limit the results 4. Remove Column buttonremove the column from the request

Column Formatting Options

Font ,Cell alignment,Borders

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

77

Column Formatting Columns Provides ability to: Change column headings including the font, cell and border Specify the interaction on column headings and values Hide the column in the report

Column Formatting Data Provides ability to change the format of the column data displayed in the report Check the Override Default Data Format to change the data format Depending on the data type of the column , different options would be available in the Treat Text As drop down

Column Formatting Conditional

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

78

Filters Are used to constrain a request Can be combined with other column filters from the same subject area to further constrain the results of a request Can be grouped to create complex filters Can be constrained by the results of a previously-saved request from the same subject area

Filter Elements

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

79

A column filter consists of the following elements: Column to filter such as the Amount Sold An operator that determines how the value is applied, such as is greater than Value to use while applying the filter, such as 1000

Parenthetical Filtering : Is the ability to group filters:

Dynamic Filtering Filters can be created to limit changing data, such as Current Month or Previous Month Variables have to be constructed in the Repository

Criteria Prompt :
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 80

Guides users in making selections for individual requests Two kinds Column filter prompt and Image prompt: 1. Column filter prompt provides general filtering of a column within a request 2. Image prompt provides an image that users click to select criteria for a request When the request is displayed on a dashboard page, the users have to select values from the column filter prompt to view the results of the request

Advanced Tab Displays the request XML and the logical SQL

Direct Database Requests : Users can issue a database request directly to a physical back-end database Only users with privileges to execute a direct database request can do so

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

81

Validate the SQL and view the results

Report Views : Views are useful to visualize data in many different ways. Default view is the Compound view, which includes the Title and Table views Multiple views of each request are possible Display request results in 17 formats:
1) 2) 3) 4) 5) 6) 7) 8) 9) Title Table Chart Pivot Table Gauge Filters Column Selector View Selector Legend 10) Funnel Chart 11) Narrative 12) Ticker 13) Static Text 14) No Results 15) Logical SQL 16) Create Segment 17) Create Target List

1.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

82

Title View: Adds a title, subtitle, logo, link to a custom online help page, and timestamps to the results Table View Shows result in a standard table Can add totals and subtotals Chart View It is useful to show summarized data in graphical format Types of charts include: Area Line Bar Combo Horizontal Bar Pareto Bubble Pie Vertical Bar Radar Line Scatter Step

Area charts shows the relative importance of values over a period of time 1. Similar to a line chart, but emphasizes the amount of change (magnitude of values) rather than the rate of change Bar charts draws comparisons between items, but not to a whole 1. Horizontal bar charts imply an emphasis on time 2. Vertical bar charts remove the emphasis on time Bubble chart is a variation of a scatter graph that displays data elements as circles (bubbles) 1. It shows three variables in two dimensions 2. One value is represented by the location of the circle on the x-axis 3. Another value is represented by the location of the circle on the y-axis 4. The third value is represented by the relative size of its circle Line charts show one variable changing over time Line Bar Combo chart plots two sets of data with different ranges, one set as bars, and one set as lines overlaid on the bars Pareto charts used to ranking causes from most significant to least significant (80/20 rule or Pareto Principle) 1. Bars on left relatively more important than those on right Pie charts are used to portray the contribution of the parts to a whole Radar charts are a graphical display of the differences between actual and ideal performance Scatter charts show the correlation of two sets of numbers by plotting where the variables intersect:

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

83

1. Scatter charts are useful when the coordinates on the horizontal scale, often time intervals, are irregular Step chart is used to plot and compare facts: 1. Step charts are useful for illustrating trends in data where values change discontinuously Pivot Tables Allow the row, column, and section headings to be rotated in order to obtain different perspectives of the same data Are interactive: 1. Drillable 2. Navigable Are a type of view: 1. Default setting is to return a table 2. Can add a graph of the results Filter View Displays the value of filter in a request output Narrative View Displays the results as one or more paragraphs of text: You can type in a sentence with placeholders for each column in the results, and specify how rows should be separated Static Text Displays a static text in the results: Can use HTML to add banners, tickers, ActiveX objects, Java applets, links, instructions, descriptions, graphics, and so on, in the results No Results View No results view allows you to specify explanatory text to appear if the request does not return any results Column Selector Column Selector to dynamically change the columns in the request View Selector View Selector is used to dynamically change the view of the results from among the saved views Work with combined requests Working with Union,Unionall,Intersetion and Minus is called as working with combined requests

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

84

22. Dashboard
Provide two types of views of corporate and external information: 1. Personalized views 2. Pre-configured views Can be created based on a user's permission: 1. Personal Dashboard pages can be viewed in My Dashboard screen Can be created and shared with groups of users with common responsibilities or job functions: 1. Only by users with administrative privileges

Dashboard Objects

Dashboard Sections Appear in columns in the Dashboard layout Hold the content dragged and dropped from the selection pane Organize content within a column
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 85

Links and Images Takes the user to the content by clicking a link or image rather than displaying content inside frame Used for content that cannot be displayed in a frame: 1. Example: Some web sites disallow content to show in a frame

Embedded Content Can be any file reached by a URL Default frame size is 600 x 400 pixels Dashboard will allocate frame size based on what is in the dialog box, not on the contents dimensions Dashboard will add scroll bars to the frame if the content is larger than the allocated frame size

Text Object Can contain formatted text using tags, ActiveX controls or Java scripts, sound bites, animation, and so on Can contain anything that is supported by the browser

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

86

ActiveX objects must be self contained and supported by the browser 1. Paste or type the object into the HTML text window, making sure to include the beginning and ending tags <object...> and </object> JavaScript or VBscript objects must be self contained and supported by the browser 1. Paste or type the script into the HTML text window, making sure to include the beginning and ending tags <script> and </script> JavaScript or VBscript objects must specify the script language in the opening <script> tag, either <script language="javascript"> or <script language ="vbscript"> Audio clips must be located on a network drive accessible to all users 1. Use the HTML tag <embed> to add audio in your Dashboard, in the format: <embed src="audio" autostart="true" loop="true" hidden="true"> </embed> where "audio" is the location and name of the audio clip Folders : Views of a Presentation Catalog folder and its contents, such as saved requests For example, if you have a collection of saved requests that you run frequently, you can open the folder in the dashboard, navigate to a saved request, and click it to run it Folders are represented graphically

Guided Navigation Can aid users' insight into business issues and appropriate actions to take by guiding their exploration of results obtained from Oracle BI Answers Allow users to see and analyze related issues by navigating to a related set of results, another dashboard, or a URL Types of guided navigation include 1. Guided navigation using static links 2. Guided navigation using conditional links 3. Guided navigation using conditional sections
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 87

Guided Navigation Using Static Links

Guided Navigation Using Conditional Links Only appears if the source request meets certain criteria Target link can be a request, dashboard or a URL

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

88

Guided Navigation using Conditional Sections Entire Dashboard sections can be displayed based on the results of a particular request

Dashboard Prompts Filter the results of embedded requests to show only results that match the prompt criteria Filter all requests embedded in a dashboard or just requests on certain dashboard pages Are created in Oracle BI Answers

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

89

Specify whether the dashboard prompt applies to the entire dashboard or a dashboard page using the scope drop-down list Click-and-drag the column to prompt for (Note that the number of columns can affect performance) Constrain the choices for a column depending on the selection the user makes from the previous column using the Constrain check box

Dashboard Development - Best Practices Avoid designing dashboards that return large volumes of data Avoid horizontal scrolling of dashboard pages and large amount of vertical scrolling. As an alternative use guided navigation to link to smaller dashboards. Ensure dashboard prompts have a default value set. 1. Setting a default value for a dashboard prompt to nothing or all values will return all the data and impact performance 2. Setting a default value results in a smaller data set Constrain the values in a dashboard prompt. This allows the user to select only the relevant values in other prompts & prevent empty result set.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

90

23. Oracle BI Delivers


Web based Interface used to create alerts based on BI requests Detect specific results and immediately notify the appropriate person or group through web, wireless, and mobile communications channels Uses intelligence agents or Bots, called iBots iBots are software-based agents driven by schedule or events (chained iBots) that can access, filter, and perform analytics on data based upon defined criteria In Oracle BI Delivers ,We can create Delivery Devices Delivery Profiles Oracle BI Alerts iBots Oracle BI Scheduler Delivery Devices BI content can be delivered to a variety of devices: Web browser Email Pager Digital cell phone Wireless PDA Any other device capable of handling standards-based communication Delivery Profiles Determine which devices receive content Examples: 1. Office profile delivers content to web browser and office email 2. On-The-Road profile delivers content to a pager or a PDA, depending on priority Oracle BI Alerts Are triggered when conditions configured in iBots are met If an Alert is generated, the Alerts! link will appear at the top of the Interactive Dashboard page Specific Alerts section can be added to any dashboard page An Alerts section will appear automatically on the first page of My Dashboard iBots Are the engine that executes the Oracle BI requests and generates the response to the right person and devices Have the following elements: 1. Priority and Visibility 2. Conditional Request 3. Schedule 4. Recipients 5. Delivery Content
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 91

6. Destination Can also execute scripts, workflows and java programs Oracle BI Scheduler BI Scheduler is the process that schedules reports to be delivered to users at specified times Is the engine behind iBots Manages and schedules the jobs in the Oracle BI Server Supports two types of jobs: 1. Unscripted jobs, called iBots, that can be set up and submitted using Oracle BI Delivers. 2. Scripted jobs that can be set up and submitted using the Job Manager feature of Oracle BI Administration Tool Creating iBots

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

92

24. Data Warehouse Administration Console

Is a centralized console to design, configure and execute ETL for loading the Oracle Business Analytics Warehouse Single command and control point for the OBAW Provides a framework for managing the entire life cycle of OBAW implementations Provides an easy-to-use interface for deploying, defining, administering and monitoring of Data warehouse processes Simplifies ETL customization and execution 1. Define ETL subject areas and execution plans 2. Automate configuration of ETL for full and incremental load of subject areas 3. Automatic index management 4. Prioritize and load balance ETL workflow execution 5. Compile historical tracking of diagnostic ETL logs 6. Provide restart of ETL execution from point of failure 7. Update database statistics on OBAW tables and indexes
DAC User Interface

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

93

DAC Objects

8. DAC repository objects stored in a hierarchical format define a warehouse application 9. DAC object hierarchy includes: Execution plans Subject areas Tables Task Groups Tasks DAC objects include: Execution plans Contain one or more subject areas Derives component tables and tasks from subject areas Can be executed manually or scheduled Subject areas Logical grouping of tables related to a subject or application context Includes tasks associated with tables Assigned to execution plans Tables Physical database tables in the transactional or OBAW databases Can be source, fact, dimension, hierarchy, aggregate, or staging, among others Tasks Unique steps executed during ETL Related to data transformation or database objects Are associated with a set of source and target database tables, 1. ExecuteInformaticaworkflows 2. Can also execute batch files, call database stored procedures, execute SQL or XML scripts or operating system commands Assigned to subject areas by DAC Tasks are lowest objects in DAC hierarchy that perform unique ETL steps 1. Are typically Informaticaworkflows associated with a set of source and target database tables 2. Can also be SQL files, database stored procedures, XML scripts or operating system commands Task Groups A group of tasks you define to impose a specific execution order

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

94

25. Oracle Business Analytics Warehouse Overview


The Oracle Business Analytics Warehouse is a unified data repository for all customer-centric data. The purpose of the Oracle Business Analytics Warehouse is to support the analytical requirements of Oracle Business Intelligence Applications. The Oracle Business Analytics Warehouse includes the following: 1) A data integration engine that combines data from multiple source systems to build a data warehouse. 2) An open architecture to allow organizations to use third-party analytical tools in conjunction with the Oracle Business Analytics Warehouse using the Oracle Business Intelligence Server. 3) Prebuilt data extractors to incorporate data from external applications into the Oracle Business Analytics Warehouse. 4) A set of ETL (extract-transform-load) processes that takes data from multiple source systems and creates the Oracle Business Analytics Warehouse tables. 5) The DAC, a centralized console for schema management as well as configuration, administration, loading, and monitoring of the Oracle Business Analytics Warehouse.

26. Oracle Business Analytics Warehouse Architecture


High-level analytical queries, like those commonly used in Oracle Business Analytics Warehouse, scan and analyze large volumes of data using complex formulas. This process can take a long time when querying a transactional database, which impacts overall system performance. For this reason, the Oracle Business Analytics Warehouse was constructed using dimensional modeling techniques to allow for fast access to information required for decision making. The Oracle Business Analytics Warehouse derives its data from operational applications, and uses Informatica's data integration technology to extract, transform, and load data from transactional databases into the Oracle Business Analytics Warehouse.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

95

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

96

27. OBIEE 11g Summary of New Features


27.1 User Experience
Extensive user interface improvements Find what you want quickly

27.2 New Interactive Visualizations


Rich Interactive Visualizations Animated transitions Range and Paging sliders Legend-based interactions Master-Detail linking Extensive and extended set of chart types Consistent Hi-fidelity charting across Oracle product line

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

97

27.3 Best-in-Class MOLAP User Interface

A key innovation in Oracle BI 11g is the first completely unified user experience that combines ROLAP and MOLAP. Sophisticated MOLAP concepts, such as custom member selection, calculated members, and navigation of ragged and skip-level hierarchies is available in the integrated dashboard, query, and analysis tools. These capabilities work across any combination or relational and multidimensional data sourcestransparently without the user needing to care.
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 98

OLAP Query Building with member selection Member selection, Calculated members Hierarchical calculations, Custom aggregates Navigate across relational and multidimensional sources Shared metadata, calculations, dimensions, security Ragged & skip-level hierarchies Performance for each source Microsoft Office Integration

27.4 Best-in-Class Query & Analysis User Interface

Visually appealing and intuitive dashboards Applicable across all styles of analysis: ROLAP, MOLAP, Scorecards, Reporting, Collaboration, Actions Across all data sources Simplified model for users Federated data access On-the-fly calculations, even with complex share and time series Custom members & groups Share, collaborate, & publish Consistency & alignment

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

99

27.5 Oracle Scorecard and Strategy Management

27.6 BI Search
BI Search is a powerful feature that provides ability to search existing content based on full index. All reports, dashboards can be tagged and all the tags that a dashboard developer or as a Answers tool user creates are searchable. This also boils down to creating good meta data to be developed for all the dashboards, reports, prompts, types of reports whether its publisher report or a answers report or a prompt.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

100

27.7 Enhancements to BI Publisher


The 11gR1 release takes online template builder further and adds a lot of new visualization features to the product.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

101

Clustering Support for Essbase and BI Publisher This would be huge in big corporations who deal with terabytes of data every day. Essbase queries will now run in micro seconds rather than in sub seconds that its tout for New Thin Client for editing BI Publisher reports With this release of a new thin client users can create and edit BI Publisher reports. Oracle is migrating away from MS Word, Excel as their editing tools for BI Publisher. These are still supported but not recommended

27.8 Spatial Integration

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

102

27.9 Oracle BI Server 11g Enhancements for Essbase

27.10

Action Framework

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

103

28. PROJECT BEST PRACTICES & Coding Standards


28.1 Introduction
28.1.1 Purpose

The purpose of this document is to provide information about the Standards, Guidelines or best practices to be followed while designing, developing, administering & supporting an OBIEE application.

28.1.2
OBIEE RPD ETL DBA LTS LBM LDAP CSS

Definitions and Acronyms


Description

Acronym/Technical Term

Oracle Business Intelligence Enterprise Edition Repository Extract, Transform and Load Database Administrator Logical Table Sources Level Based Measures Lightweight Directory Access Protocol Custom Style Sheet

28.2 Administration & Production Support


28.2.1 Performance Monitoring/Tuning

Performance is an extremely important consideration in every decision support system, but it is particularly important in systems that allow queries over the Web. This section describes some best practices for improving query performance. NQSConfig.INI File Parameters This file contains configuration and tuning parameters for the Oracle BI Server. There are parameters to configure disk space for temporary storage, set sort memory buffer sizes, set cache memory buffers, set virtual table page sizes, and a number of other configuration settings that allow you to take full advantage of your hardwares capabilities. Also refer the capacity planning worksheet for more details on these parameters & their optimum values. Aggregate Tables RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 104

You should use aggregate / summary tables to improve query performance. They contain precalculated summarizations of data. It is much faster to retrieve an answer from an aggregate table than to re-compute the answer from thousands of rows of detail. Aggregate awareness should be built in OBIEE repository to enable Oracle BI Server to use aggregate tables automatically. Query Caching Enabling query caching causes the Oracle BI Server to store query results for reuse by subsequent queries. Caching can dramatically improve the apparent performance of the system for users. Tune, Partition and Index Underlying Databases The Oracle BI Server sends queries to databases. For the queries to return in a timely manner, the underlying database tables need to be configured, tuned, partitioned and indexed correctly. Performance issues related to underlying databases will have to be addressed by the DBAs of the underlying databases. Different database products will have different tuning considerations. If there are queries that return slowly from the underlying databases, you can capture the SQL of the queries in the query log, and then provide them to the DBA for analysis. Query Logging Do not log production users queries User queries should be logged only for testing, debugging or to assist the Oracle technical support team for troubleshooting a problem. Use log level 2 or below, for testing and debugging purposes. Use log level 4 or above for assisting the Oracle technical support team in troubleshooting.

28.2.2

Clustering

This section describes the best practices and characteristics of the Cluster Server that may influence the performance of Clustered Oracle BI Servers. You should consider these points while managing a clustered environment Since each Oracle BI Server maintains its own local query results cache, back-end databases may receive the same query from multiple Oracle BI Servers even though the result is cached. It is recommended to use cluster aware caching, and explicitly seed the queries through a cache seeding iBot. This enables query caching in a centralized location that can be used RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 105

across nodes in the cluster. What to seed? Dimension tables, Measures that fall into the governance limit. From usage table you can find the queries that hit the cache, by subject area. Initialization block queries can be cached. Since each Oracle BI Server has an independent copy of repository and hence its own backend connection pools, back-end databases may experience as many as N*M connections, where N is the number of active servers in the cluster and M is the maximum sessions allowed in the connection pool of a single repository. Therefore, it may be appropriate to reduce the maximum number of connections configured in connection pools. Maximum number of connections = Number of concurrent users * number of queries in each session. This has memory considerations. SA Connection pool limits have to be revisited.

28.2.3

Production Support and Maintenance

Following are the guidelines and best practices for production support and maintenance activities: Every week the NQServer.log and Saw logs need to be backed up. All the errors that go into NQServer.log need to be analyzed once a week. If the errors are specific to subject areas, the respective teams need to be notified of the errors. Follow the order below, while starting and stopping the OBIEE Servers. Stopping the OBIEE servers 1. 2. 3. 4. Stop the OBIEE presentation server Stop the OBIEE BI server Stop the OBIEE BI scheduler Stop the Cluster controller

Starting the OBIEE servers 1. 2. 3. 4. Start the OBIEE BI server Start the OBIEE BI scheduler Start the OBIEE Cluster controller Start the OBIEE presentation server 106

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

28.3 Designing & Development


28.3.1 General Design

Have a dimensional model with Star schema. It makes the RPD mappings very easy Optimizes database query performance Uses database optimizations

Move the complex logic to ETL. This helps in performance improvement. Reduces the processing load on BI Server. Helps in generating simple SQL from OBIEE.

Summarize the fact data. This helps database to processes less data.

Minimize the number of initialization blocks.

28.3.2

Designing the Business Models

Before you create a repository or modify the repository that was shipped with the Oracle Business Intelligence, you need to plan your business model and design the repository. In a decision support environment, the objective of data modeling is to design a model that presents business information in a manner that parallels the business analysts understanding of the business structure. A successful model allows the query process to become a natural process by allowing analysts to structure queries in the same intuitive fashion as they would ask business questions. The model must be the one that business analysts will inherently understand and that will answer meaningful questions correctly. This requires breaking down your business into several components to answer the following questions What kind of business questions are analysts trying to answer? What measures are required to understand the business performance? What are all the dimensions under which the business operates?

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

107

Are there hierarchical elements in each dimension and what are the parent-child relationships that define each hierarchy?

Once these questions are answered, the business model elements can be identified which include Fact tables Dimension tables Bridge tables Dimension hierarchies Understanding the business hierarchies is essential to design the metadata that allows the Oracle BI server to determine if a particular request can be answered by an aggregate that is already computed.

28.3.3

Repository

Following is the list of general guidelines to use while configuring the repository:
1. Perform the majority of repository editing in offline mode to make your results more consistent. In some environments, this might save time during the development effort. 2. Backups of the repository should be taken before and after every completed unit of work while editing the repository in online mode. If needed, use Copy As on the File menu to make an offline copy containing the changes.

Physical Layer
Following is a list of tips to use while configuring the Physical layer of a repository: Database Object: 1. Allowing Direct Database Request by default to all users can expose sensitive data to an unintended audience. Set up group/user based permissions on the Oracle BI presentation services to control access to editing and executing direct database requests. Only administrators should be allowed to perform a TELNET into the Oracle BI Server and Oracle BI presentation services to perform tasks such as running nQCmd.exe for cache seeding.

2. While importing physical tables from the database, the Features tab is automatically populated with default values appropriate for the database type. Care should be taken while modifying this tab. Enabling the SQL features that the database does not support might cause the queries to return errors and unexpected results. 108

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

Disabling supported SQL features might cause the server to issue less efficient SQL to the database. After importing the physical tables, click the Revert to Defaults button on the Features tab, to restore the default values Use the Ask button only while installing and querying a database that has no Features table.

Importing Tables:
1. Before importing metadata from a data warehouse into the Physical layer of the repository, eliminate all outer joins in the data warehouse. Use Extract, Transform, and Load (ETL) lookups to find them. Eliminating outer joins results in a more consistent record set, a simplified business model, and improved performance. 2. To reduce problems that might be caused by importing physical joins, import the physical objects without foreign keys and then recreate the keys in the physical layer as needed. Importing foreign keys can create hidden circular joins. 3. Import only those tables that are likely to be used in the business models. You can use a filter to limit the number of tables that appear in the import list. This makes it easier to locate and import the required tables. 4. Import the database views, synonyms and system tables only when required. Importing unnecessary database objects adds unnecessary complexity and increases the size of the repository. 5. For design independence, import databases for each business model separately. For example, you might have one database for each application. Some tables may exist in more than one database and you can customize each table for a different business model. This eliminates the need for cross-database joins. 6. After importing a data source object, test it before importing another. Make sure the metadata is generating the correct record set before performing performance tuning activities. 7. You would probably import some tables in the Physical layer that you might not use right away but that you do not want to delete. One way to identify tables that you do want to use right away in the Business Model and Mapping layer is to assign aliases to physical tables before mapping them to the business model layer. 8. Use a naming standard in the Physical layer that identifies the logical components followed by the physical table name as shown in the following example:

Employee (W_PERSON_D)
9. An opaque view (a physical layer object that consists of a Select statement) should be used only if there is no other solution. Ideally, a physical table should be created, or alternatively a materialized view. A traditional database view is not needed as it is identical to the opaque view. 10. After importing the tables from the database, define/re-define the primary keys for every table.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

109

Connection Pool:
1. Create a dedicated connection pool for initialization blocks to ensure that the authentication and login-specific initialization blocks do not slow down the login process. This connection pool should not be used for queries. 2. Do not have any connection pools which are unable to connect to the databases as this might lead to BI server crash as it continuously pings to the connection. 3. Ensure to check Execute queries asynchronously option in the connection pool details 4. Dynamic repository variable values are shared between all users; there is no need to set the number of connections in a connection pool to a high number. 5. Create a dedicated connection pool for Write-Back functionality. 6. Connection Pooling property should be enabled. 7. While changing the maximum number of concurrent connections,

Consult the DBA to ensure that the data source can handle the number of connections specified in the connection pool. Limit the number of connections to the number of concurrent users multiplied by the average number of reports they run. For deployments with Intelligence Dashboard, consider estimating this value at 10% to 20% of the number of simultaneous users multiplied by the number of requests on a dashboard page. This number may be adjusted based on usage. The total number of all connections in the repository should be less than 800. To estimate the maximum connections needed for a connection pool dedicated to an initialization block, you might use the number of users concurrently logged on during initialization block execution.

Physical Table: 1. Use database Hints a. DBAs have to be contacted to confirm the usage of hints b. Database hints help improve performance by forcing the database query optimizer to use a more efficient plan c. Hints can be associated with any database object physical complex join, physical foreign key or physical table

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

110

d. Hints should be avoided for physical tables and join objects that are queried often e. Hints should be used as an option to improve performance only after following options have been tried Physical Joins:
1. Use the Physical diagrams in the Administration Tool to verify sources and joins. 2. Use complex joins to join the physical tables on non-primary keys or to specify an expression. Do not include filters in the Physical layer when creating joins instead build them into the Business Model on the Logical Tables Sources (LTS).

Adding physical indexes to the database tables. Making modeling changes within the repository.

Business Model and Mapping Layer


Following is a list of general tips to use while configuring the Business Model and Mapping layer:
1. Create the business model with one-to-many complex joins between logical dimension and logical fact tables wherever possible. Foreign key joins in the Business Model should not be used as it limits the flexibility and power of the BI Servers SQL generation engine. 2. The business model should ideally resemble a simple star schema in which each fact table is linked directly to its dimensions. If you use the snowflake model, you might have more flexibility (for example, the ability to use outer joins) but it may create more columns in the presentation layer. However, it is recommended to minimize the use of snowflake schemas. 3. Outer joins should be avoided in the reporting SQL. They can be eliminated in the ETL via a variety of techniques. By doing so, not only can an additional table be removed from the report SQL, but also performance can be improved. 4. Combine all similar dimensional attributes into one logical dimension table. Where needed, include data from other dimension tables into the main dimension source using aliases in the Physical layer tables. This should ideally occur during the ETL process for optimal performance. 5. It is recommended to use table aliases frequently in the Business Model layer to eliminate extraneous joins, including the following:

Eliminate all physical joins that cross dimensions (inter-dimensional circular joins) by using aliases. Eliminate all circular joins (intra-dimensional circular joins) in a logical table source in the Physical Model by creating physical table aliases.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

111

6. Outer joins in logical table sources are always included in a query, even if the table source is not used. If possible, create one logical table source without the outer join and another with the outer join. Order the logical table source with the outer join after the non-outer join so that it will be used only when necessary. 7. While creating a complex join between the logical tables, do not select the driving table unless multi-database joins are going to occur. Driving tables are used for query optimization only under rare circumstances and when the driving table is extremely small, that is, less than 1000 rows. Choosing a driving table incorrectly can lead to severe performance degradation.

Logical Columns:
1. Rename Logical Columns -

Use names acceptable to the organization and understood by users Use short names to minimize the browser Create unique names for all columns Avoid using the same name as a logical table or business model Do not use Oracle BI Servers reserved names.

2. Never delete logical columns that

Map to keys of physical tables Define the contents of logical table sources

3. Create new logical columns based on existing logical columns only when aggregation has to be applied after the calculation is done. Else use physical columns in its column formula. 4. Filter functions in the logical column expressions help improve performance only when the columns in the report are filtered on the same logical column. For example, consider the following expressions: East Region Sales: Case When Location.Region = East then SalesFact.Sales else 0 end West Region Sales: Case When Location.Region = West then SalesFact.Sales else 0 end Consider replacing the Case When statements with Filter functions as below East Region Sales: Filter (SalesFact.Sales Using Location.Region =East) West Region Sales: Filter (SalesFact.Sales Using Location.Region =West)

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

112

The above expressions would improve performance as the filter criteria would be included in the Where clause of the SQL as below: Select Year, Sum (Case When Location.Region = East then SalesFact.Sales else 0 end), Sum (Case When Location.Region = West then SalesFact.Sales else 0 end) From SalesFact Where Location.Region = East or Location.Region = West The above SQL would first constrain the result set to East and West Regions and then perform the aggregation of the Sales unit. If Case When statements were used, the result set would not be constrained to East and West regions, and hence the query would take a longer time to run and return the data, as compared to the one with constrained data. But, when the filter conditions are on 2 different columns, separate SQLs would be run, each with different filter conditions, and the result set from both the SQLs would be combined together. 5. When creating a new logical column based on other logical columns, only use logical columns from the current tables. 6. Use Aggregation Content on a measure to create a Level Based Measure (LBM), where the level of the measure is set to what is described. LBMs are useful for mixing levels on a single report from a single LTS, such as a Weekly Total and Daily Totals.

7. Pre-calculation of measures and string manipulation of dimensional attributes in the database will reduce query complexity and query response time in the OBIEE application. Logical Table Sources:
1. Aggregate sources should be created as separate Sources in a logical table. For fact aggregates, use the Content tab of the Logical Table Source properties window to assign the correct logical level to each dimension. 2. When a logical table source is mapped to more than one physical table, a join must exist between these 2 tables in the physical layer. 3. When a logical table has more than one source, specify the content for all sources, even for lowest level of aggregation. This helps the BI server know what each source contains in terms of the business model. 4. Although you have the option to specify the aggregate content by logical level or column, it is recommended that you use logical levels exclusively. 5. Arrange dimension sources in order of aggregation from lowest level to highest level. 6. Avoid assigning logical column the same name as logical table or subject area. 7. Avoid applying complex logic at the Where Clause filter. The where clause filter logic overwrites the BI generated where clause join. 8. All columns that cannot be aggregated should be expressed in a dimension logical table and not in a fact logical table.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

113

9. Non aggregated columns can exist in a logical fact table only if they are mapped to a source which is at the lowest level of aggregation for all other dimensions.

Aggregate Tables: 1. Look at query patterns and build aggregate tables to speed up common queries that require summarized results. 2. Ensure enough data is compressed to offset the cost to build Detail to aggregate data ratio should be at least 50:1

3. Monitor and adjust to account for changing query patterns. 4. Aggregate dimension source should exist at the same level as the aggregate fact table source. 5. Aggregate dimension sources should be physically joined to aggregate fact table sources at the same level. 6. Aggregate dimension source should contain a column that maps to the primary key of the dimension hierarchy level. Dimensional Hierarchies:
1. Every logical dimension table should have a dimensional hierarchy associated with it. Make sure that all appropriate fact sources are set to the proper level in the hierarchy using aggregation content. Aggregation content can be set in the Content tab of the Logical Table Source properties window. 2. Each dimensional hierarchy can have just one grand total & detail level. The grand total level should not contain dimensional attributes, but can contain measures associated with it. 3. All levels except the grand total level should have at least one column associated with it. 4. To prevent problems with aggregate navigation, make sure that each logical level of a dimension hierarchy contains the correct value in the field named Number of elements at this level. Fact sources are selected on a combination of the fields selected as well as the levels in the dimensions to which they are set. By adjusting these values, you can alter the fact source selected by BI Server. 5. Number of elements for a grand total level is always one & it doesnt have a level key. 6. Each logical level needs to have one or more attributes that compose a level key. Each logical level should have one level key that will be displayed when an Answers/Dashboard user clicks to drill down.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

114

7. The dimension table logical key should be associated with the lowest level of the hierarchy and has to be the level key for that level. 8. Preferred drill path must be used only to specify the drill path that is outside the normal drill path defined by the dimensional hierarchy. 9. The number of logical levels in a dimensional hierarchy should not exceed 16. 10. Time dimension and chronological keys

At least one level of a time dimension must have a chronological key All time series measures using the Ago and ToDate functions must be on time levels. Any physical table that is part of a time logical table cannot appear in another logical table. This prevents using data fields from calendar table as measures. Physical tables in time sources, except the most detailed ones, cannot have joins to tables outside their source. The join has to be between the time table and the fact table. The join can only be based on foreign key; it cannot be a complex join. Ago and ToDate functionality is not supported on fragmented logical table sources.

Presentation Layer
Following is a list of tips to use while configuring the presentation layer 1. Use meaningful names in the presentation layer of the repository Names can not contain single quotes. Admin tool prevents it. Use of double quotes is permitted, but should be avoided Names should be short. Do not use Oracle BI Servers reserved names.

2. Keep presentation object names unique

Naming presentation columns same as the presentation tables can lead to inaccurate results Uniqueness allows SQL statements to be shorter because qualifiers are unnecessary

3. Group fields into folders and sub folders

Separate numeric and non numeric quantities into separate folder sets Group fields into dimensions that naturally go together, such as product, time, 115

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

geography and so forth Put all columns with aggregation rules/measures in folders marked with the word Facts Columns must be in the same business model

4. Remove any unwanted columns for ease of use and understandability.

Key columns that have no business meaning Columns that users do not need to view Columns that users are not authorized to view

5. Limit number of objects in a folder between 7 and 10 6. Use object description fields to convey information to users

7. It is recommended that you do not use aliases for Presentation layer elements. Renaming an element in the Presentation layer will automatically create an alias. This prevents reports that reference the original element from failing. 8. If you decide to export logical keys in the presentation catalogs, be sure the logical key columns exist in the table folders. If you are using a tool that issues parameterized queries, such as Microsoft Access, do not select the option Export Logical Keys. This will stop the tool from issuing parameterized queries. 9. Specify the implicit fact columns for every presentation catalog that has more than one fact table joined to the other dimension tables. If you set an implicit fact column, this column will be added to a query when it contains columns from 2 or more dimensions tables and no measures. It is used to specify a default join path between dimension tables when there are several possible alternatives. 10. SQL verification: Have the query logging enabled in Development environment, get the physical query from NQQuery.log file, always verify the SQL generated for correctness.

Security
Following is a list of tips to use while configuring the repository security 1. While using LDAP Server for authentication purpose, do not import users from the LDAP server. 2. The system session variables like :USER, :PASSWORD, :EMAIL,:GROUP, etc. should be set only in initialization blocks used for authentication purpose. 3. While implementing column level security for users, ensure that the parameter PROJECT_INACCESSIBLE_COLUMN_AS_NULL is set as YES. RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 116

Multi-User Development Environment


Consider the guidelines below while configuring the repository in a multi-user development environment 1. Create projects of manageable size based on individual logical stars in the business model. 2. Add the administrators group to each project. All developers must have administrator privileges, to ensure complete access to all projects. 3. Hierarchy definitions should not be modified. If 2 users modify them concurrently, the changes will not be merged locally. 4. Project definitions should not be modified. 5. Physical connection settings should not be modified, as the local machines may not have the same connections as the server.

28.3.4

Presentation Catalog

Following is a list of guidelines to use while creating dashboards and requests and while implementing security in the presentation catalog -

Dashboards
1. Avoid designing dashboards that return large volume of data 2. Avoid horizontal scrolling of dashboard pages and large amount of vertical scrolling. As an alternative, use guided navigation to link to smaller dashboards. 3. Ensure dashboard prompts have a default value set. Setting a default value for a dashboard prompt to nothing or all values will return all the data and impact performance Setting a default value results in a smaller data set

4. Limit the number of columns in a dashboard prompt to nine or less. The number of columns included in a dashboard prompt can affect performance, like the columns that show values in a drop-down list require a request to the Oracle BI server to populate the list. 5. Constrain the values in a dashboard prompt. This allows the user to select only the relevant values in other prompts & prevent empty result set.

6.

Displaying reports as links on a dashboard saves time & increases dashboard performance as they will only be executed when clicked upon. Also, hidden/conditional sections are 117

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

always executed in the background when a dashboard page loads/refreshes. 7. Always give a return link from detail page to navigate back to summary page. 8. Use View selector to allow same data to be replicated across several views. 9. Avoid drop down list for filters of large set of distinct values, the drop down list filters are executed before loading the page. If the drop down list has leverage values it will slow down the page load. 10. Avoid complex pivot tables. 11. Avoid using Guided Navigation which affects the report performance. 12. Use single Go button for all the prompts in the report. 13. Do not expose system wide default features to the users or Power users. 14. Try using a _ instead of space when naming dashboards. OBIEE generates special characters while saving the dashboards with a space in the name. Do not use any other special characters ($,%,&, etc.) for naming convention in Dashboards/reports.

Answers
1. Requests should contain at least one fact column. Running a request without including any facts generally produces reports that are not meaningful and can cause poor query performance or unexpected results. 2. Use fewer columns in the Oracle BI reports More columns in a request are not necessarily better Simplified view is easier to comprehend/analyze Avoid having more than 20 -25 columns in a request

3. While including logo images and graphics in the title view of the report ensure that the logo images and graphics are located in the current style directory & all should be stored in the same folder. 4. Use charts & graphs to simplify data display Pie charts should be used to portray the contribution of the parts to a whole. Bar charts should be used while comparing items. To emphasize time, use horizontal bar charts else use vertical bar chart. Line charts should be used to show a variable(s) changing with respect to time.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

118

Funnel charts are to be used to graphically represent data that changes over different periods or stages. Pareto charts are to be used to rank causes from most significant to least significant. Scatter charts should be used to show the correlation of 2 sets of number by plotting where the variables intersect. Area charts should be used to show the relative importance of values over a period of time.

5. Use conditional formatting to focus attention on data outside the normal range. 6. Avoid designing requests that issue overly complex queries. 7. Avoid editing the column formula in the requests. All the calculations and aggregations should be done in the repository. 8. Use smaller request that link to other requests for additional details. 9. The Advance tab of the Answers screen should be used by developers and advanced users only. 10. When the same format of a view should be used across many reports, instead of formatting in each and every report, save the formatting as a template and reuse it across other reports. 11. When the style and size of the font needs to be modified for data in all the reports, make the required changes in the custom style sheet (css) files and move the css files to the test/QA environment, rather than changing the font in every report. Ensure that you take a backup of the css files before modifying them.

Presentation Catalog Security


1. Use presentation catalog groups to filter out irrelevant or unwanted dashboards for users. 2. Organize dashboards by user role to help users locate the data they are interested in. 3. Do not give conflicting permissions to users for dashboards and shared folders. This might override the permissions giving users access to objects for which they are not authorized. 4. Do not give change/delete permission to a folder or a dashboard page for a user/group.

28.3.5

Caching

Cache Management
Follow the guidelines below while selecting a cache management strategy RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182 119

1. Choose a cache management strategy based on how often the data in the database is updated. 2. Queries returning a large amount of data may not be ideal candidates to be cached as large data set will also cause the cache file to be large. The larger the cache, the less performance enhancement can be derived from the cache. 3. Situations in which particular data elements must be refreshed frequently or on a real time basis may also not be good candidates for a caching solution. 4. Purging the cache entries using an Event polling table is not beneficial when the incremental ETL is run once a day or overnight. 5. Parameters for the event table contain table names only and cannot contain an alias. This can lead to misleading results and an alternative purging strategy must be found for the alias. 6. A single event polling table cannot be shared by multiple Oracle BI Servers. When you set up multiple Oracle BI Servers, you need to create an event polling table for each one. 7. Do not set the polling frequency to less than 10 minutes. If you want a very short polling interval, consider making some or all of the tables non-cacheable. 8. Specify multiple cache files on different local high performance disks for the parameter DATA_STORAGE_PATHS. This allows the BI Server to store and retrieve cached results by spreading the I/O across the disks used. Furthermore have a separate disk for each cache folder in the following format:
DATA_STORAGE_PATHS = "/<localhighperformancedisk>/OracleBIData/cache1" 1024 MB, "/<localhighperformancedisk>/OracleBIData/cache2" 1024 MB, "/<localhighperformancedisk>/OracleBIData/cache3" 1024 MB; Cluster aware caching specifies multiple cache files on different shared high performance disks for the parameter GLOBAL_CACHE_STORAGE_PATHS. GLOBAL_CACHE_STORAGE_PATH = /<sharedhighperformancedisk1>/cache1 1024 MB, /<sharedhighperformancedisk>/cache2 1024 MB, /<sharedhighperformancedisk>/cache3 1024 MB; NOTE: Those folders Cache1, Cache2 and Cache3 are separate hard disks, not just three partitions on one hard disk.

Cache Seeding
Follow the guidelines below while seeding the cache 1. Use queries that require a great deal of database or server processing. For example, queries with many joins or a great deal of sorting

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

120

2. Use queries with no WHERE clause that will populate many sub queries. For example, a seed statement of SELECT User, SR from SERVICE_REQUESTS Will provide cache hits for all queries of the form SELECT User, SR from SERVICE_REQUESTS Where User = xx Note: The query that gets seeded must be under the governance limits. 3. Use most commonly used queries Caching a query with 23 joins that is called once a day is not as important as caching a query with no joins that is called 5000 times a day

4. Use SELECT lists with no expressions.

28.4 Scheduler
Following is a list of best practices to be considered while using the Oracle BI Scheduler 1. Modifying the scheduler tables manually is not recommended Oracle does not support manipulation of the scheduler tables

2. Modifying the data directly in the scheduler tables causes unpredictable results The scheduler caches the information it uses in memory, only using the tables for persistent storage

3. Do not modify the SQL scripts for scheduler tables, provided by Oracle.

RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182

121

Potrebbero piacerti anche