BOCX Advanced Universe Development 1

download BOCX Advanced Universe Development 1

of 23

Transcript of BOCX Advanced Universe Development 1

  • 8/6/2019 BOCX Advanced Universe Development 1

    1/23

    Session 2Track 2

    Best Practices: AdvancedUniverse Architecture and

    Design

  • 8/6/2019 BOCX Advanced Universe Development 1

    2/23

    Agenda

    Introductions

    Views vs. Derived Tables

    DTs as an efficient mechanism for dynamic grouping of data.

    Identify techniques and best practices for data and universe

    object security including implementing row level datarestrictions.

    Implementing pass-through authentication for database objectsecurity.

    Dynamic aggregate table awareness for measure and

    dimension objects. Q&A

  • 8/6/2019 BOCX Advanced Universe Development 1

    3/23

    Introductions

    Tom Wolniewicz, Senior BI / DW Solutions Architect,BroadstreetData

    Customer Ambassador: Anand Menon, Analytics CoE

    Development, Celestica

  • 8/6/2019 BOCX Advanced Universe Development 1

    4/23

    Views vs. Derived Tables

    Benefits of Views:

    Views can represent a subset of the data contained in a table

    Views can join and simplify multiple tables into a single virtual table

    Views can act as aggregated tables, where the database engine aggregates data (sum, average etc)and presents the calculated results as part of the data

    Views can hide the complexity of data; for example a view could appear as Sales2000 or Sales2001,transparently partitioning the actual underlying table

    Views take very little space to store; the database contains only the definition of a view, not a copy ofall the data it presents

    Depending on the SQL engine used, views can provide extra security

    Views can limit the degree of exposure of a table or tables to the outer world

  • 8/6/2019 BOCX Advanced Universe Development 1

    5/23

    Views vs. Derived Tables

    Advanced View Features:

    Various databases have extended the basic views from simpleread-only to updatable data sets frequently used in DataWarehousing:

    ORACLE introduced the concept of MATERIALIZED VIEW which not

    only expose the data but allow for its modification

    IBM DB2 has MQTs (Materialized Query Tables).

    Similarly MSSQL has Indexed Views

  • 8/6/2019 BOCX Advanced Universe Development 1

    6/23

    Views vs. Derived Tables

    Behind the Scenes:

    View Query (VIEW_1):

    SELECT OBJECT_ID, OBJECT_NAME FROM SOME_TABLE

    Usage:

    SELECT * FROM VIEW_1

    Behind the scenes the Database does this:

    SELECT * FROM (SELECT OBJECT_ID, OBJECT_NAME FROM SOME_TABLE) VIEW_1

  • 8/6/2019 BOCX Advanced Universe Development 1

    7/23

    Views vs. Derived Tables

    Derived Tables in BO Universe are SELECT statements thatallow for the exact same functionality as using a Database View

    Benefits: Easy to maintain

    Same Database performance as using a View

    Quicker and faster to develop (Views require database permissions to create and use)

  • 8/6/2019 BOCX Advanced Universe Development 1

    8/23

    Views vs. Derived Tables

    Reasons to use a View over a Derived Table:

    Views can be re-used in multiple universes and maintained within theDatabase

    Views may offer additional performance if they are Materialized/Indexed

    Views (depending on the platform) Views can be integrated with Database security to limit access to data

  • 8/6/2019 BOCX Advanced Universe Development 1

    9/23

    Using DTs to Group Data

    In the following example we have a sample universe withtransaction level data:

  • 8/6/2019 BOCX Advanced Universe Development 1

    10/23

    Using DTs to Group Data

    Our goal is to create statistical analysis reports that grouptransactions into buckets (size and unit of measure defined atrun-time as well as number of buckets to show).

    Buckets are containers for transactions, e.g. a Bucket containing5 entries, means that there are 5 transactions within the bucketsize (e.g. 0-30 days).

  • 8/6/2019 BOCX Advanced Universe Development 1

    11/23

    Using DTs to Group Data

    Hands-on Example

  • 8/6/2019 BOCX Advanced Universe Development 1

    12/23

    Universe Security

    Access Restrictions in Universe Designer allow for restrictions tobe put in place on an individual user or group basis.

    The following items can be managed:

    Connection Controls (number of records)

    SQL generation (allow the use of sub queries, etc.)

    Objects (disable use of objects defined in the list)

    Rows (automatically append a WHERE clause to specific tables

    Table Mappings (automatically map to another table/view that has the same

    structure)

  • 8/6/2019 BOCX Advanced Universe Development 1

    13/23

    Universe Security

    Sample access restriction shown below:

  • 8/6/2019 BOCX Advanced Universe Development 1

    14/23

    Universe Security

    Pass-through authentication can also be used in one of twoways:

    Enterprise

    AD/KERBEROS Delegation

  • 8/6/2019 BOCX Advanced Universe Development 1

    15/23

    Universe Security

    Enterprise authentication to DB pass-through uses DB_USERand DB_PASS properties as defined in the CMC:

    It will utilize DB named user accounts as defined in thedatabase and is configured on an individual basis.

  • 8/6/2019 BOCX Advanced Universe Development 1

    16/23

    Universe Security

    AD/KERBEROS authentication can also be passed through ifusing SSO using delegation.

    Presently this is only supported on the Microsoft Platform(Windows) with SQL Server database.

    Benefits include the ability to use AD groups to manage securitywithin the database (access to tables/views/columns)

  • 8/6/2019 BOCX Advanced Universe Development 1

    17/23

    Universe Security

    Pass-through configured in Designer Connection Parameters:

    This requires KERBEROS to be configured for SSOauthentication

  • 8/6/2019 BOCX Advanced Universe Development 1

    18/23

    Aggregate Awareness

    Business Objects Universe supports the notion of AggregateAwareness which can dynamically select an aggregate table(summary) to improve query performance depending on thelevel of granularity of objects selected in the query.

  • 8/6/2019 BOCX Advanced Universe Development 1

    19/23

    Aggregate Awareness

    We can use the Transaction Amount Measure and define it to beAggregate Aware using the @ function.

  • 8/6/2019 BOCX Advanced Universe Development 1

    20/23

    Aggregate Awareness

    Afterwards we need to define incompatibilities to trigger thedetail level of aggregate awareness (otherwise only thesummary is used)

  • 8/6/2019 BOCX Advanced Universe Development 1

    21/23

    Aggregate Awareness Now when I generate a report using only the Transaction Amount I get the

    following SQL:

    But when I add any other dimension the SQL automatically changes to use thedetail table for the measure:

  • 8/6/2019 BOCX Advanced Universe Development 1

    22/23

    Reference ResourcesBusiness Objects XI 3.1 Universe Designer

    http://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_designer_en.pdf

    Business Objects XI 3.1 Administrators Guide:

    http://help.sap.com/businessobject/product_guides/boexir31/en/xi3-

    1_bip_admin_en.pdf

    Business Objects Enterprise Deployment Planning Guide:

    https://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdf

    Business Objects Backup and Recovery Best Practice Guide:http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=true

    http://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_designer_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_bip_admin_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_bip_admin_en.pdfhttps://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdfhttps://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdfhttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0020482-ca8d-2c10-9bad-d1bd332bbb28?QuickLink=index&overridelayout=truehttps://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdfhttps://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdfhttps://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdfhttps://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdfhttps://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdfhttps://websmp202.sap-ag.de/~sapidb/011000358700001647142008E/xi3-1_bip_deploy_plan_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_bip_admin_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_bip_admin_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_bip_admin_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_bip_admin_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_bip_admin_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_designer_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_designer_en.pdfhttp://help.sap.com/businessobject/product_guides/boexir31/en/xi3-1_designer_en.pdf
  • 8/6/2019 BOCX Advanced Universe Development 1

    23/23

    Q&A

    Thank You!