Contents 1.
Business Intelligence
3
2.
Oracle BI Products :
3
3.
OBIEE Architecture
4
4.
OBIEE Repository Basics
12
4.1 Building Physical Layer of a Repository
12
4.2 Building Business Model and Mapping Layer
16
4.3 Building Presentation Layer of a Repository
20
5.
Testing and Validating a Repository
23
6.
Adding Multiple Sources to Dimension
26
7.
Adding Calculations to a Fact Table
28
8.
Creating Dimensional Hierarchies and Level Based Measures
33
9.
Using Aggregate Tables
36
10.
Using Partitions and Fragments
38
11.
Object Level Security
40
12.
Data Level Security
44
13.
Variables
46
14.
Cache Management
50
15.
Multi-User Development Environment
54
16.
Configuring the OBIEE Scheduler
58
17.
Usage Tracking
60
18.
Administration Tool Utilities
62
19.
OBIEE Cluster Servers
67
20.
Oracle BI Publisher
71
21.
Oracle BI Answers
76
22.
Dashboard
85
23.
Oracle BI Delivers
91
24.
Data Warehouse Administration Console
93
25.
Oracle Business Analytics Warehouse Overview
95
26.
Oracle Business Analytics Warehouse Architecture
95
27.
OBIEE 11g Summary of New Features
97
27.1 User Experience
97
27.2 New Interactive Visualizations
97
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182
1
27.3 Best-in-Class MOLAP User Interface 27.4 Best-in-Class Query & Analysis User Interface
98 99
27.5 Oracle Scorecard and Strategy Management
100
27.6 BI Search
100
27.7 Enhancements to BI Publisher
101
27.8 Spatial Integration
102
27.9 Oracle BI Server 11g Enhancements for Essbase
103
27.10
103
28.
Action Framework
PROJECT BEST PRACTICES & Coding Standards
28.1 Introduction
104 104
28.1.1
Purpose
104
28.1.2
Definitions and Acronyms
104
28.2 Administration & Production Support
104
28.2.1
Performance Monitoring/Tuning
104
28.2.2
Clustering
105
28.2.3
Production Support and Maintenance
106
28.3 Designing & Development
107
28.3.1
General Design
107
28.3.2
Designing the Business Models
107
28.3.3
Repository
108
28.3.4
Presentation Catalog
117
28.3.5
Caching
119
28.4 Scheduler
RR I-TEC #209,Nilagiri Block,Adithya Enclave,Ameerpet @8801408841,8790998182
121
2
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
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
4
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
5
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
6
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
7
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 user‘s 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
Level 2 Logs
User name, session ID and request ID for each query
All Items as in Level 1
SQL for the request using business model names
Repository name, business model name and presentation catalog name
Query Status ( Success, failure, termination or timeout)
SQL for the request using physical data source syntax
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 Wizard’s 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 user‘s 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 hierarchy—grand total—first 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
Data is partitioned using more than one technique Example: Invoice sales data is partitioned by value and level
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
Complex
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
Authentication occurs when Oracle BI server queries the external database and locates a match to the user name and password submitted
Authorization
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
From Oracle BI Answers, select Settings >> Administration >> Manage Presentation Catalog Groups and users to create catalog groups
Assign Users
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
Description
Enable
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
Ignore
The filter is not used, but any other filter on the object is applied (for example, through a group)
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 user‘s 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 user‘s 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
Return a list separated by colon Used for implementing security when users normally belong to more than one group
Presentation
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}{}[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 user‘s session and is active only till the user‘s 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 user‘s 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(). VALUEOF(NQ_SESSION.). 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 Deliver‘s 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..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 repository‘s 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
Edit Metadata as you would during single-user development
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
Caveats:
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
Description
S_NQ_JOB
Stores information about the scheduled jobs
S_NQ_INSTANCE
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
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
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 to‗Yes‘. 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 Oracle‘s 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 organization’s 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 organization’s business Each column in request has three rows: First row displays the folder name Second row contains: 1. Column name 2. Order By icon—used for sorting Third row contains: 1. Format Column button—set formatting options for the column 2. Edit Formula button—create a formula involving this column (and perhaps others in the subject area) 3. Filter by Column button—set a filter on the column to limit the results 4. Remove Column button—remove 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 content’s 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 and 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 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