Obiee Q&a
Obiee Q&a
Obiee Q&a
organization and its functions/events. Relationships are created between entity tables and its
respective events/functional tables.
OLTP OLAP
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.
Specialty Table:
->OutPatient-> Splty
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.
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
It is extended Star Schema where dimensional tables having one to many relationship between
them.
Example: Day->Week->Month->Quarter->Year
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.
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.
Database.
Example: 1. Mostly used for confirmed dimension tables.
Revenue fact tables are aliased as Last3Year and Last3YearRevenue and a complex
join is created between year and
Granularity level.
organization.
the Siebel Analytics Web server submits request issued by the Siebel Analytics client application.
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
24. Can a Presentation Catalog have tables from different Business Model?
Areas.
To implement Object Level Security.
To remove columns that serves the ONLY purpose of ‘key’ in the Logical Model.
27. Name the Tools offered by Siebel Analytics and its purpose?
Tool Purpose
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 (Client) Provides GUI platform for Analytical Reporting.
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.
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
NQServer.Log This is the log file generated by the SAS upon start up
and thereafter.
.RPD files Repository files that are created using Siebel Analytical
Administration Tool.
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
\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
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
performance by caching query results of requests that are used repeatedly. Reduces workload on
database. Reduces network traffic.
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
43. Name the parameters and its significance that affects Caching feature?
Parameter Description
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.
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.
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
Method Significance
Results of requests can be created (seeded) in the cache periodically using the Siebel Deliver’s
iBot feature. This way user will have access
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.
loaded.
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
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.
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
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
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).
Facilitates to define parent child relationship within dimensional data. Dimensional hierarchy is
pre-requisite to support drill-down reports.
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
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
Example: Customer Table that is partitioned in the database level by the first alphabet of
LastName.
table. Extension table is implemented as Snow Flake Schema in the physical level (0,1 to Many)
and using multiple logical table sources in
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.
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.
Logs-in using Siebel Analytics Web client. Only applicable for applications that connect to SAS thru
ODBC.
79. What Types of Variable supported by SAS and describe them in detail?
RDV_CURRENT_MONTH
RDV_CURRENT_WEEK
WEBGROUPS
LOGLEVEL
SV_ORG_ID
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.
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
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
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.
‘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.
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)
tables are truncated prior to loading. Data in the staging tables are then transformed and loaded
into appropriate target tables by ETL
process.
resource intensive on the fly calculations and improve query response time.
In the SRMW the subset dimension tables are created by filtering the main dimension table. The
main purpose of the dimension to use in
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
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
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.
Web catalog file contains all objects (such as dashboards, requests, filters, prompts, web groups
etc) developed using the
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.
that are having same column or set of columns with ‘Is Prompted’ assigned as filter.
currently by the user. Scope of Page Prompt is limited to the dashboard page it is associated
with.
select the criteria for that column, then generates the request using the criteria selected.
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.
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.
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.
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
119. How many measures and dimension attributes are required to draw Bubble chart?
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.
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?
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>
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
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?
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
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
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
‘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.
Ensure that only for highest granularity (detail level) the system access facts table and for lower
level (group by a dimension attribute) it
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.
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
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
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
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
The Activity Star was wisely modeled using a Combo table. A Combo table is like an extreme
version of modeling Degenerate Keys in
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.
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