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
RosaHi,
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 PMHey 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 -
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.
-RiteshHi 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
KrishnaHi,
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,
ShivaHi,
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,
AngelaHi 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.
ThanksHi,
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 Mohanhttp://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
-
I have a Seagate Slim Portable 500 GB USB 3.0 external hard drive that worked great with my Macbook Pro 13" Retina but gets ejected and won't show files on any iMac. My Macbook Pro and the two different iMacs I tried it on were all using Mountain Lio
-
Transporting a query created in system development to quality and prod ...
Hi All, I'd like to know how to transport a query created in system development to quality and prod? Thanks
-
I seem to have a small issue with plugins showing as "Installed and Running" but the Presets aren't showing in the "Export with preset" panel. In particular the two plug-ins are HDR Efex from Nik Software and XRite Color Checker passport. Everything
-
N8: How to assign custom SMS tone while keeping it...
The task is pretty much outlined in the topic title, but I'll still elaborate: I want to assign Knock.aac (just a renamed Message 2.aac from my old N73) as a message tone, while keeping it hidden from the music library. Hiding it is simple: I just pu
-
Change Posting Date in the Document (BUDAT) in VL02N
Hello everyone. In the VL02N transaction, when I push the "Post Goods Issue" button to create the Material Document, the system puts in the BUDAT field (Posting date in the document) in the MKPF table the value of today (sy-datum). I need to change