28
1. What is Dimensional Modeling? Dimensional Modeling is a kind of database modeling used to support OLAP applications. It contains Dimensional and fact tables and relationships are created between them. 2. What is E-R Modeling? Entity - Relationship Modeling is a kind of database modeling used to support OLTP applications. It contains tables for entities of an organization and its functions/events. Relationships are created between entity tables and its respective events/functional tables. 3. List differences between OLTP and OLAP? OLTP OLAP Used by Operational systems. Example Pharmacy Dispensing, Inpatient Billing, Purchase Order etc. Used by Analytical Applications. Example: Business Intelligence tools such as Siebel Analytics, Business Objects, Cognos etc. Uses Highly normalized DB. Less or no redundancy. Uses De-normalized DB. Data is duplicated to speed up select query and minimize joins Write intensive operations are performed. Example: INSERT/UPDATE/DELETE statements. Mostly read oriented functionalities are performed. Predominantly SELECT statement is used. Data changes more frequently based on the business activity. Data is loaded statically or in specific time period. SQL Queries are performed with more joins to achieve the desired functionality. Less joined SQL Queries used. Small Datasets (records) are retrieved from DB to satisfy transactional functionality. Large Volumes of Datasets (records) are retrieved from DB to satisfy analytical reporting need. Seldom contains summarized tables. Contains summarized tables based on the nature of reporting need.

OBIEE Q&A

  • Upload
    psiebel

  • View
    2.259

  • Download
    3

Embed Size (px)

Citation preview

Page 1: OBIEE Q&A

1.    What is Dimensional Modeling?

       Dimensional Modeling is a kind of database modeling used to support OLAP applications. It contains Dimensional and fact tables and

       relationships are created between them.

2.    What is E-R Modeling?       Entity - Relationship Modeling is a kind of database modeling used to support OLTP applications. It contains tables for entities of an

       organization and its functions/events. Relationships are created between entity tables and its respective events/functional tables.

3.    List differences between OLTP and OLAP?

OLTP OLAP

Used by Operational systems. Example Pharmacy Dispensing, Inpatient Billing, Purchase Order etc.

Used by Analytical Applications. Example: Business Intelligence tools such as Siebel Analytics, Business Objects, Cognos etc.

Uses Highly normalized DB. Less or no redundancy.

Uses De-normalized DB. Data is duplicated to speed up select query and minimize joins

Write intensive operations are performed.

Example: INSERT/UPDATE/DELETE statements.

Mostly read oriented functionalities are performed.

Predominantly SELECT statement is used.

Data changes more frequently based on the business activity.

Data is loaded statically or in specific time period.

SQL Queries are performed with more joins to achieve the desired functionality.

Less joined SQL Queries used.

Small Datasets (records) are retrieved from DB to satisfy transactional functionality.

Large Volumes of Datasets (records) are retrieved from DB to satisfy analytical reporting need.

Seldom contains summarized tables. Contains summarized tables based on the nature of reporting need.

Calculations are derived on the fly to achieve the desired functionality.

Precomputed based on the reporting requirement.

4.    What degree of normalization is used for OLAP DBs?       3rd Normal Form.

5.    What degree of normalization is used for OLTP DBs?

Page 2: OBIEE Q&A

       5th Normal Form or 4th BCNF (Boyce Coded Normal Form).

 6.    Explain Activities of Normalization forms starting from 1 to 5?

Normal Form Activity

1st Attributes of a table are defined.

Repeating attributes are eliminated.

e.g: Doctor, Speciality, Patient, Appointment time

DoctId, Patients, Apt Time

2nd Eliminate Redundancy by enforcing.

Primary or Composite Primary Keys.

e.g: Doctor, Speciality, Patient, Appointment time

DoctId, Speciality, PatId, Apt Time

Avoids: avoid update and delete anomalies

3rd Eliminate attributes that are not depend on Key.

e.g: DoctId, SpltyId, PatId and Apt Time

Specialty Table:

Splty Id, Splty Type, Description, etc.

4th Normal Form Relationships are created between tables.

Doctor, Patient, Specialty

5th Normal Form Isolate Semantically related relationship between tables:

Doctor->InPatient -> Splty

           ->OutPatient-> Splty

7.    What is Star Schema?

       Logical Schema that is created based on Dimensional Modeling. Contains set of dimension tables and one or more facts tables and one to

Page 3: OBIEE Q&A

       many relationship between dimension and fact tables are created.

8.    What is the Dimension Table?

       Dimension table contains the descriptive attributes of business subject of an organization.       Examples: Market, Product, Stores, Customer, and Person

9.    What is the Fact Table?       Fact table contains the measures or metrics of business subjects of an organization.

       Examples: SalesRevenue, ChangeRequests

10.    What is constellation or multi star schema?

        In a schema that contains set of dimension tables that are shared by more than one fact table is defined as “constellation” or multi-star

        schema.        Examples: SalesRevenue, ChangeRequests and ServiceRequests

11.    What is Snow flake schema?

         It is extended Star Schema where dimensional tables having one to many relationship between them.

         Example: Day->Week->Month->Quarter->Year

12.    What is Fact less fact table?

        A fact table that contains no measures other than dimensional keys. The purpose of the Fact less fact table is to support negative analysis

        report.        Example: Store that did not sell a particular product on particular period.

13.    What is Bridge table?

        A table in the dimensional model that is used to handle the situation where there is many to many relationship between tables.        Example: PatientOrderingFact->LabsDimension->TestsDimension.

14.    What is Alias table?        Alias table is derived from the physical table to meet specific reporting requirement. Alias table is created in Physical Layer not in the

        Database.        Example:    1. Mostly used for confirmed dimension tables.

                         2. In a case where there is a requirement to support Last3 year Revenue in a single report. So the Year dimension and

                             Revenue fact tables are aliased as Last3Year and Last3YearRevenue and a complex join is created between year and

                             last3year using Sequence number column and Last3Year to Last3YearRevenue table.

15.    What is Opaque view?        Opaque view is a view created in the physical layer by using a select statement from one or more database tables.

Page 4: OBIEE Q&A

16.    What is Granularity?        Granularity exhibits the detail level of records available in the OLAP database. The more detail records are available the higher the

        Granularity level.

17.    What is the need of Siebel Analytics?        Siebel Analytics is Business Intelligence Tool that allows answering to the questions that are important to make strategic decision in an

        organization.

18.    What is Database in Siebel Analytics perspective?        Database is a higher level object in physical layer that contains connection pools, catalogs (schema), physical database objects such as

        Tables, Opaque views etc.

19.    What is Connection pool?        Connection pool is a physical layer object that contains the database connectivity details. Siebel Analytical Server uses the details in the

        connection pool to establish connection to the physical data source.

20.    How many connection pools a database can have?        Minimum one and No maximum limits. Depends on the requirement CP(s) be created.          Example:    When Usage Tracking (or Write Back Feature) is enabled and configured to use the DB, then it is recommended to

                               use dedicated CP.

21.    What is Siebel Analytics Repository?        Siebel Analytics Repository contains metadata that is used by SAS to generate Dynamic SQL and submit to the physical data source when

        the Siebel Analytics Web server submits request issued by the Siebel Analytics client application.

22.    Can there be multiple physical data source?        Yes. There can be more than one (even different type of DBs) physical data source.

23.    Can a business model have logical table source from different physical data sources?        Yes.  If different types of physical database sources are used then the SAS has to perform merge functionality using the data sets

        retrieved from disparate DBs.

24.    Can a Presentation Catalog have tables from different Business Model?

        No. It is not possible.

25.    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.

26.    Name the components of Siebel Analytics Architecture?

Page 5: OBIEE Q&A

        1.    Siebel Analytics Server (SAS).        2.    Siebel Analytics Web Server (SAW)        3.    Siebel Analytics Scheduler (SASch)        4.    Siebel Analytics Web Client (Answers/Dashboards)

27.    Name the Tools offered by Siebel Analytics and its purpose?

Tool Purpose

Siebel Analytics Administration Tool Used to Create Repository and to perform online administrative tasks such as Managing Cache, User Session, Jobs, etc.

Siebel Analytics ODBC Client This tool facilitates to test the business model by executing logical query against a repository. This tool also allows connecting to physical database thru ODBC and executes SQL queries.

Siebel Analytics Web Catalog Manager. Allows performing various maintenance activities over a web catalog file.

Siebel Analytics Web (Client) Provides GUI platform for Analytical Reporting.

28.    List the basic components of Siebel Analytics Web Client?        Siebel Answers        Siebel Intelligence Dasboards        Siebel Delivers

29.    Describe the complete process when a Siebel Answers Request is executed.

        When a Client application executes a Siebel Answers Request the respective SAW communicates with the designated SAS. Using the

        metadata in the repository the SAS derives the dynamic SQL and forwards the same to Phyiscal database server. When the database

        server returns the result set to SAS, the same is send back to SAW that eventually presents it to the Web client.

30.    What are types of Product Package offered by Siebel Analytics?        Siebel Analytics Standalone.        Siebel Analytics Integrated (Integrated with Siebel CRM Apps.)

31.    How do you call the DB used in the integrated Siebel Analytics?        Siebel Relationship Management Warehouse(SRMW).

32.    Name the files used by the SAS. Also define the purpose of each file.

File Name Purpose

NQSConfig.INI This is the configuration file that contains startup parameters required to start the SAS.

Page 6: OBIEE Q&A

Modification of this file requires SAS re-start.

DBFeatures.INI This file allows to disable/enable the database specific features.

Modification of this file requires SAS re-start.

NQServer.Log This is the log file generated by the SAS upon start up and thereafter.

NQQuery.log This is the log file generated by SAS upon Siebel requests executed by users that have Logging Level greater than 0.

.RPD files Repository files that are created using Siebel Analytical Administration Tool.

Cache When caching is enabled in the NQSConfig.ini, the SAS caches the SQL Query results in the folder specified in the NQSConfig.INI file.

33.    Name the folder where the INI files used by the SAS are placed.        $InstallDir\Config

34.    Name the folder where repository files used by SAS are placed.        $InstallDir\Repository

35.    Can repository files be placed elsewhere in the system?        No. It must be placed in the \Repository folder. Even in the multi-user environment working copy of repository file is kept in the

        \Repository folder.

36.    What is the name of the Section in the NQSConfig.INI that allows specifying the repository (ies) to be used by SAS?        [REPOSITORY]

37.    Can there be more than one repository loaded by the SAS?        Yes. SAS can load multiple repositories at a time. But SAW can establish connection with only ONE repository at a time.

38.    What are the operational modes supported by Siebel Administration Tool?        OnLine. - Repository is loaded into memory by SAS.        OffLine. - Repository is NOT loaded into memory by SAS.

39.    When a repository is opened in the ON-Line mode the Siebel Analytics Administration Tool lists a dialog box that lists all DSN source. What

         is the significance of “Load all objects” check box?

         If this check box is checked then SA 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 expanded).  It is advisable to keep this check box

Page 7: OBIEE Q&A

         unchecked when a huge repository is opened using on-line mode.

40.    What is the need to save, even after the changes are checked in when a repository is loaded in Online Mode?        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.

41.    What is Caching? List the merits of Caching.        Caching is a SAS 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.

42.    How to enable the cache feature in SAS?

        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.

43.    Name the parameters and its significance that affects Caching feature?

Parameter Description

DATA_STORAGE_PATHS Indicates the name of the folder where the Query results should be cached in files and the maximum size of the cache. Usually created in faster hard-drive to reduce response time.

METADATA_FILE Specifies the File Name with location that is used to store (business) details of queries that are cached.

REPLACE_ALGORITHM Indicates the algorithm that is used to replace existing entries when the maximum cache size is reached. Only algorithm currently supported is LRU.

BUFFER_POOL_SIZE Size of memory that is used to store the caching entries in the memory to improve cache response time.

MAX_ROWS_PER_CACHE_ENTRY

Indicates the maximum rows that will be cached against a user/BMM/query.

MAX_CACHE_ENTRY_SIZE Signifies the maximum allowable size for a cache entry.

MAX_CACHE_ENTRIES Specifies maximum allowable cache entries.

44.    When there are four tables involved in a query but one of the table did not have ‘Make table cacheable’ enabled. Will SAS cache the result

        of this query?:

Page 8: OBIEE Q&A

        No.

45.    What is cache hit?        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.

46.    What are the criteria to meet cache hit?        1.    Where clause of the Query is semantically same or logical subset        2.    Same columns or sub set of columns in the select list

        3.    Expressions in the select list that uses the columns that are already cached.        4.    Equivalent Join condition        5.    If Distinct is used, then it should match with query that is cached.        6.    Compatible Aggregation Levels        7.    Order By Clause should match the columns in the select list.

47.    What is ‘stale’ caching?

        Even after the data change occurred in the database server, but the SAS use the data from the cache to satisfy the request, this is called

        stale (out-dated) cache.

48.    What are the methods to purge the cache entries?

Method Significance

Manual Using the Siebel Analytics Server Administration tool (Manage->Cache) cache entries can be purged.

Automatic Using the Event Polling Table/Cache Persistence time.

Programmatically Using ODBC Extension functionality.

49.    What is cache seeding?

        Results of requests can be created (seeded) in the cache periodically using the Siebel Deliver’s iBot feature. This way user will have access

        to current data even though data is retrieved from the cache. 50.    Explain step-by-step procedure involved in configuring Event Polling Table?        1.    Create the event-polling table in the physical database by using the SAEPT.<DB>.SQL file available in the Schema folder of SAS

               installation path.        2.    Import the Event polling table into the Physical Layer.        3.    Run the Siebel Analytics Event Tables utility from SAAdminTool 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.

51.    What are the important columns of EPT used by SAS?

Page 9: OBIEE Q&A

        Update_Type -> Should have value 1.        Table_Name-> Name of the Physical Table that has been changed.        Update_TS-> Timestamp stores when the change occurred.

52.    Explain the use of Merge functionality.        Enables to merge the changes between original (before modification) and modified repository into the master repository that is currently

        loaded.

53.    Explain the Multi-user Checkout process.

        1.   The master repository should be made available in the shared or network folder.        2.   Then the shared or network folder where the master repository is available should be specified in the ‘Multi user development

             directory’ (AdminTool->Tools->Options->More tab).        3.   Whenever changes needs to be made, activate use File->Multi user->Checkout menu. It lists the projects available in the master

             repository. Select desired Project. Then save the repository with unique name. It automatically makes another repository with

             original.rpd, as suffix and this repository will be used at the time of merge.        4.   After making changes in the repository, activate File->Multi User Checkout -> Merge Local Changes menu. This makes a lock on the

             master repository in the shared folder, a log entry is created and the master repository is copied into the local system’s Repository

             folder.        5.   After the merge is completed, then invoke File-> Multi User Checkout -> Publish to Network menu. This copies back the master

             repository into shared folder, releases the lock on it and makes an entry in the log marking the completion of changes.

54.    Explain the Usage of Project.        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.

55.    What are the types of join available and explain them in detail.         Simple Join:    This join is used to create a link between tables using Primary Key of Dimensional table and the foreign key of a Fact

                               table. Mostly used in the Physical Layer.         Complex Join: This is used to establish a link between tables using keys that are neither Primary nor Foreign Key. Predominately used in

                               the Logical Layer and occasionally used in the Physical Layer.

56.     What is the significance of multiple logical source in the logical model.         Enables the SAS to combine data from different physical data sources (tables) into single logical source and select the best physical

Page 10: OBIEE Q&A

         source to satisfy the query.         Example:    Converting Snowflake Schema to StarSchema.                          1. Year-> Quarter-> Months-> Week -> Day table joined as OpenDate Table.                          2.    Product->Product Classification (Internet Security, Anti Virus, Communication, Desktop etc.)                          3.    Order Header and Detail Tables.                          4.    Fact and Aggregate Fact table.

57.     What is calculated measures?          Calculated measure is a measure that is derived from another logical or physical measure. Calculated measure can be created:

          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).

58.    What is dimensional hierarchy?

        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

59.    What is the maximum level of hierarchy supported by Siebel Analytics?         10. If repository is created with more than 10 levels of hierarchy SA raises exception.

60.    What is RAGGED hierarchy?

        A hierarchy in which each level have a consistent meaning, but the branches have inconsistent depths because at least one member

        attribute in a branch level is unpopulated. SA does not support this type of hierarchy directly. But can be achieved thru ETL process by

        having ‘Not Applicable’ as value for respective level (in the below example <Not Available> as value for State for Greece).        Example:    Continent->Country->State->City                          North America->USA->CA->San Francisco                          Europe->Greece->->Athens

61.    What is the significance of ‘Number of elements at this level’ in the Logical Level dialog box?

        It signifies how many rows exist for the respective dimensional attribute in the database. This is an approximate value, but helps the SAS

        to determine the best execution method. This is a noticeable performance factor.

62.    What is aggregate navigation?        Aggregate navigation is a technique used by SAS to speed up requests by using the aggregate fact

Page 11: OBIEE Q&A

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 only for detail level uses the fact table

63.    What is level based measures?         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.

64.    When do you use fragmentation content?         Is a way to model multiple sources of data that specifies what data is located where, so the SAS 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.

65.    What is Slowly Changing Dimension?         Allows you to account for data changes occurs over a period in a dimensional table.         Example:    Country Manager Effective Period

66.    What are the types of Slowly Changing Dimension?        Type1 - No History is maintained.        Type2 - Every version of history is maintained (Effective Start/EndDate).        Type3 - One version of History is maintained. (CURRENT and PREVIOUS value columns)

67.    What is Extension table?        Extension table is used to implement physical schema changes made in the OLTP system without modifying the vanilla Dimension and fact

        table. Extension table is implemented as Snow Flake Schema in the physical level (0,1 to Many) and using multiple logical table sources in

        the logical model.        Example:    W_SALES_FACT_X contains credits provided to educational institutions when the product is licensed.    68.    What is the usage of Time Series wizard?         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).

69.    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

Page 12: OBIEE Q&A

               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 table.

70.    What are the Time Series Calculations available?        Change.        Percent Change        Index        Percent

71.    How do you override lexical sorting of a column? Example: Month Name sorted not by alphabetically but order of month.        By assigning another column in the “Sort Order Column” field of a logical column. When this column used in a Siebel Answers Request,

        sort will be performed based on the column specified in the “Sort Order Column” field.

72.    What is authentication?         Authentication is the process that validates the credentials of the user who logs into the Siebel Analytics.

73.    What are the types of Authentication supported by SAS?        LDAP (Lightweight Directory Access Protocol).        Database Authentication.        External Table Authentication.        OS Authentication.

74.    How does the LDAP server works?        Never got a chance to work using this type of authentication!

75.    How does the Database Authentication works?        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 SAS attempts to login to the database server. If the login succeeds, then the user is

              connected with Siebel Analytics or else they are not.

76.    How does the External Table Authentication works?        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, LOGLEVEL etc.        5.    Create an initialization block that selects values from the respective database table(s) that maintains authentication details. Assign

Page 13: OBIEE Q&A

               this Initialization Block to the respective system session variables.

77.    Describe OS Authentication.        Modify the AUTHENTICATION_TYPE key of SECURITY section of NQSConfig.INI to BYPASS_NQS.        OS Authentication enables the SAS 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 SAS thru ODBC.

78.    What is variable in terms of Siebel Analytics?        SAS uses the variable as they are in any programming language to store value in the memory.

79.    What Types of Variable supported by SAS and describe them in detail?

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.

80.    What Types of Repository Variables are available?

Type Details

Static

Example:

RSV_DW_DSN

RSV_DW_USER

As the name itself implies that value assigned to the static repository variables remain unchanged unless SAS is restarted or changed by the user using SAAT ONLINE mode. This is equivalent to constants in the programming languages. Initialization block cannot be used to assign value to the static repository variable.

Dynamic

Example:

RDV_CURRENT_YEAR

RDV_CURRENT_QTR

RDV_CURRENT_MONTH

RDV_CURRENT_WEEK

Dynamic repository variables are similar to variables in any programming language. Values of Dynamic variables can be changed at any point of time. Initialization Block must be assigned to the dynamic variables to initialize/refresh.

81.    What Types of Session Variables are available?

Type Details

Page 14: OBIEE Q&A

System

Example:

USER

GROUP

WEBGROUPS

LOGLEVEL

System session variables are pre-declared one. SAS 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.

Non-System

Example:

SV_POSITION_ID

SV_ORG_ID

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.

82.    What is Initialization Block?         Initialization Block is a routine pre-defined in the SAS 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.

83.    How to create Initialization Block?

        1.    Go to SAS and activate Project->Variables menu. Click over the Initialization Blocks tree-view item and right click over the pane on

               the right hand side. Activate New Initialization Block pop-up menu.        2.    Type a name of the IB.        3.    Assign the connection pool that should be used to execute the SQL.        4.    Enter relevant SQL in the Initialization String field.        5.    Set Refresh time to schedule the refresh values dynamically. Only applicable for Dynamic Repository variable.

84.    What is the significance of Row-wise Initialization?

        This feature enables to initialize system session values from the database table (i.e both Variable name and its values are retrieved from

        database).

        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 set

        operation of SQL. (Used in conjunction with IN clause of SQL).

        This feature is available only for session variable.

85.    What is the difference between SQL used in the Initialization Block and rest of SAS?

Page 15: OBIEE Q&A

        The SQL used in the IB refers direct physical database objects. SQL Objects referred in the query does not have to exist in the physical

        layer.  SQL defined in the IB is executed automatically on re-start of SAS if it is assigned to repository variable otherwise it is executed for

        every user session.

86.    What is the syntax to use variables in the expressions?        VALUEOF(<RepositoryVariable>).        VALUEOF(NQ_SESSION.<SessionVariable>)

87.    What is the impact when a dynamic repository variable is refreshed automatically?        All Cache entries associated with that variable in a business model will be purged automatically.

88.    What level of Security methods supported by SAS?        Data Level security that is called permissions.        Object Level security that is called privileges.

89.    What is data level security?        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.

90.    What is object level security?        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.

91.    What is Usage Tracking?        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.

92.    How can the Usage Tracking feature be enabled?        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.

93.    What are the table types that come with Siebel Relationship Management Warehouse?

        Internal        Staging        Dimension        Fact        Subset Dimension        Mini Dimension        Slowly Changing Dimension (SCD)        Helper        Hierarchy        Aggregate        Extension

94.    What is Image Table? How many image tables are used in SRMW?

Page 16: OBIEE Q&A

        Image table captures the data changes occurred after last ETL load. The following are the image tables used by SRMW:

        S_ETL_R_IMG (1 to 83)        S_ETL_I_IMG (1 to 83)        S_ETL_D_IMG  (1 to 83)

95.    What is Staging Tables?        Staging tables are the tables that store the incremental data extracted from OLTP transactions. Before each ETL process these staging

        tables are truncated prior to loading. Data in the staging tables are then transformed and loaded into appropriate target tables by ETL

        process.

96.    What is Aggregate Table?        Aggregate table contains the summation of facts by a given dimension or set of dimensions. Purpose of aggregate table is to avoid

        resource intensive on the fly calculations and improve query response time.

97.    What is Subset Dimension Table?

        In the SRMW the subset dimension tables are created by filtering the main dimension table. The main purpose of the dimension to use in

        conjunction with aggregated tables.

98.    What is Mini Dimension Table?        In the SRMW the Mini Dimension tables are created using the combination of most frequently used attributes of their parent dimension. The

        purpose of Mini Dimension Table is to improve query response time.

99.    What is Helper Tables?        Normally the relationship between Dimension and Fact table is 1:N, but there are circumstances that will have many-to-many relationship.

        To overcome this issue helper tables are created.

100.    What are the SRMW System Fields?          ROW_WID          DATASOURCE_NUM_ID          INTEGRATION_ID          ETL_PROC_WID.

101.    How many ODBC data source should be created in the SAS/SAW setup?          Minimum of 2 data sources required to be created however actual number of data source will be created based on the implementation

          strategy.

          One ODBC data source for database connectivity. The connection pool in the physical layer will use this data source to establish

          connection between SAS and database server.

          One ODBC data source of Siebel Analytics Server type. The SAW will use this data source to establish connection to SAS.

Page 17: OBIEE Q&A

102.    What is the default port no used in the ODBC data source used by SAW?          9703. This should match with RPC_SERVICE_OR_PORT entry in the SERVER section of NQSConfig.INI file. If this port is consumed by some

          other TCP/IP services, the next available port can be used.

103.    What is the configuration file used by the SAW and where does it exists?          Instanceconfig.xml and it exists in the SiebelAnalyticsData\Web\Config folder.

104.    What is the web catalog file?

          Web catalog file contains all objects (such as dashboards, requests, filters, prompts, web groups etc) developed using the

          Siebel Analytics web client application.

105.    Where do you specify what catalog file should be used by SAW?          In the CatalogPath element of the instanceconfig.xml file.

106.    How the SAW determines that which SAS server it should communicate?          In the DSN element of the instanceconfig.xml file holds the value of ODBC data source that indicates which SAS should be

          communicated.

107.    What is Siebel Answers?          Siebel Answers is a work area in the Siebel Analytics web client that facilitates to create requests (reports), filters, dashboard prompts,

          etc. using the available subject areas.

108.    What is Siebel Intelligence DashBoard?          SIDB is area in Siebel Analytics application that allows viewing the results of pre-configured requests/charts.

109.    What is Siebel Delivers?          Siebel Delivers is a work area in the Siebel analytics web that enables to create and configure pro-active reporting that will be delivered

          to users thru intelligence dashboards, email, mobile, PDA etc.

110.    What is Shared Filter?          Filter created to restrict rows based on requirements using columns of a subject area. If the filter is saved in the shared folder then it can

          be associated with many requests.

111.    What is Global Filter?          Global filter is used in the Dashboard to prompt the user to select report criteria on the fly. It affects all the requests in the dashboard

          that are having same column or set of columns with ‘Is Prompted’ assigned as filter.

112.    What are the Prompts available?          Dashboard Prompt (Global Filter), Page Prompt, Column Filter Prompt, and Image Prompt.

113.    What is Page Prompt?          Page Prompt is used in the dashboard to enable the user to select criteria for requests listed in the dashboard page that is being used

Page 18: OBIEE Q&A

          currently by the user. Scope of Page Prompt is limited to the dashboard page it is associated with.

114.    What is Column Filter Prompt?          Column Filter prompt is associated with a request. When this request is assigned to a dashboard, Siebel analytics will prompt the user to

          select the criteria for that column, then generates the request using the criteria selected.

115.    What is Image Prompt?          Image prompt and Column Filter prompt are functionally same, instead of showing values, the image prompt displays an image and allows

          the user to select the region (co-ordinate) in the image and takes value associated for that region and generates the request. When

          image prompt is created column values are assigned to particular co-ordinates of the image.

116.    What are the types of views available and describe them?

View Description

Compound View Enables to display request results with one or more than one view at a time.

Table View Displays the request results in tabular form

Title View Allows having title/sub title/report run time to be associated with request results.

Piviot Table Allows to inter change rows as column when request results are displayed. Also enables to have computed columns created on the fly based on values of rows/columns.

Gauge View Displays results as Gauge image.

Column Selector Enables the user to dynamically choose columns that are part of the requests.

View Selector Allows the user to choose view types that are associated with the request.

Ticker Allows displaying results of a request as scrollable or slide-able format.

Narrative Text Allows displaying results of a request in a descriptive manner using the values of request results.

Filter View Used to display filters/prompts applied over a request.

No Results View Used to display customized message when a request does not produce any result.

Page 19: OBIEE Q&A

117.    What are the types of charts?          Charts          VerticalBar          Horizontal Bar          Pie          Area          Bubble          Line          Step          Scatter

118.    Can a database query directly be used from the web client?          Yes, by using Create Direct Request feature. This feature by passes the SAS and sends query directly to the database server using the

          connection pool associated with it.

119.    How many measures and dimension attributes are required to draw Bubble chart?

         3 fact measures and a dimension attribute.

120.    What is the restriction for using SQL in the Prompts/Filters?          The SQL can refer only logical (presentation catalog) objects listed in the Subject Areas.

121.    How do you disable the drilldown feature of a request?          Go-to Column properties of the column that allows drilldown. Select Column format tab and select ‘No interaction’ as value for Value

          Interaction Type.

122.    How to set image that should be displayed based on range of the value of a column?          Go-to Column properties of the respective column and select Conditional Format tab. Add a condition and assign cell image that

          should be displayed when the condition is met. Keep adding condition for all range of values and set cell image.

123.    What is the use of Bins?          It allows to summarize the results based on a value of column.

124.    What is the functionality of constrain attribute in the dashboard/page prompt?          When more than one column is used, this feature enables to restrict values listed for column based on the prior columns.             Example:    The Product column lists the value based on the ProductType that is chosen.

125.    There are two requests Request1 and Request2. Request2 will be navigated from Request1 when a ColumnA of Request1 is clicked. When

          Request2 is displayed it should filter records based the value of ColumnA of Request1. How can this be achieved?

          In the Request2 create a filter on ColumnA with ‘Is Prompted’ as criteria.

126.    Is there a way to have scrollbars for requests associated in a dashboard page?

          Siebel Analytics does not support this directly, but can be achieved using the following work-around:          a.    Instead of placing requests directly into the Dashboard Page, place them as Embedded content.          b.    How to Set URL Property of Embedded content:                The following is the syntax:

Page 20: OBIEE Q&A

                http://<webservername>/analytics/saw.dllPreviewGo&SearchID=<SearchID>&

                ItemName=<RequestName>&Folder=<FolderName>&LocItemName=<RequestName>

                How to find <SearchId>, <RequestName>, <FolderName>? :

               Goto Siebel Answers and Modify the respective request. You get all the values there.

                If an ‘answer’ request happens to get deleted, then the search id gets changed. So the above step should be repeated (assigning

                respective search id). This is quite a big limitation. Also there might be issues associated when printing these requests as PDF/ using

                Dashboard Prompts etc.

                Modify the answerstemplates.xml by removing entire content (but leave just <HTML></HTML> alone) of kuiAnswersPreviewGoBanner

                node.  This step eliminates the banner, and header row being displayed.         c.    Restart SAS/SAW.

127.    What needs to be done to have pre-defined Header/Footer to be displayed in the Dashboards?

          The kuiDashboardDefaultElements should be configured with appropriate values and stored in the CustomMessages folder under

          SiebelAnalyticsData\Web\Res folder.

128.    Can a single answer request be created using objects from different Subject Areas?

          Not possible to create a single answer request using objects from different Subject areas, however using the ‘Combine With Similar

          Request’ feature, a request can be combined with another request(s) that was created using different subject area. The data type of

          columns should match otherwise Siebel Analytics will throw ‘Inconsistent data type’ error. Also security rights should be properly handled.

129.    When a report is printed from the Dashboard page by clicking on the 'Print' Report Link, the prompts that were applied to the results in

          that report also to be printed. Is this possible?

          Yes. Add the ‘Filter View’ to the request so that Prompts there applied. But this displays the filter name instead of content if the request

          is associated with any shared filter.

130.    A dashboard prompt is shared by all requests in the dash board with Equal operator, but for one request the operator should function as

          ‘<=’ rather than ‘=’. How to make this workable?          1.    Save as the request that requires ‘<=’ operator as <RequestName>Real.          2.    In the ‘real’ request, instead of using ‘Is Prompted’, use ‘Filter based on results of another request’ and choose the request that has

                 ‘is Prompted’. Ensure that the ‘<=’ operator is used and respective column is selected.          3.    In the dashboard use ‘real’ request instead of the request that has ‘is Prompted’.

Page 21: OBIEE Q&A

131.    There are three fields Start Date, End Date (Constrained!) and Category from the same table in a Dashboard Prompt. But the issue is that

          when category is selected the End date values are constrained. What is the solution to this issue?

          <Though logically it is working exactly, the requirement is different! No clue at all. Yet to find a solution! >

132.    When a request that contains drilldown column (dimensional hierarchy). For userA has access to all columns in that hierarchy and userB

          do not have access to 2nd level column. What will happen when userB drill downs this request?

          When userB drilldowns from 1st level column then the request drilldowns to 3rd level column.

133.    What needs to be done to improve performance in UI?          Ensure that only relevant fields are displayed in the report.

          Ensure that only for highest granularity (detail level) the system access facts table and for lower level (group by a dimension attribute) it

          access the aggregated fact table.

          Enable the cache feature.

134.    How to track changes in OLTP source from SA Admin Tool?

          Using Event Polling Table.

135.    How does SAS know that it has to access aggregate level table but not detail level table?          SAS determines this by using the hierarchy level associated for the fact table in the logical source.

136.    What is the relationship between the Group and WebGroup?          If a Webgroup is created with the same name of a Group in the Siebel Administrator Tool then the users assigned to that ‘Group’

          automatically inherits privilege assigned to the ‘Web Group’.

137.    Can a Global filter be created using a computed column?          Not possible.

138.    What are types of indexes available?          B-tree and Bitmap (Only in Oracle from 9i onwards).

139.    When does bitmap index is used?          Bitmap indexes are used in OLAP database for columns having less selectivity. For example: GENDER, MARITAL STATUS etc.

140.    When does B-tree is used?          B-tree indexes are used for columns having high selectivity.

141.    What are the new features in 7.8.2          Yet to find.

142.    What is confirmed dimension?          Confirmed dimension is a dimension used across in more than one business model.

143.    How to create link in Physical Layer using confirmed dimension?

Page 22: OBIEE Q&A

          Create an alias table using the confirmed dimension table and use the alias table to create link to fact table of the business model.

144.    How do you decide when to use Repository/Webcat file to implement object level security?          Only when there is requirement that restrict access to particular table or column in a presentation catalog then repository should be used

          otherwise object level security should be implemented in the webcat file.

145.    Why do you specify the content filter?          The content is used to specify what content is accessed using that table.

146.    What are the tables involved in configuring scheduler?          S_NQ_JOB, S_NQ_JOB_PARAM, S_NQ_INSTANCE and S_NQ_ERR_MSG tables

147.    There is a report causing error in data. From where do you begin your debug?

          a.    Get the active physical by activating Admin-> Manage Session-> ViewLog (of the cursor) from Siebel Analytics Web Client and

                 analyze to debug the error.

148.    What kind of fact tables that you had used in your recent project?          Regular fact and fact less fact table (to support negative analysis report).

149.    What is materialized view?

          A materialized view (MV) is similar to a view but the data is actually stored in the database (view that materializes). Materialized views

          are often used for summary and pre-joined tables, or just to make a snapshot of a table available on a remote system. A MV must be

          refreshed when the data in the underlying tables is changed.

150.    There is region, product and a fact table. How do you create the trend chart displays each region seperatelty in a single view?          Create Pivoted table view, move the region column into section of the pivot table and check the ‘Chart Pivoted Results’ check box.

151.    How do you create request that returns TOP 10 values of a report?          Request can be created with TOPN operator filter.

 

152.    List the Best Practices recommended by Siebel for Dashboard development          1.    No horizontal scrolling.          2.    Not more than 10 to 15 columns in a table          3.    Not more than 2 or 3 pages          4.    Presentation catalog – S_Contact – 50 columns          5.    Don’t use the same physical column name in the presentation catalog          6.    Always use complex join in BMM

153.    What is a "Combo Table"?          The Activity Dimension is created in the Logical Layer with a data from Activity_F and W_LOV_D.          Why has the Activity Star no Atvivity Dimension in the Physical Layer?

 

          The Activity Star was wisely modeled using a Combo table.  A Combo table is like  an extreme

Page 23: OBIEE Q&A

version of modeling Degenerate Keys in 

          Dimensional Modeling theory.

          Analytics can logically convert a physical table into both a logical  dimension and a logical fact.  By using a combo table, a) the loads 

          are easier b) less storage is required, and c) no join is needed  between _F and _D.

          This is a good practice when dealing with transactional records that  are used as both Dimensions and Facts - reduces work, errors, 

          complexity, and especially for large tables, can greatly improve  performance.

          Unfortunately, Siebel chose not to do this on many other of their stars.

154.   List Sibel Datawarehouse table type with their respective suffix?

SUFFIXTabletype

_A Aggregate

_D Dimension

_DX Dimension Extension

_DS Staging for dimension

_DSX Staging for Dimension Extension

_DH Dimension Hierarchy

_F Fact

_FX Fact Extension

_FS Staging for Fact

_FSX Staging for Fact Extension

_G, _GS, _S Internal Table

_H Helper table

_MD Mini dimension

_SCD Slowly-changing Dimension

155.    What is "Data Visibility" present in "Siebel Delivers\General" Tab?

156.    What is funnel chart? When do you use funnel chart?

157.    Do you use Level Based mesasure for Granular Level?

158.    How do you implement Cache Management for Drilldown Reports?