BO- faq2

download BO- faq2

of 18

Transcript of BO- faq2

  • 8/7/2019 BO- faq2

    1/18

    What is loop in Universe? Explain its problem and different methodologies to

    resolve it.

    Loops occur when there are two different paths to accomplish one join. The following

    structure now includes PRODUCT_PROMOTION_FACTS in the Test Fashion

    universe. If users want to analyze articles versus time, there are now two join paths.Business Objects does not know which path to take, the one via SHOP_FACTS or the

    one via PRODUCT_PROMOTION_FACTS.

    The circular appearance of these four joins is a loop, which can give undesired SQL

    results.

    One way of spotting the problem table in the loop is the table which has at one end of

    the one-to-many relationship.

    If loops are not resolved and report is run following error might come.

    Error: Incompatible combination of objects

    There are different methodologies to resolve loops depending on the type of loop.

    Contexts

    Context is simply a list of joins that defines a specific path for query.

    It breaks loop by defining set of joins that define path through table in a loop.

    It ensures that joins are not included from different path within the same sql.

    If object from two different contexts are used in report. BO generates two different

    SQL.

    Dis-advantage:

    When you use a context, you expose the BO end user to the database structure. They

    are forced to decide which context they want to use to run their query. The role of the

    universe is to shield end users from the database structure, so they do not have tomake such decisions.

    To test the contexts:

    Create a query which includes objects which are only in one context : BO should be

    able to get the correct result by determining the context.

    Create a query which includes objects from both the contexts. BO should generate

    two queries and then unions it.

    Create a query which includes object which are common two both the context. BOshould prompt for contexts to be used.

  • 8/7/2019 BO- faq2

    2/18

    Designer detects context by identifying table which has only many ends of joins

    attached. No joins following back from one to many are included.

    Every Join except shortcut join must exist in at least one context.

    Alias

    Alias breaks the loop by using same table with different name in the query.

    In above example we can create the alias forcalendar_year_lookup table.

    Original table would join to shop facts and alias will join to promotion fact which

    would break the loop.

    However you would need to define the object based on there meaning.

    e.g. to get the shopping month you can use original table whereas to get the promotion

    month you need to use alias table.

    What is CHASM trap and how to resolve it

    Fan traps and Chasm traps are problems in which are inherent in SQL that are caused

    by the order in which the elements of SELECT are processed.

    In SQL a select statement processes SELECT, FROM and WHERE cause first and

    forms a result table in memory based on the tables specified in where clause and

    restrictions specified. However this does not cause a problem, but if aggregates are

    applied then it may cause a problem in particular circumstances.

    These traps are difficult to identify unless you take a deeper look at the detailed data.

    These traps return many row than expected.

    Chasm trap is a common problem in relational database in which a join path returns

    more data than expected.

    A chasm trap is a join path between three tables when two many-to-one join path

    converge on a single table and there is no context in place that separates the

    converging path.

    You only get incorrect result in following situations.

  • 8/7/2019 BO- faq2

    3/18

    There is many-to-one-to-many relationship between three table in universe.

    The query includes objects based on the two many tables

    There are multiple row returned for single dimension.

    For example in above diagram there is no loop, but the flow around three table is

    many-to-one-many.

    When a query that uses objects Y and Z is run, the inferred SQL includes tables

    B,C,A that have a many-to-one-many relationship. The chasm traps causes a query to

    return every possible combinations of one measure with every possible combination

    of another measure. The results in the values for each objects being multiplied byother. The effect is similar to a Cartesian product but known as CHASM trap.

    CHASM trap is resolved by executing separate statement for Y and Z and combining

    the result.

    Note: the chasm trap is not dependent on object type. Y and Z can be dimension

    Detecting CHASM trap.

    Unlike loops chasm traps are not detected automatically by designer. Need to detectmanually.

    Analyze the one to many relationship join paths in schema to detect CHASM trap

    graphically.

    Analyze the proposed detected to separate the queries for such join paths.

    Add additional dimension or detail objects to display more information in the report .

    If there is chasm trap aggregated value wil be doubled alerting you a chasm trap.

    Now if you run query with client name and sale revenue or rental revenue. You wouldsee correct result. However you want to see client name with sale and client revenue

    you would end up getting wrong result.

    Suppose Sale revenue is 2000 and rental revenue is 4000 for client Kumar. You

    would see result as

    Client Name Sale revenue Rental Revenue

    Kumar 4000 8000

    This is because of chasm trap.

  • 8/7/2019 BO- faq2

    4/18

    Internally it is bringing result as micrcocube

    Client Name Sale revenue Rental Revenue

    Kumar 2000 4000

    Kumar 2000 4000

    And while projecting this data in report BO aggregates it to client name and shows

    wrong result.

    Resolving CHASM trap.

    Modify SQL parameters of the universe and click generate separate queries for

    measures. However this works with measures and might result in inefficient queries

    and does not works with dimensions.

    Create a contexts for each fact. This solution works well and recommended.

    When you create context and two entities from separte context are used in SQL. BO

    generates separate queries regardless of measure/dimension. Which solves this trap

    problem

    When any new universe changes are deployed how does the end user get the view

    of the new classes/objects added(apart from specs doc)?

    when universe get changed, we do export the changed universe to enterprise server.user gets the view of changed classes objects what ever we done at universe and

    already existed objects which are not changed are viewed as same like before.

    I have 2 universes. that is u1 and u2. From u1,i created one report that is r1.

    Now i want to give the connection r1 to u2 and at the same time delete the

    connection from u1 to r1 ? How is it possible explain?

    can change the connection for the report r1.For webI reports in query panel on left

    side we have query properties there we can change the connection of the universe to

    u2.then it will map to the u2.

    What is meant by ZABO and FC(full-client)?

    This module of the application is hybrid of the thin client and the Full Client Modules

    of Business Objects Reporting Module. ZABO stands forZero Administration

    BusinessObjects. This application uses the hardware resources of the client machine

    for application level processing and communicates through the protocol defined for

    the browser to use the server resources for processing External requests (like running

    a database Query, creating a data provider to access data.)

  • 8/7/2019 BO- faq2

    5/18

    ZABO means Zero Administration Business Objects and this is 3-tier level

    architecture.

    No need to install any BO software.

    Full Client means 2 -tier level architecture we can directly connect to repository onlywe defines key file and this Fullclient we need BO tools our local system also.

    what happens if cardinalities are not resolved?

    If Cardinalities are not specified between the tables i.e the relationship between the

    tables ( 1-1,1-MANY,MANY-MANY)

    We get more results at report level more than the actual result,like a Cartesian

    product.

    We cant detect the Loops & Traps (Chasam & Fan) Which are mainly detected bythe

    CARDINALITIES option

    What is aggregate navigation.

    Aggregate Navigation is used to specify the incompatible objects.

    Whenever we use Aggregate Aware we need to set up incompatilibities to work it

    properly (so BusinessObjects knows what SQL to generate)

    For example, There are 2 aggregate tables fact table by

    week and by day.If you set up a measure as aggregate aware from both tables total

    quantity for example, the select might be something like: -

    @Aggregate_Aware(sum(week_agg.qty),sum(day_agg.qty))

    The week table listed first as this would be the preference. But as BusinessObjects

    needs a reason to not go to the week_agg table, this is done using incompatibilities.

    For example the Week Number dimension object would be compatible with the

    week_agg table as it will link to it and the data is held at an appropriate level to

    report against it. However the Date dimension object would be set as incompatible

    with the week_agg table, such that when it is selected alongside the Quantity object,

    BusinessObjects knows to jump to the next option in its select definition.

    What is Index Awareness in Universe.

  • 8/7/2019 BO- faq2

    6/18

    Index awareness is the ability to take advantage of the indexes on key column to

    speed data retrieval.

    The objects that you create in the universe are based on database columns that aremeaningful to an end user. For example, a customer objects retrives the fields that

    contains name. In this situation the customer table typically has primary key (e.g. in

    integer) that is not meaningful to the end user, but which is very useful for DB

    performance. When you set up index awareness in designer, you tell designer which

    database columns are primary and foreign keys. This can have dramatic effect on

    query performance in the following ways.

    Designer Can take advantage of the indexes on key columns to speed up data retrieval

    Designer can generate SQL that filters in the most efficient way. This is particularly

    more important in a start schema . If you build a query that involves filtering on avalue from dimension table. Designer can apply the filter directly on the fact table

    using table foreign key. This eliminates unnecessary joins to dimensions tables.

    Designer does not ignore duplicates with index awareness. If two customers have

    same name. Designer retrieves only one unless it is aware that each customer has a

    separate primary key.

    To setup index awareness open the properties of objects, open Keys tab. Clickinsert and add respective PK and FK.

    What are @functions

    @Aggregate_Aware (2) @Prompt (3) @Script (4) @Select (5) @Variable (6)

    @Where

    @Prompt: message prompts the end user to enter a specific value.

    Syntax: @Prompt (message, [type], [lov], [MONO|MULTI], [FREE|

    CONSTRAINED])

    @Script: This function recovers the results of Visual Basic for Applications macro

    (VBA macro).

    Syntax: @Script (var_name, vartype, script_name)

    @Select: This function enables you to re-use the Select statement of an existing

    object.

    Syntax: @Select (ClassnameObjectname)

  • 8/7/2019 BO- faq2

    7/18

  • 8/7/2019 BO- faq2

    8/18

    Derived universes may contain some or all of the components of the kernel or master

    universe, in addition to any components that have been added to it.

    You have the following advantages when linking universes:

    Reduce development and maintenance time. When you modify a component in thecore universe, Designer propagates the change to the same component in all the

    derived universes.

    You can centralize often used components in a core universe, and then include them

    in all new universes. You do not have to re-create common components each time you

    create a new universe.

    Facilitate specialization. Development can be split between database administrators

    who set up a basic core universe, and the more specialized designers who create more

    functional universes based on their specific field.

    Requirements for linking universes

    You can link the active universe to a core universe, only if the following requirements

    are met:

    The core universe and derived universe use the same data account, or database, and

    the same RDBMS. Using the same connection for both the core and the derived

    universe makes managing the universes easier, but this can be changed at any time.

    The core and derived universes must be in the same repository.

    The core universe was exported and re-imported at least once. The derived

    universe does not need to have been exported before creating a link.

    Exported derived universes are located in the same universe domain as

    the core universe.

    You are authorized to link the given universe.

    Restrictions when linking universes

    You need to be aware of the following restrictions when linking universes:

    You cannot link to a universe that uses stored procedures.

    You can use only one level of linking. You cannot create derived universes from auniverse which is itself derived.

  • 8/7/2019 BO- faq2

    9/18

    All classes and objects are unique in both the core universe and the derived

    universes. If not conflicts will occur.

    The two universe structures must allow joins to be created between a table in one

    universe to a table in the other universe. If not, then Cartesian products can result

    when a query is run with objects from both structures.

    Only the table schema, classes and objects of the core universe are available in the

    derived universe. Contexts must be re-detected in the derived universe.

    Lists of values associated with a core universe are not saved when you export a

    derived universe with the core universe structures.

    Creating a link between two universes

    You can link an active universe to another universe. When you do so, the active

    universe becomes the derived universe, and the linked universe becomes the core

    universe. Components from the core universe are inherited by the derived universe.

    To link a universe to a core universe, the core universe must have been

    exported to the repository.

    Note: When you link universes, you can relocate the core universe within the same

    repository with out breaking the link. This allows you to export the core universe to adifferent repository folder, while keeping the links with derived universes valid.

    What is Object Qualification

    For the purposes of multidimensional analysis, objects are qualified as one of three

    types: dimension, detail, or measure.

    How to create filter in Universe and what is advantages and disadvantages.

    A condition object is a predefined Where clause that can be inserted into the Select

    statement inferred by objects in the Query pane.

    Condition objects are stored in the Conditions view of the Universe pane. You access

    the conditions view by clicking the Conditions radio button at the right bottom of the

    universe pane

    Using condition objects has the following advantages:

    Useful for complex or frequently used conditions.

    Gives users the choice of applying the condition.

  • 8/7/2019 BO- faq2

    10/18

    No need for multiple objects. Building universesDefining objects

    Condition objects do not change the view of the classes and objects in the Universe

    pane.

    Note: You may need to direct users to use the condition objects view of the Universepane. The only disadvantages for using condition objects is that you may want to

    force a condition on users to restrict their access to part of the data set. In this case

    you need to define a Where clause in the object definition.

    Why do we need to create derived table in Universe.

    Sometimes it not possible to create dimension/measure directly in universe in that

    case we use derived tables. E.g. First time users, union queries etc.

    Explain security level in BO Universe

    Defines the security access level of the object.You can select a security level which

    restricts use of the object to users with the appropriate security level. You can assign

    the following security access levels:

    Public

    Controlled

    Restricted

    Confidential

    Private

    If you assign Public then all users can see and use the object. If you assign Restricted,

    hen only users with the user profile of Restricted or higher can see and use the object.

    How to implement row level security in Universe.

    You can define a WHERE clause that restricts access to row and limits the result set

    returned by a query.

    To create restrictions Select Tools > Manage Security > Manage Access Restrictions

    and click rows

  • 8/7/2019 BO- faq2

    11/18

    How do you determine when to use alias and when to use context.

    There is no strict rule to follow for resolving loops. However, whenever possible you

    should use an alias instead of a context. When you use a context, you expose theBUSINESSOBJECTS end user to the database structure. They are forced to decide

    which context they want to use to run their query. The role of the universe is to shield

    end users from the database structure, so they do not have to make such decisions.

    Contexts can be confusing for end users

    A context can be confusing for end users when they are forced to make a decision

    about the meaning of an object. For example an object called Country can have

    several meanings; the customers country of residence, the shipment destination, or

    the products country of manufacture. When you run a query in BUSINESSOBJECTS

    or WEBINTELLIGENCE, you are also asked to indicate the correct database path tofollow.

    Deciding to use an alias or context

    You can use the following rules to help you decide whether an alias or context is

    appropriate for resolving loops: When you create aliases and you end up with object

    names that sound very different (Customers Country of Residence, Shipment

    Destination, and Products Country of Manufacture), aliases are probably the rightsolution.

    If you end up with object names that sound very similar (such as Ordered Products

    and Loaned Products as well as Ordered Products Country of Manufacture and

    Loaned Products Country of Manufacture), you should consider using contexts.

    What are different ways to link universes.

    You can use any the following approaches when linking universes:

    Kernel approach

    Master approach

    Component approach

    You can use any of the three approaches individually, or, combine one

    or more together.

  • 8/7/2019 BO- faq2

    12/18

    Kernel approach

    With the kernel approach, one universe contains the core components. These are the

    components common in all universes. The derived universes that you create from thiskernel universe contain these core components as well as their own specific

    components.

    In the example below, the universes Human Resources and Sales are derived from a

    kernel universe. They contain core components of the kernel universe as well as their

    own specific components.

    Any changes you make to the kernel universe are automatically reflected in the core

    components of all the derived universes.

    Master approach

    The master approach is another way of organizing the common components of linked

    universes.

    The master universe holds all possible components. In the universes derived from the

    master, certain components are hidden depending on their relevance to the target usersof the derived universe.

    The components visible in the derived universes are always a subset of the master

    universe. There are no new components added specific to the derived universe. The

    example below shows the universes Human Resources and Sales are derived from a

    master universe. They contain components from the master universe, some of which

    may be hidden. Any changes you make to the master universe are automatically

    reflected in the core components of all the derived universes.

    Component approach

    The component approach involves merging two or more universes into one universe.

    The Sales universe below was created by merging two universes: Part 1 and Part 2.

    How do you distribute Universe?

  • 8/7/2019 BO- faq2

    13/18

    Designer allows you to distribute universes by importing and exporting universes to

    the Central Management System (CMS) repository.

    What is the list mode?

    List Mode provides list of all the tables, joins, and contexts.List mode command

    View

    What is Parse checking?

    Parse checking means how DESIGNER is to determine the validity of an object, join,

    or condition.

    Quick parsing checks only the syntax of components. Thorough parsing checks both the syntax and semantics of components.

    If there are changes in the database on which you have already created a universe,

    how do you include those additional changes into your universe?

    By refreshing the structure I get the updated database structure.

    What is the difference between linking and including the universes?

    Linking a universe is a process, which includes the required objects/classes of the

    master on to the derived universe. But any change made to the master universe is

    reflected onto the derived universe.

    Including a universe creates all the required objects from the master universe on to

    the derived universe; any change made to the master universe does not impact the

    derived universe.

    What is a list of values?

    A list of values contains the data values associated with an object. These data valuescan originate from a corporate database, or a flat file such as a text file or Excel file.

    In Designer you create a list of values by running a query from the Query Panel. You

    can then view, edit, purge, refresh, and even export this file. A list of values is stored

    as an .lov file in a subfolder of the UserDocs folder.

    What are the requirements for linking universes

    You can link the active universe to a kernel universe, only if the following

    requirements are met:

    The kernel universe and active universe were created from the same data account andthe same RDBMS.

  • 8/7/2019 BO- faq2

    14/18

  • 8/7/2019 BO- faq2

    15/18

    hierarchy, then click Add.

    The dimension you clicked appears in the new hierarchys folder in the

    Available Hierarchies box.

    Add the other dimensions you want to include and then click OK.

    What are the disadvantages of Alias?

    Aliases will create complex in structure of the Universe

    What are linked Universes

    Linked universes are universes that share common components such as parameters,

    classes, objects, or joins. Among linked universes, one universe is said to be the

    kernel or master universe while the others are the derived universes.

    A kernel or master universe represents a re-usable library of components. Derived

    universes may contain some or all the components of the kernel or master universe, in

    addition to any components that have been added to it.

    Approaches to linking universes

    You can use one of three approaches when linking universes:

    The kernel approach

    The master approach

    The component approach

    The Benefits of Linked Universes

    You have the following advantages when linking universes:

    Reduce development and maintenance time. When you modify a component in the

    core universe, Designer propagates the change to the same component in all the

    derived universes.

  • 8/7/2019 BO- faq2

    16/18

    You can centralize often used components in a core universe, and then include them

    in all new universes. You do not have to re-create common components each time you

    create a new universe.

    Facilitate specialization. Development can be split between database administrators

    who set up a basic core universe, and the more specialized designers who create morefunctional universes based on their specific field.

    Requirements for linking universes

    You can link the active universe to a kernel universe, only if the following

    requirements are met:

    The kernel universe and active universe were created from the same data account and

    the same RDBMS.

    The kernel universe was exported and re-imported at least once.

    Exported derived universes are located in the same universe domain as the kernel

    universe.

    All classes and objects are unique in both the kernel universe and the derived

    universes. (Otherwise, collisions may occur.)

    You are authorized to link the given universe.

    Note: A derived universe does not recover the lists of values containing personal datafrom the kernel universe. However, if you need certain lists of values, you can use the

    following workaround: in the derived universe, create new objects defined in the same

    way as those in the kernel, then hide them. You can then assign them to these objects

    lists of values, which you can then modify and export.

    Explain Universe Design Methodology.

    The universe design methodology described in this manual consists of one planning

    stage, and three implementation phases:

    Analysis of business problem and planning the universe solution

    Designing a schema

    Building the universe

    Distributing the universe to users

    Each implementation phase is based on an assumption that you have completed an

    initial planning phase. The planning phase can be done without using Designer, and isthe decisive phase for the success or failure of your universe. A poorly planned

  • 8/7/2019 BO- faq2

    17/18

    universe that is not based on a study of user reporting needs will be difficult to design,

    implement, maintain, and will not be useful to your target users. Each of these phases

    is described as follows:

    Plan the universe before you start using Designer

    Before starting the first phase, you should spend up to eighty percent of the time

    allotted for the universe creation project, planning the universe. You should note the

    following points:

    You must analyze the data analysis and reporting needs of the target audience for the

    universe. The structures that you use to create the schema should be based on a clearly

    defined user need to access the data contained in those tables and columns.

    You should have a clear idea of the objects that you need to create before you startusing Designer. Do not create objects by looking at the columns available in the

    database, but identify columns that match an object that you have already identified

    from your user needs analysis.

    Designing a schema

    You create a schema for the underlying database structure of your universe. This

    schema includes the tables and columns of the target database and the joins by whichthey are linked. You may need to resolve join problems such as loops, chasm traps,

    and fan traps, which may occur in the structure by using aliases or contexts. You test

    the integrity of the overall structure.

    Building the universe

    You create the objects that infer Select statements based on the components of your

    schema. You organize these objects into classes. These are objects that you have

    identified from an analysis of user reporting needs. You can create many types ofobjects to enhance user reporting capabilities, multidimensional analysis, and

    optimize query performance. You test the integrity of your universe structure. You

    should also perform tests by running reports in Web Intelligence.

    Distributing the universe

    You can distribute your universes to users fortesting, and eventually for production,

    by exporting them to the Crystal Management System (CMS) repository.

    Explain Universe Development Lifecycle.

    http://www.bidw.org/datawarehousing/testing/http://www.bidw.org/datawarehousing/testing/
  • 8/7/2019 BO- faq2

    18/18

    Universe development is a cyclic process which includes planning, designing,

    building, distribution, and maintenance phases. You use Designer to design and build

    a universe, however, the usability of any universe is directly related to how

    successfully the other phases in the development cycle interact with

    each other.

    This section presents an overview of a universe design methodology that you can use

    to plan and implement a universe development project. The table below outlines the

    major phases in a typical universe development cycle