Tuesday, July 6, 2021

Interview Questions

 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?

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:

BO 4.0 Architecture diagram.PNG

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 calculation context of a measure has two components:
  • 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========
===========================================================In SAP Business Objects the WebI tool is designed to put some intelligence based on selected dimension for calculation of any measures. For example if you select a couple of objects like Month and Sales.Then the BO will group by all the sales records by month however if you drag Year with sales its will automatically group by the measure by Year within its reporting engine and show it by year. This works great for most of the simple scenario.

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?

Ans: Query Stripping enables you to optimize the query generation automatically. With Query Stripping enabled, Web Intelligence generates a query containing only those objects that effectively contribute to a report. It improves the performance of the report by sending the stripped query to the connection server.

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

10-22-2013 2-03-11 PM

 

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.

 10-22-2013 1-51-15 PM

Formula Editor:

10-22-2013 2-04-34 PM

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

 10-22-2013 1-51-15 PM

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.

SOA1

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.

SOA2

Report would display the data as below.

SAO3

Let’s enable drill option to do Drill through the Address Hierarchy from Country to Region and the result as below.

SOA4

SOA5

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.

SOA6

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.

SOA7

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.

SOA8

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)



 


 

 


Interview Questions

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