bo interview question

35
1. What are the differences between Personal, Shared and Secured connections? 1. A Personal connection is created by one user and cannot be used by other users. The connection details are stored in PDAC.LSI file. 2. A shared connection can be used by other users through a shared server. The connection details are stored in SDAC.LSI file in the Business Objects installation folder. However one cannot set rights and securities on objects in a shared connection. Neither can a Universe to export to repository using a shared connection. 3. A secured connection overcomes these limitations. Through it rights can be set on objects and documents. Universes can be exported to the central repository only through a secured connection. The connection parameters in this case are saved in the CMS. 2. What are custom hierarchies? How can they be created? Custom Hierarchies are defined in a universe in order to facilitate custom drill down between objects from same or different classes according to user requirement. They can be created from Tools -> Hierarchies in the BO Designer.

Upload: mani-kandan

Post on 13-Apr-2016

19 views

Category:

Documents


1 download

DESCRIPTION

SAP BO

TRANSCRIPT

Page 1: Bo Interview Question

1. What are the differences between Personal, Shared and Secured connections?

1. A Personal connection is created by one user and cannot be used by other users. The connection details are stored in PDAC.LSI file.

2. A shared connection can be used by other users through a shared server. The connection details are stored in SDAC.LSI file in the Business Objects installation folder. However one cannot set rights and securities on objects in a shared connection. Neither can a Universe to export to repository using a shared connection.

3. A secured connection overcomes these limitations. Through it rights can be set on objects and documents. Universes can be exported to the central repository only through a secured connection. The connection parameters in this case are saved in the CMS.

2. What are custom hierarchies? How can they be created?Custom Hierarchies are defined in a universe in order to facilitate custom drill down between objects from same or different classes according to user requirement. They can be created from Tools -> Hierarchies in the BO Designer.

Page 2: Bo Interview Question

3. What is a context in universe? How are they created?In an universe, a context defines a particular join path between tables or a specific group of joins for a particular query. Any objects created on a table column which belong to specific contexts is naturally compatible with all other objects from same contexts. When objects from two or more contexts are used, separate SQL is generated and results are then merged in a micro cube. This makes sure that no incorrect result is generated due to loop or any other join path issue.

Contexts may be created using detect contexts feature or manually. They are generally created based on logical calculation and business requirements, hence the detect context method is not very effective. To manually create a context Go to Insert Context, give the context name and select the joins that should be present in the context. For a universe contexts should be created in a way that all joins(except shortcut joins) fall in at least one context

Page 3: Bo Interview Question

4. What is a chasm trap? How can it be solved?In a dimensional schema based universe, we may have one dimension table joined with two fact tables such that both of them are one-to-many joins(F >- D -<F ). In such a scenario, if we drag a measure each from both the fact tables along with dimensions from dimension table, the value of the measures in the fact tables are inflated. This condition is known as chasm trap.

A chasm trap can be solved using 2 methods:

In the universe SQL parameters, the option, generate multiple queries for each measure needs to be selected. This will generate separate SQL statement for each measure and give the correct results. However, this method would not work, if a dimension (for example date) occurs multiple times in the result set due to chasm trap.

Page 4: Bo Interview Question

A better approach is to put the two joins in two different contexts. This will generate two synchronized queries, thus solving the problem.

5. What is a fan trap? How can it be solved?In a universe structure, we may have 3 tables joined in such a way that, the 1st table has a one to many join with the 2nd table, which in turn has a one to many join with the 3rd table(A -< B -< C). In such a scenario, if a measure is present in the 2nd table and it is dragged along with any dimension from the 3rd table, the value of the measure will be inflated. Such a condition is known as a fan trap.

A fan trap is solved by creating an alias of the 2nd table and defining contexts such that, the normal table is joined only with the first table, while the alias is joined with both the 1st and the 3rd table. We would take 2nd table’s measure only from the normal table and other dimensions of the 2nd table from the alias table

6. Should we encounter fan traps in a data warehouse scenario? If so, then how?If a data warehouse is based on the Kimball model, it is a dimensional schema. In a universe built on that DW, for a fan trap to occur in such a schema, we require direct join between two fact tables, which is against the principles of dimensional modeling.

Page 5: Bo Interview Question

On the other hand in a data warehouse based on Inmon model, it is a normalized schema. Though in such a case, universes are generally designed on Data Marts, which are dimensional schemas (where fan traps should not occur). However, if a universe is built on the DW (for the purpose of operational reporting), then a fan trap can occur in that universe

7. What is aggregate awareness? What is its advantage?Aggregate awareness function is used in scenarios where we have same fact tables in different grains. Using this function we can define only one object for the measures in the fact tables as

@aggregate_aware(highest_level,lower level)

We also need to define dimensions for associated granularities and define their incompatibilities with the corresponding facts through the aggregate navigation. This is accesses through Tools -> Aggregate Navigation1. What are the differences between Personal, Shared and Secured connections?

1. A Personal connection is created by one user and cannot be used by other users. The connection details are stored in PDAC.LSI file.

2. A shared connection can be used by other users through a shared server. The connection details are stored in SDAC.LSI file in the Business Objects installation folder. However one cannot set rights and securities on objects in a shared connection. Neither can a Universe to exported to repository using a shared connection.

3. A secured connection overcomes these limitations. Through it rights can be set on objects and documents. Universes can be exported to the central repository only through a secured connection. The connection parameters in this case are saved in the CMS.

2. What are custom hierarchies? How can they be created?

Custom Hierarchies are defined in a universe in order to facilitate custom drill down between objects from same or different classes according to user requirement. They can be created from Tools -> Hierarchies in the BO Designer.

Page 6: Bo Interview Question

3. What is a context in universe? How are they created?

In an universe, a context defines a particular join path between tables or a specific group of joins for a particular query. Any objects created on a table column which belong to specific contexts is naturally compatible with all other objects from same contexts. When objects from two or more contexts are used, separate SQL is generated and results are then merged in a micro cube. This makes sure that no incorrect result is generated due to loop or any other join path issue.

Contexts may be created using detect contexts feature or manually. They are generally created based on logical calculation and business requirements, hence the detect context method is not very effective. To manually create a context Go to Insert Context, give the context name and select the joins that should be present in the context. For a universe contexts should be created in a way that all joins(except shortcut joins) fall in at least one context

Page 7: Bo Interview Question

4. What is a chasm trap? How can it be solved?

In a dimensional schema based universe, we may have one dimension table joined with two fact tables such that both of them are one-to-many joins(F >- D -<F ). In such a scenario, if we drag a measure each from both the fact tables along with dimensions from dimension table, the value of the measures in the fact tables are inflated. This condition is known as chasm trap.

A chasm trap can be solved using 2 methods:

In the universe SQL parameters, the option, generate multiple queries for each measure needs to be selected. This will generate separate SQL statement for each measure and give the correct results. However, this method would not work, if a dimension (for example date) occurs multiple times in the result set due to chasm trap.

Page 8: Bo Interview Question

A better approach is to put the two joins in two different contexts. This will generate two synchronized queries, thus solving the problem.

5. What is a fan trap? How can it be solved?

In a universe structure, we may have 3 tables joined in such a way that, the 1st table has a one to many join with the 2nd table, which in turn has a one to many join with the 3rd table(A -< B -< C). In such a scenario, if a measure is present in the 2nd table and it is dragged along with any dimension from the 3rd table, the value of the measure will be inflated. Such a condition is known as a fan trap.

A fan trap is solved by creating an alias of the 2nd table and defining contexts such that, the normal table is joined only with the first table, while the alias is joined with both the 1st and the 3rd table. We would take 2nd table’s measure only from the normal table and other dimensions of the 2nd table from the alias table

6. Should we encounter fan traps in a data warehouse scenario? If so, then how?

If a data warehouse is based on the Kimball model, it is a dimensional schema. In a universe built on that DW, for a fan trap to occur in such a schema, we require direct join between two fact tables, which is against the principles of dimensional modeling.

On the other hand in a data warehouse based on Inmon model, it is a normalized schema. Though in such a case, universes are generally designed on Data Marts, which are dimensional schemas (where fan traps should not occur). However, if a universe is built on the DW (for the purpose of operational reporting), then a fan trap can occur in that universe

7. What is aggregate awareness? What is its advantage?

Page 9: Bo Interview Question

Aggregate awareness function is used in scenarios where we have same fact tables in different grains. Using this function we can define only one object for the measures in the fact tables as

@aggregate_aware(highest_level,lower level)

We also need to define dimensions for associated granularities and define their incompatibilities with the corresponding facts through the aggregate navigation. This is accesses through Tools -> Aggregate Navigation

The advantage is that in a Webi or Deski report when one drags the measure object with the dimension object of a particular granularity, the measure column from the Fact table of the corresponding granularity is selected in the BO default Query. If we did not use aggregate awareness, we would need to define separate objects for each of the fact tables which would be difficult to understand from a user’s point of view.

8. What are the 2 different approaches of implementing aggregate awareness? Which one is better in terms of performance?

The 2 approaches are as follows:

1. Aggregate tables are built in the database, which contains the dimension fields(not foreign keys) along with the aggregated measures. In the universe they are present as standalone tables, i.e they are not joined with any dimensions. Aggregate aware function is used to define both the dimensions and measures of such tables.

Page 10: Bo Interview Question

2. No aggregate tables are built in the database level. They contain the normal fact table at different granularities. In the universe, aggregate aware is used only to define the measures and aggregate incompatibility is set accordingly.

The first approach is better in terms of performance, since for the higher levels of aggregation, all the information is obtained for a single table. However, a large scale implementation of this approach in a dimensional schema is difficult. In most BI projects, the second approach is preferred

9. What is a derived table? What is its utility?

A derived table is a table created in the universe using an SQL Query from database level. The columns selected in the query become the columns of the derived table. A derived table can be used for complex calculations, which are difficult to achieve in report level. Such calculations are done in query level itself.

Another use of derived table can be to access tables from a different schema through a dblink.

10. How is a derived table different from a view? Which one is a preferred solution?

Page 11: Bo Interview Question

A derived table is present only in the universe level, while a view is created in data base level. Generally views are preferred since, in its case the onus of calculation remains on the database and it does not load the BO server. However, in cases where developers do not have access to database, derived table is the only solution.

11. How can we access one derived table from another?

We can access one derived table from another using the function @derived_table. The syntax is:

@derived_table(Derived Table Name)

12. What is Index Awareness? How is it implemented?

Index awareness is a property of the universe, by means of which values in the filter conditions of the queries/data providers built from the universe, are substituted by their corresponding indexes or surrogate keys. Generally the values in the filter condition come from a dimension table (like country etc) and we require a join with the fact table to get this value.

However, if index awareness is implemented, this join is eliminated and the query filter takes the equivalent index value from the fact table itself.

To implement index awareness, one needs to identify the dimension fields which are to be used in query filter. In the Edit Properties of the object, we get a Keys tab. In this tab, the source primary key of the table from which the object is derived needs to be defined as primary key, and the database columns for all foreign key relationships with the other tables also need to be defined here. Once this is done for all required dimensions, the universe will become index aware

Page 12: Bo Interview Question

13. How can we use index awareness in universe prompt?

An extended prompt syntax is available since BO 3.1. It is as follows

@Prompt( ’message’, 'type’, [lov],

mono/multi,

free/constrained/primary_key,

persistent/not_persistent,

{'default value':'default key'} )

If the indexes for the dimension object is defined in the universe and we define the prompt condition on the object with the clause ‘primary key’ in place of free or constrained, then the filter condition will convert the prompt values entered to their corresponding indexes and eliminate the join with the dimension table

Page 13: Bo Interview Question

14. What is a condition object? How is it different from query filter?

To know the answer of the above question (and many such high frequency BO Reporting questions) please continue to the next page:

The advantage is that in a Webi or Deski report when one drags the measure object with the dimension object of a particular granularity, the measure column from the Fact table of the corresponding granularity is selected in the BO default Query. If we did not use aggregate awareness, we would need to define separate objects for each of the fact tables which would be difficult to understand from a user’s point of view.

8. What are the 2 different approaches of implementing aggregate awareness? Which one is better in terms of performance?The 2 approaches are as follows:

1. Aggregate tables are built in the database, which contains the dimension fields(not foreign keys) along with the aggregated measures. In the universe they are present as standalone tables, i.e they are not joined with any dimensions. Aggregate aware function is used to define both the dimensions and measures of such tables.

Page 14: Bo Interview Question

2. No aggregate tables are built in the database level. They contain the normal fact table at different granularities. In the universe, aggregate aware is used only to define the measures and aggregate incompatibility is set accordingly.

The first approach is better in terms of performance, since for the higher levels of aggregation, all the information is obtained for a single table. However, a large scale implementation of this approach in a dimensional schema is difficult. In most BI projects, the second approach is preferred

9. What is a derived table? What is its utility?A derived table is a table created in the universe using an SQL Query from database level. The columns selected in the query become the columns of the derived table. A derived table can be used for complex calculations, which are difficult to achieve in report level. Such calculations are done in query level itself.

Another use of derived table can be to access tables from a different schema through a dblink.

Page 15: Bo Interview Question

10. How is a derived table different from a view? Which one is a preferred solution?A derived table is present only in the universe level, while a view is created in data base level. Generally views are preferred since, in its case the onus of calculation remains on the database and it does not load the BO server. However, in cases where developers do not have access to database, derived table is the only solution.

11. How can we access one derived table from another?We can access one derived table from another using the function @derived_table. The syntax is:

@derived_table(Derived Table Name)

12. What is Index Awareness? How is it implemented?Index awareness is a property of the universe, by means of which values in the filter conditions of the queries/data providers built from the universe, are substituted by their corresponding indexes or surrogate keys. Generally the values in the filter condition come from a dimension table (like country etc) and we require a join with the fact table to get this value.

However, if index awareness is implemented, this join is eliminated and the query filter takes the equivalent index value from the fact table itself.

To implement index awareness, one needs to identify the dimension fields which are to be used in query filter. In the Edit Properties of the object, we get a Keys tab. In this tab, the source primary key of the table from which the object is derived needs to be defined as primary key, and the database columns for all foreign key relationships with the other tables also need to be defined here. Once this is done for all required dimensions, the universe will become index aware

Page 16: Bo Interview Question

13. How can we use index awareness in universe prompt?An extended prompt syntax is available since BO 3.1. It is as follows

@Prompt( ’message’, 'type’, [lov],

mono/multi,

free/constrained/primary_key,

persistent/not_persistent,

{'default value':'default key'} )

If the indexes for the dimension object is defined in the universe and we define the prompt condition on the object with the clause ‘primary key’ in place of free or constrained, then the

Page 17: Bo Interview Question

filter condition will convert the prompt values entered to their corresponding indexes and eliminate the join with the dimension table

14. What is a condition object? How is it different from query filter?To know the answer of the above question (and many such high frequency BO Reporting questions) please continue to the next page:

14. What is a condition object? How is it different from query filter?A condition object is a filter condition created in the universe level. When this object is dragged in the Query Panel, the filter condition appears in the query SQL.

However a query filter exists in the report only. It is added during building a query. This also appears in the query SQL

15. How can we create a mandatory filter condition for every query generated from the universe?For this to happen, one prerequisite is that the table which contains the object on which the filter condition is applied should be present in each and every context defined in the universe. It can be done in 2 ways:

Row level Security:

From Tools -> Manage Security Click on Mange Access Restrictions. Create a new restriction. In the rows tab of the restriction select the table and add the where clause on the desired column. Apply this restriction to all user groups. The limitation of this method is that this filter condition would not be imposed unless we drag an object from the table in the query panel

Page 18: Bo Interview Question

Condition Object Property:

Create a condition object with the where clause on the desired column of the desired table. In the condition object definition; check on the boxes Use Filter As Mandatory in Query and Apply On Universe and Apply On List of Values. The advantage of this method is that even if no object from the table is dragged in the Query Panel, the filter condition will still appear in the query

Page 19: Bo Interview Question

16. What is a linked universe? How are they created?Linked universe are universes which share common component such as objects, classes and joins. When two universes are linked, the source universe is called core universe while the destination is called derived universe.

A link can be created by going to Universe Parameters -> Links and using Add Link button. The tables from core appear as faded structures in the derived universes. Their joins are intact, but the contexts need to be defined afresh.

Page 20: Bo Interview Question

17. What happens when we click the Include button after linking two universes?After creating a link if the ‘Include’ button is clicked then the tables from core universe are permanently copied into the derived universe and the link is severed

18. What is an Input control? How is it different from a report filter?Input Control is a feature in Webi report(starting from XI 3.1 SP2), which allows filtering of data based on a dimension in the report.

The Report Filter also does a similar thing. However an input control allows multiselection of values(via Multiselect Input control) which a report filter does not support. Input Control appears in the left panel of the report, whereas Report Filter appears in the top filter pane

Page 21: Bo Interview Question

19. What are the added features of Interactive mode in Web Intelligence over the normal Java report panel? What are its uses?When Web Intelligence is in Interactive mode, one can create variables, input controls, add report filters, tables and charts in the view mode itself. This is not possible in the normal Java report panel.

The advantage of interactive mode is for power users, who want to do further manipulations on an existing report. Since, it does not allow user to modify queries or existing variables in the report, but allows doing the above mentioned activities on

Page 22: Bo Interview Question

top of the report, it provides a very good means for analysis by the power users without changing the core report in any way.

20. What is the use of the scope of analysis pane in the Query tab of Webi report?It has 2 uses:

o The Scope of Analysis pane sets the limit of drill down in the report. Suppose we have a hierarchy defined in 3 levels, but if we set the scope of analysis is set to 2 levels, the report will not be able to drill down to the 3rd level. We can also remove objects showing in the scope of analysis pane and limit the drill down

o If the analysis level is set to custom, the objects from existing hierarchies can be dragged in the scope of analysis panel to set the scope for drilldown in the report. This has an advantage that we can drill down to more than 3 levels, which is not possible in the normal level setting, since it is up to 3 only

21. There is a requirement that in a numeric column of a webi report we need to display the sum of the above rows. Which function should we use?In this case we should use the RunningSum() function. The syntax is:

RunningSum( [measure] ; [Row|Col] ; [ (reset_dimensions) ] )

Page 23: Bo Interview Question

22. When should we use a query filter and when a report filter?The choice of query or report filter has to take in consideration the performance of the report.

Suppose we have report where are multiple tabs having different objects requiring same or different filter conditions, it is advisable to use a Query Filter.

In case where there are multiple tabs having same objects, but with slightly differing filter conditions, it is advisable to fetch the whole data in the query and then apply report filters to the various tabs to get the desired data instead of using separate queries for each tab

23. What is the use of merge Dimensions functionality? How does auto-merge work?The merge dimensions is used to combine objects having similar properties from multiple data providers which enables using dimensions and measures from both data providers in the same table. It works like a full outer join. Without this we cannot drag dimensions from different data providers in the same table and though the measures can be dragged, their calculation levels may not be uniform.

When the Auto Merge Dimensions checkbox in the document properties is checked, the report automatically merges multiple dimensions with same name coming from different data providers

Page 24: Bo Interview Question

24. What is the difference between Input and Output calculation contexts in a Webi report?Input context consists of any dimension objects that need to be included directly in the calculation itself.

Output context consists of one or more dimension objects that determine the aggregation level at which the calculation is displayed

25. In oracle, we use Instr function to display the position of a character in a string. What is the corresponding BO Web Intelligence report function, that does the same?The corresponding function is Pos(). The syntax is:

Pos( string input_string; string pattern )

26. Suppose in a report, we have a filter on a block. In the table, we need to display an aggregate of a measure for all data in report. But if we use only the aggregate function, it will be limited by the block filter. How can we achieve that?We have to use the NoFilter() function. When we put the expression within NoFilter(), it overrides any report filter as well as ranking applied in report level. The syntax is :

NoFilter( expression )

Page 25: Bo Interview Question

27. Suppose we want to display the total sum of a measure in row level of the report block. What will be the solution?We have to use context Operator In along with keyword report. This will give the total sum of the measure in row level(and anywhere in the report). The expression will be like:

Sum( Measure In Report )

28. Which selector gives the option of multiple selection in Xcelcius Dashboard? How do we make the multiple selection?

Only ‘List Builder’ gives the option of multiple selection in Xcelcius. We select multiple rows from the input list and add them to the output list using Add button. The output list gives the selection parameter

29. Which Xcelcius components can we use for linking multiple dashboard flash outputs(swf files)? Can the same components be used for a complete presentation?We can use ‘Swf Loader’ as well as ‘Slideshow’ components for linking multiple dashboards. ‘Swf Loader’ can open swf files only, while ‘Slideshow’ can open both swf files and image files.

For presentation purposes, we often need text and images. Hence these are embedded in image files are added to a ‘Slideshow’ along with dashboard outputs. Moreover ‘Swf Loader’ can only open swf through ‘Push Button’ or selector components, whereas ‘Slideshow’ has a feature of automatic slide transition, which loads the image and swf files in the specified sequence. Hence, ‘Slideshow’ is the only feasible option for a complete presentation.

Page 26: Bo Interview Question

30. What are the different ways in which an Xcelcius dashboard can access data from a BO universe?There are 3 ways in which Xcelcius can access data from the universe:

o Query as a Web Service: Using Query as a Web Service tool, we can create a queries from the universe along with filter condition. The QAAWS qury panel is similar to the WebIntelligence query panel. In Xcelcius dashboard, we can create a QAAWS connection that would point to a particular Query and import the data into the excel data sheet of the xlf

o Business Intelligence Web Service: In this method, we can use the output of a report directly in the Xcelcius dashboard. Using Webi Rich Client, we export the report to repository, then select a block from the report, right click and select Publish as Web Service option. However BIWS does not have a connection of its own. We access this BIWS through a QAAWS connection only.

o LiveOffice: LiveOffice is an additional component that needs to be installed. This creates a sort of plugin for all MS Office applications, though which they can access data from Web Intelligence reports. I MS Excel, we can launch the Live Office Insert Wizard by Insert -> Web Intelligence Content. We can use this wizard to add selective content from a webi report. In the Xcelcius dashboard, a Live Office connection is created andwe access this Live Office excel sheet though thi connection

Page 27: Bo Interview Question

Top 5 BusinessObjects (BO) Scenario Based Questions

In this tutorial, we will look into some of the fundamental and widely asked scenario based questions in BusinessObjects (BO) interviews. Let's get started.

Scenario 1:Suppose in a Universe structure we have tables as shown in the diagram below. Tables A,B and C are in context ABC and C,E and F are in context CDE Now if there is a requirement which requires a join between Table E and Table B, we can define a new context BCDE. But what is the easiest way to implement this?

Define a shortcut join between tables B and E. To do this, join the tables normally. Then open the join editor and check the box shortcut join.

Page 28: Bo Interview Question

The join will show as a dotted line between the two tables. This kind of a join does not create loop and cannot be placed in any context. The shortcut join between Table B and Table E will only work when objects from both the tables are selected in the query panel of report.

Scenario 2:We have objects from 3 tables A,B and C in the query panel of a report. Among them C is a lookup table which holds values with respect to keys. Table B holds the foreign key to the table C. A filter condition is applied to Table C in Query Level. The resulting Query is:

SELECT A.a, B.b

FROM

A,B,C

WHERE A.bfk=B.pk

AND B.cfk=C.pk

AND C.val=’XXX’

Now, we define Primary key and foreign key relations for Tables B and C. Suppose the surrogate key corresponding to val ‘XXX’ is 12.

Page 29: Bo Interview Question

How will the query change after implementing this index awareness?The resulting query will be:

SELECT A.a, B.b

FROM

A,B

WHERE A.bfk=B.pk

AND B.cfk=12

The table C will be eliminated from the Query and the foreign key to C in table be will be equated to 12, the key corresponding to ‘XXX’. The join with C will be eliminated.

Scenario 3:A User named User1 wants a privilege of running a BO Report for 40 mins and retrieving a report with row limit 40,000. However, in the SQL parameters of the universe, the row limit is set to 10,000 and the execution time limit is set to 10 mins. How can you give the user the required rights?Go to Tools -> Manage Security Click on Mange Access Restrictions. Create a new restriction. In the Controls tab of the restriction, set the row limit to 40,000 and execution time limit to 40 mins.

In the Main Window, apply this restriction to User1

Page 30: Bo Interview Question

Scenario 4:In a report we have a table like this:

Dim A Dim B Measure 1

AA 12 100

BB 34 50

CC 21 40

DD 43 90

EE 45 200

FF 54 75

There is a report filter applied on this block which restricts both DIM A and DIM B in the table, i.e only select values of DIM A, DIM B and the corresponding measures from the query are displayed in the table. Another column needs to be added which will calculate the average for each row based on the sum of Measure 1 in the table (not all values in report). What would be the formula?

Page 31: Bo Interview Question

For this we will require the sum of Measure 1 in the table, which can be achieved only by In Block keyword.

The formula will be:

Sum( Measure 1 ) / Sum( Measure 1 In Block )

Scenario 5:In the embedded sheet of an Xcelsius dashboard, we have data like:

Field A Field B Field C Field D

Xxx Tyu 100 98

Xxx Yyy 45 76

Xxx Dev 56 87

Yyy Wes 78 13

Yyy Rid 200 106

In the dash board, we need a selector on Field A for a chart which will plot the values of Field C and Field D against all Field B values against one Field A. How can we achieve that?This can be achieved using filtered rows. In the Selector Properties, select Insertion Type as filtered rows and map the Labels by selecting all values of Field A(including the duplicates).

Page 32: Bo Interview Question

The labels will display unique values and when a particular value is selected, all rows corresponding to the value of Field A will be selected as output. The chart component needs to be mapped to the output this selector.

Page 33: Bo Interview Question