You are on page 1of 24

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 Used by Analytical Applications.


Pharmacy Dispensing, Inpatient Billing, Example: Business Intelligence tools such
Purchase Order etc. as Siebel Analytics, Business Objects,
Cognos etc.

Uses Highly normalized DB. Less or no Uses De-normalized DB. Data is


redundancy. duplicated to speed up select query and
minimize joins

Write intensive operations are performed. Mostly read oriented functionalities are
performed.
Example: INSERT/UPDATE/DELETE
statements. Predominantly SELECT statement is used.

Data changes more frequently based on Data is loaded statically or in specific time
the business activity. period.

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

Small Datasets (records) are retrieved from Large Volumes of Datasets (records) are
DB to satisfy transactional functionality. 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 Precomputed based on the reporting


achieve the desired functionality. requirement.

4. What degree of normalization is used for OLAP DBs?


3rd Normal Form.
5. What degree of normalization is used for OLTP DBs?
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
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.

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?


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.

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

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_E Indicates the maximum rows that will be cached


NTRY 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?:
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?


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

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

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

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 As the name itself implies that value assigned


to the static repository variables remain
Example: unchanged unless SAS is restarted or changed
by the user using SAAT ONLINE mode. This is
equivalent to constants in the programming
RSV_DW_DSN
languages. Initialization block cannot be used
to assign value to the static repository variable.
RSV_DW_USER

Dynamic Dynamic repository variables are similar to


variables in any programming language. Values
Example: of Dynamic variables can be changed at any
point of time. Initialization Block must be
assigned to the dynamic variables to
RDV_CURRENT_YEAR
initialize/refresh.
RDV_CURRENT_QTR

RDV_CURRENT_MONTH

RDV_CURRENT_WEEK

81. What Types of Session Variables are available?


Type Details

System System session variables are pre-declared one.


SAS does NOT allow to create a new system
Example: session variable. Only pre-declared session
variables can be used. Initialization Block must
be assigned to the system session variables.
USER
Value of the system session variables is not
changed during a user session.
GROUP

WEBGROUPS

LOGLEVEL

Non-System Non-system session variables are created


based on the need. It must be assigned to an
Example: Initialization Block. Value of Non System
session variable remains same during a user
session.
SV_POSITION_ID

SV_ORG_ID

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?

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

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

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.

Used to display filters/prompts applied over a request.


Filter View

Used to display customized message when a request does not


No Results View produce any result.

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:
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’.

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?


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
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?

SUFFIX Tabletype
_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?

You might also like