Hierarchy Performance in BO 4.0 direct to Bex query

Hi
We are using BO 4.0 using BICS connection.
Webi report is connected directly to BEx query.
We are getting perforance when selecting Hierarchy in new BO 4.0 environment.
In what way we can reduce this performance.
The report is taking around 30 minutes and some time time out.
Is this product issue
Regards
Gaurav Mang

Hi,
1. you can "suppress unassigned nodes" in RSH1
2. you can enable Query Stripping in webi query panel and webi document properties
3. you can enable BICSLOVChunking registry settings
--> Note 1581323 - BI 4.0 Web Intelligence very slow performance when using BICS
4. modify the WebiParamMaxLovSize settings
--> Note 1671774 - "OutOfMemory exception" and poor performance when accessing large LOV's in WebIntelligence (using Desktop client or Launchpad) using BICS to connect to BEx query
5. you should implement all the latest BW correction from the BI-RA-BICS component, such as BICS Note 1593802  Performance optimization when loading query views 
6. You should use the latest available Patch2.12 (optimizations since 2.10 are very good)
7. you should answer as many Filters (Bex variables) as possible during runtime.
Regards,
H
p.s. after these steps,  the rest is down to Document, Query, and Datamodel design.

Similar Messages

  • Can I directly access BEX query from web version

    Hi expert,
            Can I directly access BEX query from web version ? I know we can access bex query from webi rich client.
    Many Thanks,

    Hi,
    Yes, you can access BEx query via BICS connection (OLAP Connection).
    In SAP BusinessObjects BI 4.0 you have multiple options to connect your SAP BusinessObjects BI client to your SAP NetWeaver BW system.
    Direct BI Consumer Services (BICS)
    SAP BusinessObjects BI 4.x Relational Universe (UNX)
    SAP BusinessObjects XI 3.1 OLAP Universe (UNV) used in a SAP BusinessObjects BI 4 environment
    Web Intelligence
    Yes
    Yes
    Yes
    SAP BusinessObjects Dashboards
    Yes
    Yes
    No
    Analysis, edition for Microsoft Office
    Yes
    No
    No
    Analysis, edition for OLAP
    Yes
    No
    No
    SAP BusinessObjects Explorer
    No
    Yes
    No
    SAP BusinessObjects Design Studio
    Yes
    No
    No
    Visual Intelligence
    No
    Yes (1)
    No
    Predictive Analysis
    No
    Yes (1)
    No
    Design Studio
    Yes
    No
    No

  • Create contextual performance dashboard with counters not directly targeted to the retrieved class

    So, I've been asked to create a Dashboard quite similar to the sample created by Brian Wren : https://gallery.technet.microsoft.com/PerformanceMonitor-Sample-0714ddd0
    But with the requirement of displaying performance counters that are not directly targeted to the retrieved class.
    For instance, they want to display a list of Windows computers and when a computer is selected, display perf counters for CPU, RAM and every logical disk instance.
    I know powershell quite well, but that's where my development skills end and I must admit I'm a bit lost here...  A "performance by context" widget would have been so helpful in this situation!
    Is this even possible to achieve?
    Any hint on how?
    Thanks!

    Hi,
    As we know, we can add performance widget for dashboard, and we may select All Windows Computers group, then we can add Memory, LogicalDisk, Processor related performance counters. Then every members in this group will dispaly all of those counters within
    the dashboard.
    But if choose other objects, such as database, we may not have option to select such performance counters.
    Regards,
    Yan Li
    Regards, Yan Li

  • Performance Issue Executing a BEx Query in Crystal Report E 4.0

    Dear Forum
    I'm working for a customer with big performance issue Executing a BEx Query in Crystal via transient universe.
    When query is executed directly against BW via RSRT query returns results in under 2 seconds.
    When executed in crystal, without the use of subreports multiple executions (calls to BICS_GET_RESULTS) are seen. Runtimes are as long as 60 seconds.
    The Bex query is based on a multiprovider without ODS.
    The RFC trace shows BICS connection problems, CS as BICS_PROV_GET_INITIAL_STATE takes a lot of time.
    I checked the note 1399816 - Task name - prefix - RSDRP_EXECUTE_AT_QUERY_DISP, and itu2019s not applicable because the customer has the BI 7.01 SP 8 and it has already
                domain RSDR0_TASKNAME_LONG in package RSDRC with the
                description: 'BW Data Manager: Task name - 32 characters', data
                type: CHAR; No. Characters: 32, decimal digits: 0
                data element RSDR0_TASKNAME_LONG in package RSDRC with the
                description 'BW Data Manager: Task name - 32 characters' and the
                previously created domain.
    as described on the message
    Could you suggest me something to check, please?
    Thanks en advance
    Regards
    Rosa

    Hi,
    It would be great if you would quote the ADAPT and tell the audience when it is targetted for a fix.
    Generally speaking, CR for Enteprise  isn't as performant as WebI,  because uptake was rather slow .. so i'm of the opinion that there is improvements to be gained.   So please work with Support via OSS.
    My onlt recommendations can be :
    - Patch up to P2.12 in bi 4.0
    -  Define more default values on the Bex query variables.
    - Implement this note in the BW 1593802    Performance optimization when loading query views 
    Regards,
    H

  • Direct Execution of query having Unicode Characters

    Direct Execution of query having Unicode Characters
    Hi All,
    In my application I am firing a Select Query having Unicode characters in Where Clause under condition like '%%'
    to Oracle 10g DB from a Interface written in VC6.0...
    Application funcationality is working fine for ANSI characters and getting the result of Select properly.
    But in case of Unicode Characters in VC it says 'No Data Found'.
    I know where the exact problem is in my code. But not getting the exact solution for resolving my issue...
    Here with I am adding my code snippet with the comments of what i understand and what i want to understand...
    DBPROCESS Structure used in the functions,_
    typedef struct
    HENV hEnv;
    HDBC hDbc;
    HSTMT hStmt;
    char CmdBuff[[8192]];
    char RpcParamName[[255]];
    SQLINTEGER SpRetVal;
    SQLINTEGER ColIndPtr[[255]];
    SQLINTEGER ParamIndPtr[[255]];
    SQLPOINTER pOutputParam;
    SQLUSMALLINT CurrentParamNo;
    SQLUSMALLINT OutputParamNo;
    SQLUSMALLINT InputParamCtr;
    SQLINTEGER BatchStmtNo;
    SQLINTEGER CmdBuffLen;
    short CurrentStmtType;
    SQLRETURN LastStmtRetcode;
    SQLCHAR SqlState[[10]];
    int ShowDebug;
    SQLCHAR* ParameterValuePtr;
    int ColumnSize;
    DBTYPE DatabaseType;
    DRVTYPE OdbcDriverType;
    BLOCKBIND *ptrBlockBind;
    } DBPROCESS;
    BOOL CDynamicPickList::GetResultSet(DBPROCESS *pDBProc, bstrt& pQuery, short pNumOdbcBindParams, COdbcBindParameter pOdbcBindParams[], CQueryResultSet& pQueryResultSet)
         int               lRetVal,
                        lNumRows;
         bstrt               lResultSet;
         wchar_t               lColName[[256]];     
         SQLUINTEGER          lColSize;
         SQLSMALLINT          lColNameLen,
                        lColDataType,
                        lColNullable,
                        lColDecDigits,                         
                        lNumResultCols;
         wchar_t               lResultRow[[32]][[256]];
    OdbcCmdW(pDBProc, (wchar_t *)pQuery); *//Query is perfectly fine till this point all the Unicode Characters are preserved...*
         if ( OdbcSqlExec(pDBProc) != SUCCEED )
              LogAppError(L"Error In Executing Query %s", (wchar_t *)pQuery);          
              return FALSE;
    Function OdbcCmdW_
    //From this point have no idea what is exactly happening to the Unicode Characters...
    //Actually i have try printing the query that gets stored in CmdBuff... it show junk for Unicode Characters...
    //CmdBuff is the Char type Variable and hence must be showing junk for Unicode data
    //I have also try printing the HexaDecimal of the query... I m not getting the proper output... But till i Understand, I think the HexaDecimal Value is perfect & preserved
    //After the execution of this function the call goes to OdbcSqlExec where actual execution of qurey takes place on DB
    SQLRETURN OdbcCmdW( DBPROCESS p_ptr_dbproc, WCHAR      p_sql_command )
         char *p_sql_commandMBCS;
         int l_ret_val;
         int l_size = wcslen(p_sql_command);
         int l_org_length,
    l_newcmd_length;
    p_sql_commandMBCS = (char *)calloc(sizeof(char) * MAX_CMD_BUFF,1);
    l_ret_val = WideCharToMultiByte(
                        CP_UTF8,
                        NULL,                         // performance and mapping flags
                        p_sql_command,          // wide-character string
                        -1,                         // number of chars in string
                        (LPSTR)p_sql_commandMBCS,// buffer for new string
                        MAX_CMD_BUFF,                    // size of buffer
                        NULL, // default for unmappable chars
                        NULL // set when default char used
    l_org_length = p_ptr_dbproc->CmdBuffLen;
    l_newcmd_length = strlen(p_sql_commandMBCS);
    p_ptr_dbproc->CmdBuff[[l_org_length]] = '\0';
    if( l_org_length )
    l_org_length++;
    if( (l_org_length + l_newcmd_length) >= MAX_CMD_BUFF )
    if( l_org_length == 0 )
    OdbcReuseStmtHandle( p_ptr_dbproc );
    else
    strcat(p_ptr_dbproc->CmdBuff, " ");
         l_org_length +=2;
    strcat(p_ptr_dbproc->CmdBuff, p_sql_commandMBCS);
    p_ptr_dbproc->CmdBuffLen = l_org_length + l_newcmd_length;
    if (p_sql_commandMBCS != NULL)
         free(p_sql_commandMBCS);
    return( SUCCEED );
    Function OdbcSqlExec_
    //SQLExecDirect Requires data of Unsigned Char type. Thus the above process is valid...
    //But i am not getting what is the exact problem...
    SQLRETURN OdbcSqlExec( DBPROCESS *p_ptr_dbproc )
    SQLRETURN l_ret_val;
    SQLINTEGER l_db_error_code=0;
         int     i,l_occur = 1;
         char     *token_list[[50]][[2]] =
    {     /*"to_date(","convert(datetime,",
                                       "'yyyy-mm-dd hh24:mi:ss'","1",*/
                                       "nvl","isnull" ,
                                       "to_number(","convert(int,",
                                       /*"to_char(","convert(char,",*/
                                       /*"'yyyymmdd'","112",
                                       "'hh24miss'","108",*/
                                       "sysdate",     "getdate()",
                                       "format_date", "dbo.format_date",
                                       "format_amount", "dbo.format_amount",
                                       "to_char","dbo.to_char",
                                       "to_date", "dbo.to_date",
                                       "unique","distinct",
                                       "\0","\0"};
    char          *l_qry_lwr;  
    l_qry_lwr = (char *)calloc(sizeof(char) * (MAX_CMD_BUFF), 1);
    l_ret_val = SQLExecDirect( p_ptr_dbproc->hStmt,
    (SQLCHAR *)p_ptr_dbproc->CmdBuff,
    SQL_NTS );
    switch( l_ret_val )
    case SQL_SUCCESS :
    case SQL_NO_DATA :
    ClearCmdBuff( p_ptr_dbproc );
    p_ptr_dbproc->LastStmtRetcode = l_ret_val;
    if (l_qry_lwr != NULL)
         free(l_qry_lwr);
    return( SUCCEED );
    case SQL_NEED_DATA :
    case SQL_ERROR :
    case SQL_SUCCESS_WITH_INFO :
    case SQL_STILL_EXECUTING :
    case SQL_INVALID_HANDLE :
    I do not see much issue in the code... The process flow is quite valid...
    But now i am not getting whether,
    1) storing the string in CmdBuff is creating issue
    2) SQLExecDirect si creating an issue(and some other function can be used here)...
    3) Odbc Driver creating an issue and want some Client Setting to be done(though i have tried doing some permutation combination)...
    Any kind of help would be appreciated,
    Thanks & Regards,
    Pratik
    Edited by: prats on Feb 27, 2009 12:57 PM

    Hey Sergiusz,
    You were bang on target...
    Though it took some time for me to resolve the issue...
    to use SQLExecDirectW I need my query in SQLWCHAR *, which is stored in char * in my case...
    So i converted the incoming query using MultibyteToWideChar Conversion with CodePage as CP_UTF8 and
    then passed it on to SQLExecDirectW...
    It solved my problem
    Thanks,
    Pratik...
    Edited by: prats on Mar 3, 2009 2:41 PM

  • WebI performance on Bex query

    Hi All,
    I have gone thru most of the earlier treads on topics of improving WebI performance.
    But I was not able to find  solution hence posting another tread.
    I have a Bex query built on a Multi provider with
    - 12 characteristics (1 in row remaining as free char).
    - 12 Key figure mainly dealing with 1 original KF and other as restricted with different time period like YTD.
    in WebI query panel I am using all the 12 char and 12 KF, but not used as default view in the Webi document.
    The 1 char in the row is a profit center with hierarchy enabled.
    When I run the report in bex the output comes in less than 10 secs
    but when I run the output in WebI the output takes more than 8-9 minutes and sometimes dumps out.
    Now since we comparing apples to apples between Bex and WebI .. please provide me some solution/suggestion for how to improve the performance of my WebI report.
    Note: When I remove Sold-to and Material from the webI query panel the report takes arnd 4-5 minutes but we need these 2 in the webi report for sure.
    Thanks for you input.
    -Ritesh

    Hi Ritesh,
    I have a Bex query built on a Multi provider with
    - 12 characteristics (1 in row remaining as free char).
    - 12 Key figure mainly dealing with 1 original KF and other as restricted with different time period like YTD.
    in WebI query panel I am using all the 12 char and 12 KF, but not used as default view in the Webi document.
    The 1 char in the row is a profit center with hierarchy enabled.
    When I run the report in bex the output comes in less than 10 secs
    but when I run the output in WebI the output takes more than 8-9 minutes and sometimes dumps out.
    >> Because you put all 12 characteristics and all 12 keyfigures into the result objects panel, Web Intelligence is asking for all data for all elements and therefore you see the difference in the performance.
    Now since we comparing apples to apples between Bex and WebI .. please provide me some solution/suggestion for how to improve the performance of my WebI report.
    >> actually you are not comparing Apples and Apples. Web Intelligence does not have - prior to Service Pack 3 release XI 3.1 - a concept of free characteristics.
    Note: When I remove Sold-to and Material from the webI query panel the report takes arnd 4-5 minutes but we need these 2 in the webi report for sure.
    regards
    Ingo

  • Webi report on OLAP Bex query -  Cost element Hierarchy not working Drill down

    Hello,
    We have a BO report on Bex query, Not on universe, we have a Hierarchy for Cost Element Group, and we are expecting the Drill down functionality for that in BO report, but it does not.
    Webi report on OLAP Bex query -  Cost element Hierarchy not working Drill down
    Any pointers how to do it please
    Thanks
    Krishna

    Hi,
    WebI reports on BEx source don't use same Drill feature as other sources, it's replaced by expland/collapse of hierarchy nodes (documented in WebI user guide in § "24.1 Drill defined"). This means you have to create query which selects all hierarchy sub-tree you plan on exploring later in report, otherwise if no data is available under a node there will be no '+/-' sign to visit this part of tree.
    You could try first to select "All members" from hierarchy in QueryPanel and see if behavior in report suits your needs. Then you should restrict hierarchy member selection to what's really needed to avoid performance issues.
    Regards,
    Loic

  • API to access query structure / bad performance Bex query processor

    Hi, we are using a big P&L query structure. Each query structure node selects a hierarchy node of the account.
    This setup makes the performance incredible bad. The Bex query processor caches and selects per structure node - which creates an awful mass of unnecessary SQL statements. (It would be more useful to try to merge the SQL statements as far as possible with an group by account to generate bigger SQL statements.)
    The structure is necessary to cover percentage calculations in the query, the hierarchy is used to “calculate” subtotals by selecting different nodes on different levels.
    I am searching now for a different approach to cover the reporting requirement - or - for a API to generate out of the master structure smaller query structures per area of the P&L. It there any class to access the query structure?
    We tried already to generate data entries per node level (duplicating one data record per node where it appears with an characteristic for the node name). But this approach generates too many data records.
    Not using hierarchy nodes would make the maintenance terrible. To generate "hard" selections in the structure out of the hierarchy an API to change the structure be also useful.

    The problem came from a wrong development of exit varibale used in Analysis Authorization
    Edited by: SSE-BW-Team SSE-BW-Team on Feb 28, 2011 1:46 PM

  • " Performance of Bo Report's in Bex query "

    Hai Friend's,
    I have Developed a report in Bex query, when I am Presenting the Report to the Business User's,It is taking a huge time. can anybody let me know what are the steps to be taken to reduce the time to display the Report in Bex query.

    Hi,
    If you are worried about the performance of Underlying BEX query then you can check following things,
    1) Use only required characteristics in the initial drilldown and put remaining in Free chars.
    2) Use Aggregates or BIA Index if you have BIA available.
    3) Enable OLAP Cache
    4) Use of precalculated web templates
    Regards,
    Durgesh.

  • Aggregation Issue when we use Hierarchy InfoObject in the Bex Query.

    Hi All,
          I have created a bex Query having some Char's and one hierarchy Infoobject in Rowa and RKF's. I haven't used any Exception aggreagation Objects in RKF. but, when I execute a query in the Over all result it's showing the Exceptional aggregation based on the Hierarchy Object.
    Briefly Illustrated my problem here.
    OrgUnitHierarchy     EmpID       RKF
    Root                          1                1
    RootA1                     1                1
    RootA2                     1                1
    Root                          2                1
    RootB1                     2                1
    RootB2                     2                1
    Root                          3                1
    RootC1                     3                1
    RootC2                     3                1
    Over all result                              3
    In the above example the Sum of the RKF is 9. but its showing only 3. When I Connect this with crystal report is the sum of RKF is showing 9. Please help me which is the correct one and why it's not aggregating child nodes?
    Is there any Config needs to be done to aggregate all the nodes of the Hierarchy? Thanks for your support in advance
    Regards,
    Shiva

    Hi,
    is this related to BEx Analyzer or BEx Web Reporting ? if so then I would suggest to post the entry into BEx Suite forum as this forum is for the SAP Integration Kit from BusinessObjects.
    Ingo

  • Performance Problems on Faces Navigation Diagram and Hyperthreading query

    Am I the only one having performance problems when dealing with Faces-Config Diagrams of about 35 JSPs displayed on the sheet. using Jdev 10.1.3 It's taking my workstation about a full minute and a half to update the name of an arrow. The most stressed component during this task seems to be the CPU.
    And just another question has anybody investigated how is the performance of Jdev affected by either enabling or disabling hyperthreading? In my case my CPU usage manages to reach only 50%. I'm tempted to switch HT off to let JDev use all the cpu power. if that would be the case.

    Hello Diego,
    you mentioned that you compared a BEx Query with the Web INtelligence report. Could you provide more details here ?
    - what are the elements in the rows, columns and free characterisitcs in the BEx Query ?
    - was the query execute as designed in the BEx Query Designer with BEx Web Reporting ?
    - what are the elements in the WebIntelligence Query panel ?
    thanks
    Ingo

  • Hierarchy: How to suppress duplicated/repeated rows in a BEx query

    Hi Gurus.
    I have a BEx query which displays data based on a Cost Element hierarchy.  When the hierarchy is expanded to leaf level (or any level), all key figures and characteristics are displayed for the leaf level but are also repeated throughout all the levels above.
    Is it possible to suppress the repeated rows in higher levels of the hierarchy and display a summary result only?
    The issue we have is that if the user wishes to export or save a workbook, they will have to filter and manipulate the report a great deal which is impractical.
    I'm hoping it's a simple setting that I've missed.  I look forward to receiving the magic answer!! :o)
    Thanks,
    Angela

    Hi All,
    I've been playing around a bit more and found a setting which I hope my users will find acceptable:
    From the query - Query properties -> Data Formatting tab - Multidimensional View -> select Display Rows hierarchically and expand to (chosen characteristic)
    Can anyone tell me if I can set this as a default setting in the query designer, or will I need to create a view to save the setting?
    Thanks all,
    Angela

  • Refreshing Hierarchy node variable in BEx query with change in hierarchy

    Hi all,
    We have used a hierarchy node variable on Characteristic ZECCSAC (user-defined) and used it in a BEx query with default value set to a particular node value. Upto this, it is working fine.
    The hierarchy used in the query, with the hierarchy node variable, was later changed ( and in future it can undergo changes ). Since the number of records in the hierarchy are changing, the nodenames of the hierarchy nodes are changing. But the hier node variable default value is still set to the earlier nodename for that node description. So at runtime it is giving an error "ECCS Account Number is invalid"!
    Can anyone suggest how to refresh a hierarchy node variable default value each time a query is run so that the latest nodename is always taken ?
    Quick reply will be appreciated.
    Thanks

    Hi,
    You get this with User exits.
    Thnaks

  • Drill Down BeX Query with hierarchy in WEBI

    Hi,
    I am using a Bex Query with Hierarchy in my WEBI report. Is it possible to drill down ? I am not able to use Scope of Analysis because it is disabled. I am very new to WEBI. Please help me out.
    Thanks in Advance.
    Lakshmi Mohan

    http://www.google.co.in/url?sa=t&rct=j&q=drill%20down%20bex%20query%20with%20hierarchy%20in%20webi%20%20%20&source=web&cd=2&ved=0CDQQFjAB&url=https%3A%2F%2Fcw.sdn.sap.com%2Fcw%2Fservlet%2FJiveServlet%2FpreviewBody%2F137316-102-1-277519%2FWeb%2520Intelligence%2520on%2520SAP%2520implementation%2520best%2520practices.pdf&ei=xofcTpSgF5DJrAeaxpiIBw&usg=AFQjCNHuwDIpvxciPKJyEdoz3GiVjRKgqA
    http://www.scribd.com/doc/62293080/40/Query-Drill-for-hierarchies

  • Hierarchy Level value displayed in BEx Query

    Is there a way to display the Hierarchy Level value (0, 1, 2, etc...) associated with each hierarchy level in BEx Query as a characteristic?
    we are currently using the Crystal Reports function HierarchyLevel(GroupingLevel(GL Account Node id)) to display the level of the node (0, 1, 2, etc...).  Is there something similar to this in BEx Query.
    We would like to use this Level value to do groupings in Crystal Reports.  When we try to create a Group, we can only create the groups on fields that are brought over in the BEx Query results.
    Thanks --

    Hi ,
    Hierarchy level can be defined in Bex query as well.
    In the query property there is option where you can say hierarchy active for that particular object.
    Also you can define level upto which it can be active in initial display say 3 level
    Also when you want to drill down further level 4,5 you can right click and select that particular level say 4 or 5 or 6.
    If you want to display hierarchy flat there is no option in BW then to right code,but I heard in crystal report it will automatically display in fl;at version as well  means
    Level 0 level 1   ......KF1 KF2  etc.
    Thanks and regards

Maybe you are looking for