1. What is a chasm Trap and Fan Trap
Trap is a
join pathway between two entities, is either ambiguous or false and which may
results into incorrect data or results.
There are two
Traps in BO
1.
Chasm
Trap
Th Chasm trap occurs when two “many to one” joins converge on a single table. For example a customer can place many orders/and or place many loans. Fan trap. The Fan trap occurs when a “one to many” join links a table which is in turn linked by another “one to many”
2.
Fan
Trap
Chasm Trap |
Fan Trap |
A chasm trap is a type of join path between three
tables when two "many-to-one" joins converge on a single table, and
there is no context in place that separates the converging join paths.
|
A fan trap occurs when two “many-to-one” joins
follow one another in primary-detail form (OrderDetails), and the query
includes a measure from both the leaf table (OrderDetails) and its immediate
primary (Orders)
|
A-B-C ( Measure(A)-Dimmension (B)-Measure(C)) |
A-B-C C (
Measure(A)-Dimmension (B)-Measure(C)) |
Company has n Dept an n Employee |
A Bank can have many customer and many customers
can have many accounts |
To resolve a chasm trap you need to make two separate queries and
then combine the results. Depending on the type of objects defined for the
fact tables, and the type of end user environment, you can use the following
methods to resolve a chasm trap: Create a context for each fact table. |
There are two ways to solve a fan trap problem. Create an alias for the table
containing the initial aggregation, then use Detect Contexts (Tools >
Detect Contexts) to detect and propose a context for the alias table and a
context for the original table. This is the most effective way to solve the fan trap problem |
2, What are derived Tables in Business Objects?
A Derived Table is a logical table created in Business Objects Universe using an SQL query. A derived table in a universe is analogous to a view created in database with a SELECT statement.
To add a derived table to Universe, navigate to Insert → Derived Tables. This will open Derived table dialog box. You need to enter Derived table name and SQL query to select data in derived table. You can also make use of tables and columns along with Operators and Functions to create expression for derived table.
Using Derived table, you can limit the data returned from a table in Universe. Derived table are created based on SQL query at Universe level and can be used as logical table while creating Universe.
Following are the advantages of using Derived table in the Universe −
Derived tables can be used to perform complex calculations
They are used to reduce maintenance of database summary fields. Instead of using aggregate tables in Universe, you can use derived tables to return same data.
Adding a Derived Table to Universe
To add a derived table to Universe, navigate to Insert → Derived Tables.
BO 4.0
Architecture:
SAP BusinessObjects Business Intelligence
platform can be thought of as a series of conceptual tiers.
1. Client tier
2. Web tier
3. Management tier
4. Storage tier
5. Processing tier
6. Data tier
Steps shows the interaction of platform
components when a user logs on to BI launch pad.
STEP 1: On Web Client a login request is
generated and passed to Web Application server through web server.
STEP 2: After determining login request username, password and authentication
type is passed to Central Management Server (CMS) for authentication.
STEP 3: CMS Validated Username and Password against the appropriate Database.
STEP 4: User session is created by CMS
STEP 5: CMS Lets Web application server know about successful validation
STEP 6: Web Application server creates logon token for the session and
generates next page a
STEP 7: WPS send next web page to web server
STEP 8: Web server sends web page to the web client.
Architecture
of BO 3.0
Business Objects XI 3.1 Enterprise Architecture
Introduction: Architecture Tiers
Business Objects XI
is a five tier, server-based product that comprises a number of logical
servers. These servers run as services based on windows. The Business Objects
Enterprise technical architecture is composed of a set of components or so
called servers, optimized for specific tasks and operations. These five tiers
include;
1.
The Client Tier
2. The
Application Tier
3. The
Intelligence Tier
4. The
Processing Tier
5. The
Data Tier
To provide flexibility,
reliability and scalability, the components which make up BOE, can be installed
on one machine, or distributed across multiple machines.
CLIENT TIER
This tier is made
up of the applications that enable people to administer, publish and view reports
and other objects.
They have divided
their client applications into two parts.
1. Browser
Based/Web Based: In BO we have only two web based applications.
· Info
view
· Central
Management Console
2. Window
Based/Package Based: All the remaining applications present in the BO are
window based applications. They are;
· Central
Configuration Manager
· Publishing
Manager
· Import
wizard
APPLICATION TIER
BO can be installed
either on JAVA platform or .NET platform. For both JAVA and .NET platforms, the
application tier has two components. They are;
1.
Application Server: It acts as the gateway between the web server and the rest
of the components in Business Objects Enterprise. It is responsible for processing
requests from your browser.
2.
Web Component Adapter (WCA): It processes ASP.NET and Java server pages files.
It also supports BO applications such as CMC and Crystal report viewers.
It will take login
credentials from the login page and hand it over to Central Management
Console (CMC).
INTELLIGENCE TIER
This layer consists
of the following servers.
1. Central
Management Server (CMS): The role of CMS is as follows;
· User
Authentication
· Access
Validation
· Redirecting
request to desired servers.
2. Cache
Server: This server is responsible for handling all report viewing
requests. It stores the report pages in a cache, by doing so; the BOE avoids
accessing the database each and every time a report is requested. It is like
all the recently opened report pages are managed by this server.
3. File
Repository Server (FRS): It can be divided into two sub servers which are;
· Input
File Repository Server (IFRS): This server consists of all the users
login credentials, folders, groups, access privileges, saved and exported
reports.
· Output
File Repository Server (OFRS): This server consists of all the schedules
instances of the reports.
4. Event
Server: This server manages all the scheduled File-based events. It
monitors the directory that we specify when setting up a file based event. When
the appropriate file appears in the monitored directory, the Event server
triggers the file based event.
PROCESSING TIER
This server consists
of the following servers which are as follows.
1. WEBI
Report Server: To create new WEBI reports, open, modify existing WEBI
reports. It processes scheduled WEBI documents and generates new instances of
the document, which it stores on the OFRS.
2. WEBI
Job Server: To schedule WEBI reports. It processes scheduling requests it
receives from the CMS for the WEBI documents.
3. DESKI
Report Server: To create new DESKI reports, open, modify existing DESKI
reports.
4. DESKI
Job Server: To schedule DESKI reports. It processes scheduling requests it
receives from CMS for DESKI documents. It generates the instance for DESKI
document.
5. Report
Application Server: It is one of the server which is useful to create new
Crystal reports, open, modify existing Crystal reports.
6. Report
Job Server: It is one of the servers which is used to schedule Crystal
reports. The Report Job Server updates the CMS with the job status. It
generates report instances.
7. Page
Server: It is primarily responsible to page requests by processing reports
and generating EPF. This server’s job is to compress WEBI, DESKI and Crystal
reports into Encapsulation Page Format (EPF).
8. Document
Processing Server: To convert WEBI, DESKI and Crystal reports into required
formats like PDF, WORD and EXCEL.
9. Controlling
Server: To manage connection between Business Objects and all other target
Data Sources.
10. Destination
Job Server: To deliver scheduled copies to the end user destination
location. It processes the requests that it receives from the CMS and sends the
requested instances to the specified destination.
11. List of
Values (LOV) Server: This server manages all the LOV’s during the Run Time.
12. Program
Job Server: This server’s job is to execute external programs into BO.
DATA TIER
The Data tier is made up of the databases that
contain the data used in the reports. Business Objects Enterprise supports a
wide range of corporate databases.
Webi
Reports:
Calculation
Context:
1. What is Calculation Context?
The calculation context is the data that a calculation takes into account to generate a result.
This means that the value given by a measure is determined by the dimensions used to calculate the measure.
A report contains two kinds of objects:
- Dimensions represent business data that generate figures. Store outlets, years or regions are examples of dimension data. For example, a store outlet, a year or a region can generate revenue: we can talk about revenue by store, revenue by year or revenue by region.
- Measures are numerical data generated by dimension data. Examples of measure are revenue and number of sales. For example, we can talk about the number of sales made in a particular store.
Measures can also be generated by combinations of dimension data. For example, we can talk about the revenue generated by a particular store in 2005.
- the dimension or list of dimensions that determine the measure value
- the part of the dimension data that determines the measure value
The calculation context has two components:
- The input context========
However there is couple of use case where this approach breaks or does not work all great. We will shed some light on it here
Case 1 : There are some scenario where the measures that are calculated are not fully additive. For example if the measure is based of a Average or percentage then the default syntax approach would not work right. Some times these measure needed to be calculated by a database query rather then the reporting engine and here comes the need for smart measure. That is a topic of discussion for another post however.
Case 2 : What happens if there is a case I want to see the sales figure by month also I want the maximum sales for any given month for the year in the same record. Now here come the need for calculation syntax. Calculation syntax is nothing but overriding the default syntax of the section or table and then replacing it with a new set of dimension to calculate.
Now we will go a little deeper into the calculation syntax.Now as we have understood the problem there is actually more to it. In the specific syntax we are needed to change the group by which is the basis on which we calculate the number also we need to aggregate the results themselves to be printed into specific areas of the reports like the report header/footer , breaks , sections footers or some other places cross tab reports. So there is actually two problems still, one ask the reporting engine to tell the group by clause like in SQL (Input Context ) or we want to tell where we want it to print the formula like report footer/header or a block with a break (Output Context )
Input Context :
Input context is quite simple to understand , basically it is asking the formula to be calculated based on specific context like group by clause in SQL.
For example if I have a revenue measure and its just defined as SUM([Revenue]) and we put it with dimension like year. So the results will be like the query below.
Select Sum(Revenue) , Month
from Sales
Group by Month
Similarly the group be clause would change it you put it along with Year.However if you want to show the max monthly sales in entire year along with sales for each month you have to use the input context for the max monthly sales in the year. The syntax is as below.Which you can also get easily from internet. Now remember the default context you have in your section is Month.
Max ([Revenue] In ([Year]))
Remember the input context should be in parenthesis and all the dimensions needs to be separated by semicolons. Even if you use one dimension you need the parenthesis.
So what it actually does , it basically adds a measure which is calculated based on a different group by clause and merges the results into your report using your common dimensions. Simple ??
If you are well versed with Oracle SQL and analytic function you can still get the results in the query below.
Select Month , Sum(Revenue) ,
Max(Revenue) OVER ( partitioned by Year )
from Sales
group by Month
So whats is so great about them , honestly ; NOTHING. Its just the way you need to do complex calculation in SAP Business Objects.
Now lets see here we just defined all the dimensions based on which the calculation needs to be done.So what happens when I have 20-30 or even more dimension which are being used in the report. Do you need to explicitly write all of them into the formula if you need to use the calculation syntax.
The answer is Yes but there are some easier ways to do it..
So here comes the need for addition or deletion of some dimension from the default calculation context and they are ” FOREACH” and ” FORALL”. The objective is very simple “ForEach” adds a new dimension to the default context and “ForAll” removes a dimension to the default context.
Here is a example :
YEAR QUARTER SALES YEAR TOTAL
2012 1 100 1000
2012 2 200 1000
2012 3 300 1000
2012 4 400 1000
2011 1 100 1100
2011 2 200 1100
2011 3 300 1100
2011 4 500 1100
Here the default syntax is YEAR and Quarter. So if I want to calculate the Year total as shown above , I can just remove the Quarter from default syntax using “FORALL”. Now the formula would be like below.
Sum([Revenue] FORALL ([Quarter]))
Similiarly if you need to produce the monthly max sales within querter you can use ForEach.
MAX([REVENUE] FOREACH [MONTH])
As this post has already become so large I will spare the talk about the output context to another post..
Hope this is helpful and please do share your commentsLike
2. What is Input Context and Output
Context?
3. What is In, ForAll and ForEach
function is doing in calculation context?
4. What is Database Delegate functions
in Universe?
5. What are projection functions in
Webi?
Aggregation works at database, projection works at report level.
Projection helps roll up the data to higher level. If I do not mention any aggregate function, I will get all rows without any aggregation.
For an instance, if I define a measure with no aggregate function but projection function like Database Delegated/Sum, what result shall I expect?
Will the report roll up data according to projection function?
6. What are smart measures?
7. What is a microcube?
8. What are input filters in webi?
9. What is section and break and
difference between them?
10. What is merged dimension and its
uses?
11. What is extended merged dimension?
12. What is forcemerge function?
13. What is database ranking and rankig
in webi?
14. What are alerters?
15. What do you mean by incompatible
objects in webi?
16. What is query striping?
Each time you refresh a query,
Web Intelligence strips the objects which are not contributing to the report
(directly or indirectly) from the report as well as from the SQL Viewer tab. It
refreshes only the query that is directly related to the report. The stripped
objects get deleted from the report and appear as bold in the Data map to allow
easy identification of the stripped objects. You can drag and drop these
objects if you want them to appear in the report again. Once you drag and drop
these objects, the column header of the report displays the object definition
and data cells display #Refresh . Refresh the query again to allow the
stripped objects data to appear in the report.
Note: Query Stripping is applicable
only for OLAP database users.
17. How to improve the performance of a
report?
Ans:1. Use Index Awarness for better
performance
2. Use Query stripping property.
3. Use database delegate measures as a projection for the measures.
4. Use only merged dimensions that are needed.
5. Reduce the use of Scope of Analysis if it in not needed.
6. Reduce the use of charts if it in not needed.
7. Use query filter instead of report filters: A Query Filter is a filter that is
added to the SQL Statement for a report. Query Filters limit the data that is
returned by the Database server itself by adding to the WHERE clause of the SQL
Statement.
.
A Report Filter is
a filter that is applied at the Report Level and is only used to limit the data
displayed on the report itself. All of the data fetched from the Database is
still available behind the scenes, but the report itself is only showing what
is not filtered out.
.
There is a time and a place for both Query Filters
and Report Filters but understanding the differences between them is a good way
to ensure that you are not causing unnecessary delays in your report rendering
and refreshing. It is best to predesign Query Filters in your Semantic Layer
design but you can also add them manually using the Query Panel within Web
Intelligence itself.
8. Schedule reports to save time
and resource.
9. Limit on the use of dataprovider.
10. Avoid Auto fit when not required: The
Autofit functionality allows you to set a cell, table, cross-tab or chart to be
resized automatically based on the data. A cell for example, has the option to
Autofit the Height and Width of the cell based on the data size. The below
screenshot shows this feature in the Applet Interface for a cell.
This is a great
feature for the presentation of the report but it can cause some performance
delays when navigating through pages or generating a complete document.
.
NOTE: The default setting
for a cell is to enable the Autofit height option. This could impact the
performance of your reports so it is important to no how this can affect
performance.
.
How does this
affect performance of the report?
.
When autofit is
enabled for objects on a report, the Processing Server has to evaluate the data
used in every instance of that object in order to determine the size of the
object. This means that in order to skip to a particular page of the report,
the processing server would need to calculate the size for every object that
comes before that page. For example, if I have 100,000 rows of data in my
report and I navigate to page 1000, then the processing server has to generate
all of the pages leading up to page 1000 before it can display that page. This
is because the size of the objects on each page is dynamically linked to the
rows of data so it is impossible to determine what rows will be on page 1000
without first calculating the size of the objects for each page preceding it.
.
In short, this
option adds a lot more work to the page generation piece of the report
rendering process. A fixed size for height and width allows the processing
server to determine how many objects fit on each page and allows it to skip the
generation process for pages that are not requested.
.
For another example: if I have 100,000 rows and
have set my objects to fixed width/height, then the processing server knows
that 50 rows will fit on each and every page. If I request page 1000, it will know
that the rows on that page will be rows 50,000 to 50,050. It can then display
that page with just those rows in it. Way quicker than having to generate 999
pages first!
11. If ranking is there in the report
tried to use database ranking instead of report or using rank function, however
here your database need to support the database ranking function.
1. What are predefined filters?
It is a best practice to create pre-defined filters (known as conditions) to help end business users to define the required filters in their analysis and reports. for example if we have the following account statuses:
- N: Normal
- D: Dormant
- I: In Active
- C: Closed
Assume that there is business rule that state the following: active accounts are the accounts which is normal or dormant.
The best practice is to create a pre-defined filter (Active accounts) which will filter only normal and dormant accounts as per the definition. this filter will be available in the business model and the end user can easily select this filter in his/her report or analysis to narrow the report results to only active accounts.
As a best practice, you should define all your business rules during business requirements gathering session. then you need you data analyst to translate it in a technical IT form (usually SQL condition). Then you need to create the corresponding conditions (Pre-defined filters) in the business model at BO universe designer.
How to create a condition (pre-defined filter):
First you need to switch to condition list, then navigate to the folder that you want to create your condition in. this folder should some how related to your condition. for example if you have a product class (folder) and you want to create a condition to filter on electronic products like TVs, Radios…etc. then the product folder is the best place to create that condition. click on the condition icon (yellow cone) and then follow the steps in the following section to define your condition
what you need to define you condition (pre-defined filter):
Condition Name: this name should be descriptive and in business terms. For the earlier active account example. we named our filter active account because this describe the business rule clearly.
Condition description: You should write a description here about this filter, when to use it. what you expect when you use it.
Condition where: this should contains the technical SQL statement generated by the data analysis for the business rules. you can use the formula editor for more complex conditions.
Formula Editor:
Mandatory filters:
You can site your condition to be used as a mandatory filter in your universe or class by ticking the following option while creating your condition:
Use filter as mandatory in query:
Apply on universe: filter will be applied on every query generated using this universe.
apply on class: filter will be applied if any object used from the current class.
apply on list of values: filter will be applied on all LOV (list of values) generated for each object inside this class (folder). Please note that this option available only after you select apply on class
Types of conditions:
- filters: it doesn’t need any input from the user. it will apply the criteria impeded inside this condition when dragged to the query filter.
- Prompt: It will ask the end user for his input to apply the filet.
2. What is Scope of Analysis in a
webireport?
Scope of Analysis in Query Panel can retrieve extra data from the database to give more details on the results for each object in the Query. This extra data will remains available in the Data cube.
I heard people having different understanding about Scope of Analysis function in SAP Business Objects report and let’s see what exactly it means.
Let say I have Address hierarchy in universe (Country -> State -> Division -> Region -> City -> Zip Code) and these hierarchies can be used in report for Drilling.
Features:
Scope Analysis option available in Webi / Deski Reports query panel and it allows you to set the scope at query time.
For example, I have selected Country and Net Sales in my Query and SQL for query will looks as below.
Report would display the data as below.
Let’s enable drill option to do Drill through the Address Hierarchy from Country to Region and the result as below.
Now Webi report brought Region object into the query without adding the object in the query panel and you can do same way for Division, State, City and Zip code to drill down in report. Each time you drill next level; report will hit the database and bring the respective object data.
To avoid each time Database access in the report, will use Scope of analysis and see how it is behaving in your report.
Note: Scope of analysis by default is set to none in Query panel.
I will enable scope of analysis and from drop down I selected “One level”. Now report will brought Region object in scope of analysis and query. Region object is one level after Country object but there is no change in result objects pane and it will remain Country and Net Sales.
Run the report and your report will have Region object and even we have not selected that object in the query panel select section and it will be available in your report for drag & drop analysis.
Note: Scope of Analysis option in the Query Panel is only available for relational universes and not for OLAP sources.
Even though we have not selected Region in the select, it is available in query and in left pane (data pane), Means by selecting scope of analysis, report brought the Region object also, when we ran the query for Country and Net Sales.
Now, if we drill the report from Region to Country, report won’t hit database to get the required data. But if I try to drill further from Region to Division, it will hit the database to bring Division data. Basically Scope analysis helps in avoiding database hit for each time if you are drilling the report for analysis.
To avoid each time database hit for your analysis and you can set the scope of analysis as “Custom” and add all the required objects in the query from that hierarchy into scope of analysis section and it won’t hit database for any level of drilling which will be stored in Webi microcube.
Note: Desktop intelligence report will allow you to drill down till the level you have defined in scope of analysis and for rest of the level to drill, you have to right click on the column and use drill by whereas this is not the case with Web Intelligence reports.
Access Level for Scope of Analysis:
There is an Webi security rights for scope of analysis and you can setup the rights in CMC->Application->Webi then “Extend Scope of Analysis”. If you deny this access for particular user, that user cannot go beyond the specified scope of analysis for that particular report.
For example, UserA having grand access for “Extend Scope of Analysis” and his report has defined scope of analysis as 1 level (considering the above example), even though he can drill the report from Region to Division by hitting database. Imagine another userB having denied access for “Extend Scope of Analysis” and he cannot drill from Region to Division. So by defining the access for “Extend Scope of Analysis”, you are actually allowing user to access only the levels you want him to drill down.
An overall view of Scope of analysis is:
Defining scope of analysis for hierarchy objects in the query for the levels you have specified and it won’t hit the database while drilling for each levels. If you are well known of the users requirement of a drilling for your report you can very well set this option in your report to avoid each time database hit for each level of drilling and it will save your report refresh time and also help users to get requested data faster and also will avoid database traffic
3. What are the different types of
filters used in webi reports?
4. Difference between IDT and UDT?
Ans: The universes which are
designed in UDT are UNV universes whereas the universes which are designed in
IDT are UNX universes. In UDT we don’t have multi-resource universes enabled
whereas in IDT we have this option. IDT is enhanced and more organized as
compared to UDT.
5. What is BI Launch Pad?
Ans: BI
launch pad is a SAP BO BI 4.0 business user tool used for broadcasting the
reports. It provides an interface to the SAP BO business intelligence platform
repository that enables us to navigate to view & manage our business
intelligence documents. It is a web based application/portal from where we can
access the reports and organize the reports as per our need.
6. What is a conditional filter?
7. What is a conditional formatting?
Ans: Conditional Formatting is used to highlight some specific values in the report. If you want
you can show specific low or high values with some specific colors.
8. What is a measure and a dimension
objects?
9. What is the difference between a
query filter, report filter and block filter?
10. What are the different chart types
in webi?
11. What is a combine query?
12. How can you add multiple query
filter in a report?
13. How can you use queries from
different datasources in a single report?
14. What is an input control?
Ans: Ans: controls using text boxes and radio buttons. Input
controls are associated with report elements like tables and section headers
and use control to apply filter on report elements.
When you select a value of an input
control, it filters the values in report element that is associated with input
control by selected value.
Input Controls can also be used on
hierarchical data.
15. How to schedule a report in webi?
16. What is the difference between a
custome hierchy and report based hierchy?
17. How to remove duplicate values from
your webi reports?
18. What are object store?
19. What is a infocube?
Ans: Infocube is data storage area in which we maintain data which
we are extracting from source system physically. An InfoCube can function as
both a data target and an InfoProvider. From a reporting point of view, an Infocube can be described
as a self-contained dataset.
20. What is a bex query?
21. How can we sort the values on the
report in a pattern as per our requirement?
And: We can apply a custom sorts
22. What are parameters and list of
values in BO 4.0.
23. What is cascading LOV in webi?
24. What is data federation in webi?
Ans: Tightly
integrated in the SAP BusinessObjects Enterprise platform, the data
federation service enables multi-source universes by distributing queries
across disparate data sources, and lets you federate data through
a single data foundation
25. How to combine two webi report from
two different datasources?
26. What is the difference between
Hidden, active and deprecated objects?
Ans: We have
below three state of object in BI 4.x business layer.
1. Active (will use
for reporting).
2. Hidden (will not
available for reporting).
Deprecated (will not available for
reporting).
·
Active: Object is visible in the Query Panel. This is the default state.
·
Hidden: Object is valid but not available in the Query Panel (used by
other objects as a hidden object).
Deprecated: Object is hidden and not
valid. One possible use for this state is when the target database field no
longer exists, but you want to keep the object for possible future use.
27. . A Web Intelligence document
consists of three components. What are they?
Answer:
A Web Intelligence document contains:
○ A data provider or query
○ A report
○ Blocks of data
2. A query filter contains three components.
What are they?
Answer:
A query filter contains:
○ An object
○ An operator
○ An operand
3. What object type does not have a list of
values?
Answer:
A measure
4. When you list values in a formula, what must
you use to separate the values?
Answer:
A semi-colon
5. What are the two benefits provided when you
apply a break to a table?
Answer:
You can use the break to:
○ Group data
○ Display sums
6. What are the differences among a query filter,
a report filter, and a block filter?
Answer:
A query filter limits the data returned from the
database.
A block filter allows selected data to display
in a single block and hides the other data.
A report filter allows selected data to display
in a page and hides the other data. The report
filter applies to all data blocks on the page.
7. What is the difference between a section and
a break?
Answer:
A section impacts the whole report page; a break
impacts the table or crosstab to which you
apply the break.
A section allows you to display multiple blocks
of data on the same page. A break does not
allow you to display multiple blocks of data on
the same page.
8. What is the difference between an ascending
or descending sort and a custom sort?
Answer:
Ascending and descending sorts impact the column
of the block to which you apply the
sort.
Custom sorts impact the data in an object. When
you apply a custom sort to an object, the
custom sort impacts all the blocks that use the
object.
9. Why purge the data in your document?
Answer:
You can use the purge function:
○ When you want a document to refresh when the report user opens it, but
you do not
want the report user to see the existing data,
for reasons of security, for example.
○ When you want to send a data-heavy document to a report user. You can
make the
document lighter when you purge the data.
Consequently, the document arrives more
quickly.
10.What is the difference between a dimension
and a detail?
Answer:
A dimension displays values that report users
want to see in their documents. You can use
a dimension for a scope of analysis. You can
merge a dimension with a dimension from
another data source to synchronize two different
data sources.
A detail provides additional, complementary
information to the information contained in
a dimension and must be associated with a
dimension. A detail cannot serve in a scope of
analysis or merge with an object from another
data source to synchronize two different data
sources.
11.You have two queries on two different data
sources. Query 1 returns 10 rows for Region.
Query 2 returns 12 rows for Region_Area . You
synchronize the two data sources by merging
the Region and Region_Area objects.
How many rows appear after the synchronization?
Answer:
When the Region and Region_Area objects contain
data in the same format and case, after
synchronization:
○ 12 rows appear when the 10 values for Region match some of the 12
values for
Region_Area .
○ 22 rows appear when 10 values for Region do not match the 12 values for
Region_Area.
When the Region and Region_Area objects contain
data in different format or case, after
synchronization 22 rows appear. Web Intelligence
handles similar values with different
format or case as different values.
12.You have a report with the objects Region,
Year, and Sales revenue in Query 1, and you
have another report on a different data source
with Region, Area, and Sales total in Query
2. Which objects do you choose to merge to
synchronize the information in one table?
Answer:
You choose the Region objects because they are
the only common dimensions. You cannot
merge a measure so you cannot use the Sales
revenue and Sales total objects.
13.When you synchronize two queries from
different data sources, what rules must you respect?
Answer:
Respect the following rules:
○ Object names can differ.
○ The data type for the merged objects must be the same.
○ Data must have the same case because the data provider is
case-sensitive.
○ You can only synchronize on dimensions.
○ You can only display measures with synchronized dimensions. When you
use them for
another purpose, duplicate values appear.
14.Can you synchronize the data between a Web
Intelligence document and an Excel
spreadsheet?
Answer:
In Web Intelligence XI 3.x, when a dimension
appropriate for merging exists in the two
documents, yes, you can.
28.
Quiz:
Advanced Query Techniques
29.
1. What are the three types of query techniques
used in this lesson?
Answer: Combining, Subquery, and Duplicating a
query to build another.
2. If you were to use the UNION operator to
combine queries, what would be the result?
Answer: The result returns all records that
satisfy one of the two conditions. This is equivalent
to using an OR between query filters.
3. If you were to use the INTERSECTION operator
to combine queries, what would be the
result?
Answer: Only records that matched ALL criteria
would be returned. This is the equivalent
of doing an AND between query filters.
4. If you were to use the MINUS operator to
combine queries, what would be the result?
Answer: All records that match the first query
condition and not the second condition.
Where you place the queries determines which is
the first condition and which is the second
condition.
5. List two reasons why you might want to use
combined queries.
Answer:
○ To make the construction of the query easier.
○ When it is not possible to apply the required query filters using
Boolean logic.
6. Can you do a subquery and return exactly the
same results as a combined query?
Answer: Depending on the query, yes.
7. Which subquery operand type means that Web
Intelligence will look for only one instance
of a value from the subquery that meets the
query filter?
○ a. ALL
○ b. ANY
Answer: ANY. The Any option means that Web
Intelligence only looks for one instance of
a value from the subquery that meets the query
filter. If it finds one, it then ceases the
comparison with the remainder of the subquery
output.
8. Why would you choose to do a combined query
rather than a subquery?
Answer: Combined queries tend to be faster at
returning the data.
9. When you change a data source, what can you
choose to do to the objects in the original
query?
Answer: You can map them to objects in the new
data source or delete them from the query.
30.
Quiz:
Calculation Contexts
31. 1. What is an input
context?
Answer:
The input context is the list of dimensions that
are included in the calculation itself.
2. What is an output context?
Answer: The output context is the dimension
level in which the calculation is to be displayed
in the report. For example, the output context
can be the dimension displayed at the row
level; the dimension displayed at the break
level, and so on.
3. Which of the following is an extended syntax
context operator?
○ NoFilter()
○ ForEach
○ Block
Answer: ForEach
NoFilter() is a function. Block is an extended
syntax keyword.
4. Which of the following is an extended syntax
keyword?
○ NoFilter()
○ ForEach
○ Section
Answer: Section
Universe:
1. What is @Prompt in Universe?
Ans: A prompt is a filter in the form of a question displayed by Web Intelligence that you answer by selecting specific values. When you answer a prompt, it determines the data displayed in a report.
In BO there is a function called as @PROMPT to
create Dynamic Filter. Type the below parameters for @Prompt(1,2,3,4,5)
1 = 'Prompt Text Message'
2 = 'Prompt Type' (i.e. A,N,D,U)
where A= Character, N= Number, D= Date, U= Unit.
3 = 'Class Name/ Object Name'
4 = 'Multi/ Mono'
Multi means Multiple ( Example = 2004,2005,2011)
Mono means Single ( Example = 2012)
5 = Free/Constrain (Type value or select value in
LOV/ Select Value)
Example for creating a @prompt filter is below
@Prompt('enter year','A','time period/year',
Multi', Free)