Top Banner

of 24

Tips and Tricks 2011 04

Apr 03, 2018

Download

Documents

uday_bvh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/28/2019 Tips and Tricks 2011 04

    1/24

    SAP BusinessObjectsTips and Tricks

    Michael Welter

    PS Consultant

    Claraview

  • 7/28/2019 Tips and Tricks 2011 04

    2/24

    2 >

    Who am I?

    Michael Welter: PS Consultant

    Company: Claraview, a division of Teradata

    Joined Claraview in March, 2011

    Prior to that I worked for Westbay Solutions Group/Idhasoft for8 years

    Over 11 years experience with BusinessObjects

    BusinessObjects Certified Professional

    > BusinessObjects Enterprise

    > Web Intelligence

    Can I helpwith your BO

    issues?

  • 7/28/2019 Tips and Tricks 2011 04

    3/24

    3 >

    Agenda

    Universe Date Prompt: Default to Yesterday Web Intelligence Merge Dimension Tips

    Query Performance Tuning

    > Query Stripping

    > Schedule Purging> Index Awareness

    > Pushing Transformations

    Security Tips

    But first . . .

  • 7/28/2019 Tips and Tricks 2011 04

    4/24

    4 >

  • 7/28/2019 Tips and Tricks 2011 04

    5/24

    5 >

    Universe Date Prompt: Default to Yesterday

    This problem has plagued humanity since the beginningof time (Or at least the beginning of BusinessObjects)

    > I need to create date prompt in the universe, and I need itto default to today.

    Ive seen some convoluted solutions, but havent beenimpressed.

    Of course, universe prompts are based around the@prompt function, so lets review the syntax.

  • 7/28/2019 Tips and Tricks 2011 04

    6/24

    6 >

    Universe Date Prompt: Default to Yesterday

    @Prompt(message,'type,[lov],Mono|Multi,free|constrained|primary_key,persistent|not_persistent,[

    default_values])

    Message: The text of the prompt Type: A (Alphanumeric), D (Date), N (Numeric)

    LOV: List of Values (Hard coded, or from an object)

    Mono|Multi: Allow 1 value, or multiple

    Free|Constrained|Primary_Key: Enter a value, orselect only from the LOV. Optional: Use Index Awareness

    Persistent|Not_persistent: Keep last value selected

    Default_Values: Enter a default value

  • 7/28/2019 Tips and Tricks 2011 04

    7/247 >

    Universe Date Prompt: Default to Yesterday

    Example@Prompt('Enter start date','D',,mono,free,not_persistent)

    In this example, the user may type in a date, or select a

    date from the calendar.

  • 7/28/2019 Tips and Tricks 2011 04

    8/248 >

    Universe Date Prompt: Default to Yesterday

    Final Solution, based on DB2 database:

    CALENDAR_TABLE.CAL_DATE = (CASE WHEN@Prompt(Enter date or

    Today,'A,,mono,free,not_persistent,{Today})=TodayTHEN CURRENT_DATE ELSE @Prompt(Enter date orToday,'A,,mono,free,not_persistent,{Today}) END)

    For Oracle, replace CURRENT_DATE with

    TRUNC(SYSDATE)

    For SQL Server, replace CURRENT_DATE with GetDate()

  • 7/28/2019 Tips and Tricks 2011 04

    9/249 >

    Web Intelligence Merge Dimension Tips

    Merging Dimensions continues to be the topic of muchtrouble, based on topics I see on BOB.

    Tip 1: Adding Incompatible dimensions to the block

    > Convert Dimension to a Detail using a variable Formula: =[Dimension]

    Detail must be a detail of a Merged dimension

    > Detail object can be added to the block

    Tip 2: Auto-Merge dimensions only works within auniverse

    > Only between the same object used in multiple queries

    > Not based on object name

  • 7/28/2019 Tips and Tricks 2011 04

    10/2410 >

    Web Intelligence Merge Dimension Tips

    Tip 3: Values displayed depend on which object is used> Query 1 object displays values from Query 1

    > Query 2 object displays values from Query 2

    > Merged dimension displays all values from all queries

    Tip 4: Extend merged dimension values has a similareffect of using the merged dimension.

  • 7/28/2019 Tips and Tricks 2011 04

    11/2411 >

    Web Intelligence Merge Dimension Tips

    Rules of Merging Dimensions: Only dimensions defined in the universe can be merged

    Objects must have the same datatype

    Any number of queries can be merged

    Any number of dimensions can be merged Values are cases sensitive

    Values that do not match exactly will be seen as differentvalues

  • 7/28/2019 Tips and Tricks 2011 04

    12/2412 >

    Query Performance Tuning

    Query Stripping As reports get reused, they become cluttered with

    unused objects and queries

    This can cause extra work by the database

    Which can cause the refresh to take longer Most important items to remove:

    > Unused queries

    > Unused measures

  • 7/28/2019 Tips and Tricks 2011 04

    13/2413 >

    Query Performance Tuning

    Query Stripping

    The good news: XI 3.1 SP3 has automatic querystripping

    > When enabled, it automatically removed objects andqueries from the SQL that dont contribute to the report

    The bad news: Automatic query stripping only works withOLAP data sources

    The good news: BI 4.0 will have automatic query

    stripping for all data sources Until then . . . Do it manually.

  • 7/28/2019 Tips and Tricks 2011 04

    14/2414 >

    Query Performance Tuning

    Schedule Purging

    This should seem obvious but . . .

    Remove scheduled jobs that are no longer needed

    They are running queries unnecessarily Use Auditor to capture usage stats

    Also, take a look at Publications

    Please dont burden the database with extra queries.

  • 7/28/2019 Tips and Tricks 2011 04

    15/2415 >

    Query Performance Tuning

    Index Awareness

    Can be used to speed up query performance

    Leverages indexed columns in a database

    Can remove joins from the query Can remove tables from the query

    How does it work?

  • 7/28/2019 Tips and Tricks 2011 04

    16/2416 >

    Query Performance Tuning

    Index Awareness

    Without Index Awareness:

    With Index Awareness:

  • 7/28/2019 Tips and Tricks 2011 04

    17/2417 >

    Query Performance Tuning

    Index Awareness

    When to use Index Awareness:

    > OLTP based universes

    > Snowflake schemas> Use with objects that have LOVs

    Note: If users dont select from the LOV, the index will notbe used!

  • 7/28/2019 Tips and Tricks 2011 04

    18/2418 >

    Query Performance Tuning

    Pushing Transformations

    Do your universes have complex SQL Transformations?

    Example: 'FY' || substr(trim((

    FISCAL_CALENDAR.FISCAL_YEAR*100+FISCAL_CALENDAR.FISCAL_QUARTER)),3,2) || 'Q' || substr(trim((FISCAL_CALENDAR.FISCAL_YEAR*100+FISCAL_CALENDAR.FISCAL_QUARTER

    Can this transformation be pushed down to the ETL

    process? In a recent test, removing this from the query reduced

    query time by 14% (Your mileage may vary)

  • 7/28/2019 Tips and Tricks 2011 04

    19/2419 >

    Security Tips

    SAP BusinessObjects XI 3.x uses an Object OrientedSecurity Model

    Everything is an object to which rights can be granted

    > Universes

    > Folders

    > Documents

    > Users

    > Groups

    > Servers

    Try not to get confused by this: In the CMC, the UserSecurity screen of a users profile has nothing to do withthat users rights.

  • 7/28/2019 Tips and Tricks 2011 04

    20/2420 >

    Security Tips

    Starting at the root: How do you deny access by default without creating too

    much work?

    > Go into User Security for the root folder (All Folders)

    > Go into Advanced Settings

    > Set the View Objects right as follows:

  • 7/28/2019 Tips and Tricks 2011 04

    21/2421 >

    Security Tips

    Beware of Everyone!

    Remember: Everyone is a member of the Everyonegroup

    Any rights you grant, or deny, to the Everyone group,applies to you, too

    As a rule, the Everyone group should have access tonothing

    > This means using Not Specified

    > Never use Denied

  • 7/28/2019 Tips and Tricks 2011 04

    22/24

    22 >

    Security Tips

    Dual-ing with Security

    Use a Dual Security Model

    > Avoids duplicating security settings

    Content Groups: Have rights to folders> Determines what access each group has to each folder

    > Tends to mirror organizational structure

    Application Groups: Have rights to Applications

    > Determines which applications members can use

    > And what they can do in those applications

  • 7/28/2019 Tips and Tricks 2011 04

    23/24

    23 >

    Security Tips

    Back Away From The Users

    Never set security for an individual user!

    Set security only for groups, then add members to the

    groups Never set security for an individual user!

    Even if one user has special security needs, create agroup for that one user

    This applies to documents, too!

    Questions?

  • 7/28/2019 Tips and Tricks 2011 04

    24/24

    Questions?

    Michael WelterPS [email protected]: MichaelWelter.Wordpress.comFollow me on Twitter: @UniversePro

    Claraview

    > Business Intelligence

    > Various Platforms

    mailto:[email protected]:[email protected]