Merge Queries
I have a 1 Frontend report with 3 different radio buttons.
Radio Button B(Bookings)
Radio Button C(Cancellations)
Radio Button T(Both Bookings and Cancelations)
Query Underneath the report is something like this:
FOR RADIO BUTTON B(BOOKINGS)
SELECT X11,
X22,
X33,
SUM( COUNTAA) CNT_CURRENT_YEAR,
SUM( COUNTBB) CNT_PREV_YEAR,
'B' Booking_Cancel,
sysdate from_dt,
sysdate to_dt
FROM
(SELECT /*+ ORDERED */
X11,
X22,
X33,
count(ID) COUNTAA ,
+ 0 COUNTBB
FROM
TABLEp p,
TABLEv v,
TABLEs s,
TABLEx x
WHERE ...
AND TO_DATE(P.BOOKINGS_DATE) BETWEEN :ADT_FROM_DT AND :ADT_TO_DT --=======>>>ONLY CHANGE IS HERE
GROUP BY
X11,
X22
UNION ALL
SELECT /*+ ORDERED */
X11,
X22,
:ads_direction direction,
0 COUNTAA ,
count(ID) COUNTBB
FROM
TABLEp p,
TABLEv v,
TABLEs s,
TABLEx x
WHERE ...
AND TO_DATE(P.BOOKINGS_DATE) BETWEEN ADD_MONTHS(:ADT_FROM_DT, -12) AND ADD_MONTHS(:ADT_TO_DT, -12) --=======>>>ONLY CHANGE IS HERE
GROUP BY
X11,
X22)
GROUP BY Group_ID,
GROUP_DESC,
direction
ORDER BY GROUP_DESC
FOR RADIO BUTTON C(CANCELATIONS)
SELECT X11,
X22,
X33,
SUM( COUNTAA) CNT_CURRENT_YEAR,
SUM( COUNTBB) CNT_PREV_YEAR,
'B' Booking_Cancel,
sysdate from_dt,
sysdate to_dt
FROM
(SELECT /*+ ORDERED */
X11,
X22,
X33,
count(ID) COUNTAA ,
+ 0 COUNTBB
FROM
TABLEp p,
TABLEv v,
TABLEs s,
TABLEx x
WHERE ...
AND TO_DATE(P.CANCELLATION_DATE) BETWEEN :ADT_FROM_DT AND :ADT_TO_DT --=======>>>ONLY CHANGE IS HERE
GROUP BY
X11,
X22
UNION ALL
SELECT /*+ ORDERED */
X11,
X22,
:ads_direction direction,
0 COUNTAA ,
count(ID) COUNTBB
FROM
TABLEp p,
TABLEv v,
TABLEs s,
TABLEx x
WHERE ...
AND TO_DATE(P.CANCELLATION_DATE) BETWEEN ADD_MONTHS(:ADT_FROM_DT, -12) AND ADD_MONTHS(:ADT_TO_DT, -12) --=======>>>ONLY CHANGE IS HERE
GROUP BY
X11,
X22)
GROUP BY Group_ID,
GROUP_DESC,
direction
ORDER BY GROUP_DESC
FOR RADIO BUTTON T((Both Bookings and Cancelations)
==================
UNION OF BOTH ABOVE QUERIES
==================
SELECT X11,
X22,
X33,
SUM( COUNTAA) CNT_CURRENT_YEAR,
SUM( COUNTBB) CNT_PREV_YEAR,
'B' Booking_Cancel,
sysdate from_dt,
sysdate to_dt
FROM
(SELECT /*+ ORDERED */
X11,
X22,
X33,
count(ID) COUNTAA ,
+ 0 COUNTBB
FROM
TABLEp p,
TABLEv v,
TABLEs s,
TABLEx x
WHERE ...
AND TO_DATE(P.BOOKINGS_DATE) BETWEEN :ADT_FROM_DT AND :ADT_TO_DT --=======>>>ONLY CHANGE IS HERE
GROUP BY
X11,
X22
UNION ALL
SELECT /*+ ORDERED */
X11,
X22,
:ads_direction direction,
0 COUNTAA ,
count(ID) COUNTBB
FROM
TABLEp p,
TABLEv v,
TABLEs s,
TABLEx x
WHERE ...
AND TO_DATE(P.BOOKINGS_DATE) BETWEEN ADD_MONTHS(:ADT_FROM_DT, -12) AND ADD_MONTHS(:ADT_TO_DT, -12) --=======>>>ONLY CHANGE IS HERE
GROUP BY
X11,
X22)
GROUP BY Group_ID,
GROUP_DESC,
direction
ORDER BY GROUP_DESC
UNION ALL
SELECT X11,
X22,
X33,
SUM( COUNTAA) CNT_CURRENT_YEAR,
SUM( COUNTBB) CNT_PREV_YEAR,
'B' Booking_Cancel,
sysdate from_dt,
sysdate to_dt
FROM
(SELECT /*+ ORDERED */
X11,
X22,
X33,
count(ID) COUNTAA ,
+ 0 COUNTBB
FROM
TABLEp p,
TABLEv v,
TABLEs s,
TABLEx x
WHERE ...
AND TO_DATE(P.CANCELLATION_DATE) BETWEEN :ADT_FROM_DT AND :ADT_TO_DT --=======>>>ONLY CHANGE IS HERE
GROUP BY
X11,
X22
UNION ALL
SELECT /*+ ORDERED */
X11,
X22,
:ads_direction direction,
0 COUNTAA ,
count(ID) COUNTBB
FROM
TABLEp p,
TABLEv v,
TABLEs s,
TABLEx x
WHERE ...
AND TO_DATE(P.CANCELLATION_DATE) BETWEEN ADD_MONTHS(:ADT_FROM_DT, -12) AND ADD_MONTHS(:ADT_TO_DT, -12) --=======>>>ONLY CHANGE IS HERE
GROUP BY
X11,
X22)
GROUP BY Group_ID,
GROUP_DESC,
direction
ORDER BY GROUP_DESC
=======================
IS THERE A WAY I CAN USE ONLY 1 QUERY AND PASS PARAMETERS DEPENDING ON WHAT I CHOOSE AS THE RADIO BUTTON OPTION.
I am using Oacle 10g
As posted, my code will return a row even if both dates are populated, as long as either cancellation_date is null or cancellation_date is in the range. The Coalesce function returns the first non-null value from the list.
SQL> var radio_button varchar2(1);
SQL> exec :radio_button := 'B';
PL/SQL procedure successfully completed.
SQL> with t as (
2 select 1 id, sysdate bookings_date, to_date(null) cancellation_date
3 from dual union all
4 select 2, sysdate - 1, null from dual union all
5 select 3, null, sysdate from dual union all
6 select 4, sysdate - 3, null from dual union all
7 select 5, null, sysdate + 3 from dual union all
8 select 6, sysdate - 1, sysdate from dual)
9 select * from t
10 where CASE WHEN :radio_button = 'B' THEN bookings_date
11 WHEN :radio_button = 'C' THEN cancellation_date
12 WHEN :radio_button = 'T'
13 THEN COALESCE(cancellation_date, bookings_date) END BETWEEN sysdate - 1 AND
14 sysdate + 1;
ID BOOKINGS_DA CANCELLATIO
1 16-FEB-2012
2 15-FEB-2012
6 15-FEB-2012 16-FEB-2012
SQL> exec :radio_button := 'C';
PL/SQL procedure successfully completed.
SQL> /
ID BOOKINGS_DA CANCELLATIO
3 16-FEB-2012
6 15-FEB-2012 16-FEB-2012
SQL> exec :radio_button := 'T';
PL/SQL procedure successfully completed.
SQL> /
ID BOOKINGS_DA CANCELLATIO
1 16-FEB-2012
2 15-FEB-2012
3 16-FEB-2012
6 15-FEB-2012 16-FEB-2012Are you saying that if both bookings_date and cancellation date are populated, and both fall into the range, then you want to see a count for both booking and cancellations in the results if both is requested? I'm not sure that I understand the logic where a single record prior to the aggregation can be both a booking and a cancellation.
Perhaps if you posted some realistic sample data for at least the "current" year portion of the queries (the top half of your individual unions), it would be easier to visualize. Preferrably in the form of insert statements, or a with construct as I did above. A you only need to show a few the relevant columns (likely x11, id, bookings_date and cancellation_date would do for a conceptual test). PLease also post you expected results from the sample data you provide.
John
Similar Messages
-
Multi-Value error when merging queries
I am merging 2 different tables to generate a report with combined information. I want to pull data from one table where there is no matching dimension I have declare the dimensions as detailed objects. This works fine, I am however getting an issue with multiple values in some rows.
I have 2 queries that I merge
Query1
Application_name
Version
Query 2
Server hostname
Application_name
Report
Application_name (Query 1)
Version (Query 1)
Server hostname (Query 2)
The issues comes when I have multiple Server hostnames for an Applicaiton_name, they are showing a error message of u201C#MUTIVALUEu201D I presume this is due to the fact that the merge is trying to put more that one value in the Server hostname
How can I rectify this so that multiple servers are show for one application?
e.g.
Report Data
Application_name (Query 1) Version (Query 1) Server hostname (Query 2)
Application X Version 10.1 server1
Application X Version 10.1 server2
Application X Version 10.1 server3
AdamTry to use Report level context.
Like
Server hostname ForEach (Server ) In (Query)
Hope this will help you out. -
Merging queries with not exact matching data
Hi fellow Webi and OLAP bods
Does anyone know how I can merge data from 2 different queries where the data is not an exact match?
I have one query where the key is
001
002
003
004
etc
and another where the key is
AAA001
AAA002
AAA003
BBB004
etc
basically they are the same thing but the second has this prefix in the data that I am not interested in.
If it were on oracle or some other relationanl data source I could clearly create a new object in the universe that used substr(mykey,4,3) and they'd match fine but both queries are on SAP BW datasources and I wanted to know if I can do this anyway without having to wait for our BW team to create me a new object in BW. I'm guessing my only options are with some neat MDX in the universe (I'm on xi 3.1) or with some clever stuff in the report......
Maybe I'll just do it in excel with vlookup......(again!)
Thanks
NickSince I don't have the same set of data that is why I cannot replicate on my system so don't take my answer as final answer.
If both fields have the same data type then you can do and if you dont want to see the prefix then you can use formula and hide it.
Let me know if it works.
Bashir Awan -
Merging queries for different multiproviders
Is there are a way to use the output of one query as an input parameter for another query and use the output from the second query in the report.
My requirement is that the data which is to be displayed in the report is found in two different multiproviders and we cannot create any other multiprovider. I created two queries for the two multiproviders. One of the characteristic of the first query has to be an input parameter for the second query and the one of the Key figure output of the second query should be one of the column in the report. Can anyone please suggest a way for this?Hi,
this is possible by taking a variable restriction on that characterstic in the second report. This variable should have a processing type equal to REPLACEMENTPATH and there you can specify the first query as the source for this variable.
With rgds,
Anil Kumar Sharma .P -
Bug in Datafinder Queries?
I worked with datafinder and multi-queries functions in LabVIEW 2009 sp1. No problem.
By some reasons, I changed the data format of TDMS.
Each channel (ch0... chN) of a group has the time information of acquisition marked with the same name of DateTime.
DateTime was changed to group level and others from file level.
I just tried to query (time AND string) with the almost same code which worked before.
But, I found trying of only time OR only string query is successful but the combination of time "AND" string is not working.
I have no idea about the troubleshooting but guess the kind of bugs in Merge Queries.vi.
Enclosed is the code and two TDMS files you can try.
labmaster
Attachments:
Channel_info.png 15 KB
String_Info.png 15 KB
Code.zip 488 KBThanks for the reply.
As I mentioned " I found trying of only time OR only string query is successful ".
That means True (codition1) AND True (condition2) should be True.
In AND and OR operator in Merge Queries.vi in 3rd code, I can't get the result.
For your understanding, I am attaching the screen shots.
Attachments:
codeshot.png 54 KB
resultshot.png 23 KB -
Merge 2 tables based on key and dates - complex
in powerquery - given 2 tables, both with a startdate and a key, how to merge them to get a table that includes a row for each valid key/startdate combination? (Table3 below is my desired result):
Table1.Key
Table1.Durablekey
Table1.startdate
Table1.color
Table1.type
Table.location
1A
1D
1/1/2012
Red
T1
Boston
2A
1D
7/1/2012
Red
T1
NY
3A
1D
1/1/2013
Blue
T1
LA
4A
2D
1/1/2012
Yellow
T2
Boston
Table2.Key
Table2.Durablekey
Table2.startdate
Table2.quality
1B
1D
2/1/2012
Great
2B
1D
3/1/2012
Good
3B
1D
7/1/2012
Poor
4B
1D
2/1/2013
Excellent
5B
2D
1/1/2012
Good
Table 3
Table1.Key
Table2.Key
START DATE
TAble1.color
Table1.type
Table.location
Table2.quality
1A
NA
1/1/2012
Red
T1
Boston
NA
1A
1B
2/1/2012
Red
T1
Boston
Great
1A
2B
3/1/2012
Red
T1
Boston
Good
2A
3B
7/1/2012
Blue
T1
NY
Poor
3A
3B
1/1/2013
Blue
T1
LA
Poor
3A
4B
1/1/2013
Blue
T1
LA
Excellent
4A
5B
1/1/2012
Yellow
T2
Boston
GoodHave you tried using "Merge Queries" and selecting the key and start date columns in each table?
Ehren -
I'm reporting out of two universes published by Epic
1. Warehouse - Patient
2. Warehouse - Transactions
I wanted to join two queries based on the primary key for a hospital encounter. Following the tutorial seemed pretty straightforward until I got to displaying data from a merged query.
The table displayed results from Query1, but adding fields from Query2 wiped out all the data in the table, leaving only #datasync in each field.
My workaround to get fields from both queries displayed (see screenshot)
1. Merge queries on *two* fields - primary key of hospital encounter and primary key of patient
2. Create new variable
3. Make variable type Detail
4. Associate variable with hospital encounter key from Query1
5. Set formula equal to a field from Query2
I'm not sure why this workaround works or if what I'm experiencing is a symptom of something larger. Could this workaround be needed because I am merging on fields from a fact table instead of fields from a dimension table?
Thanks in advanceYou have defined merged dimension on 'company code-Key' which is common in both the Bex-queries.
You are able to bring the merged dimension and other objects from Query_ One to report block without any issue but when adding objects from Query_Two you are getting the error #DATASYNC.
In this case objects from Query_One are got sync with the merged dimension object without any issue because they got added first to it.
Similarly when you add merged dimension and objects from Query_Two you find no issue, because objects from Query_Two go sync first.
Once objects from a query(Query_One/Query_Two) got added to a merged dimension, when we try adding objects from other query we get #DATASYNC error. This is because data in the other query is not able to sync with the initial result set, this is a know behavior.
There are two workarounds:
1) Merging all common dimension/characteristic objects: Only merged dimensions data will sync with the initial query, un-merged dimensions/characteristic objects will still give #DATASYNC error.
2) Create detail objects/attribute objects at report level for all uncommon characteristic/dimension objects from query_two referring to merged dimension. Then add these newly created detail/attribute objects to the table block that is having initial query objects with merged dimension, with this you see result set of query_two in the table block not #DATASYNC error.
~ Manoj -
Hi,
I am new to oracle Toplink. I have created objects for few tables in my project. Instead of standard findall, merge queries, I need to write my own query.
Could somebody help me to do this please?Hi,
You can create Named Queries in Toplink and Define the Query of your requirement.
If you want achieve that using API,below is sample code
SQLCall call = new SQLCall();
call.setSQLString("SELECT * FROM EMPLOYEE where empname=?");
Enumeration employees = getEmployeeHome().findAll(call);
You can define the Named query using the ExpressionBuilder API as given below
ExpressionBuilder exp = new ExpressionBuilder();
ReadAllQuery = new ReadAllQuery();
query.setReferenceClass(Customer.class);
query.setSelectionCriteria(exp.get("city").equal(exp.getParameter("city")));
query.addArgument("city");
// create a query...
event.getSession().getDescriptor(Customer.class).getQueryManager().addQuery("fin
dCustomersInCity", query);
//Add query to Descriptor
descriptor.getQueryManager().addQuery("findCustomersInCity", query);
/* Enumeration findCustomersInCity(String aCity)
Since this finder returns an Enumeration, the type of the query is
ReadAllQuery. The finder is a "NAMED" finder. It's implementation
is a ReadAllQuery that is registered with the QueryManager. */
//1 the query is defined
ReadAllQuery query1 = new ReadAllQuery();
query1.setName("findCustomersInCity");
query1.addArgument("aCity");
query1.setReferenceClass(CustomerBean.class);
//2 an expression is used
ExpressionBuilder builder = new ExpressionBuilder();
query1.setSelectionCriteria
builder.get("city").like(builder.getParameter("aCity";
//3 An option at this point would be to set any desired options on the query,
e.g., queryl.refreshIdentityMapResult();
//4 Finally, the query is registered with the querymanager.
descriptor.getQueryManager().addQuery("findCustomersInCity",query1);
If you want to achieve thru declaratively then follow add the below xml elements to descriptor.xml.For example adding a named query to Dept descriptor in dept.xml
<query type="relational-read-object">
<name>findDeptByName</name>
<parameter-list>
<query-parameter>
<name>name</name>
<type-handle>
<type-name>java.lang.String</type-name>
</type-handle>
</query-parameter>
</parameter-list>
<relational-options>
<format type="expression">
<main-compound-expression type="compound">
<operator-type>AND</operator-type>
<expression-list>
<expression type="basic">
<operator-type>EQUAL</operator-type>
<first-argument type="queryable">
<queryable-argument-element>
<queryable-handle>
<mapping-descriptor-name>testTop.Dept</mapping-descriptor-name>
<queryable-name>dname</queryable-name>
</queryable-handle>
</queryable-argument-element>
</first-argument>
<second-argument type="parm">
<query-parameter-handle>
<class-descriptor-name>testTop.Dept</class-descriptor-name>
<query-signature>findDeptByName(java.lang.String)</query-signature>
<query-parameter-name>name</query-parameter-name>
</query-parameter-handle>
</second-argument>
</expression>
</expression-list>
</main-compound-expression>
</format>
</relational-options>
</query>
You can use JDeveloper to develop the Toplink aplication using Wizards,please refer the below link for more information.
http://download.oracle.com/docs/cd/E15523_01/web.1111/b32441/qryun.htm#CACFBJCI
Regards,
P.Vinay Kumar -
This query
select
--count(CONRTRM_PIDM),
conrtrm_pidm,
conrtrm_aidy_code,
conrtrm_fund_code,
conrtrm_offer_amt,
conrtrm_offer_date ,
conrtrm_activity_date,
conrtrm_disb_final_ind,
conrtrm_memo_exp_date,
conrtrm_orig_offer_amt,
conrtrm_orig_offer_date,
conrtrm_accept_amt,
conrtrm_accept_date
from
conrtrm
where
conrtrm_pidm = 102366 produce the following results
CONRTRM_PIDM CONRTRM_AIDY_CODE CONRTRM_FUND_CODE CONRTRM_OFFER_AMT CONRTRM_OFFER_DAT E CONRTRM_ACTIVITY_DATE CONRTRM_DISB_FINAL_IND
102366 0708 FSTAFS 1,000 20070207 20110413 Y
102366 0708 FSTAFS 1,000 20070207 20110413 Y
102366 0708 FWS 950 20070207 20110413 Y
102366 0708 FWS 950 20070207 20110413 Y
102366 0708 SKIDGR 8,425 20070207 20110413 Y
102366 0708 SKIDGR 8,425 20070207 20110413 YI need the following results I need to merge the amounts?
IF
CONRTRM_PIDM CONRTRM and CONRTRM_AIDY_CODE and CONRTRM_FUND_CODE are the same I need to merge the amounts and choose the max(actiovity date) the activity date can be different
for example the code
FSTAFS
should be ended in the results
As a
102366 0708 FSTAFS AS 2000 (one row) merge the amounts and with the max activity date (CONRTRM_ACTIVITY_DATE )
FWS one row 1900
SKIDGR one row (16850)
How I can do this using merge (not too much experience with the merge queries)
Thank youHi,
MERGE is a DML statement that can do both INSERT (add new rows to a table) and UPDATE (change existing rows).
Do you want to change the table, or do you want to run a query (that is, a SELECT statement) that shows data already in the table, without changing what is stored?
If you just want a query, then you want GROUP BY, where each row of output may represent more than one row from the original table. (I think that is what you meant when you said "merge".)
I think you want something like this:
SELECT conrtrm_pidm, conrtrm_aidy_code, conrtrm_fund_code
, SUM (conrtrm_offer_amt) AS total_amt
, MAX (conrtrm_activity_date) AS last_activity_date
FROM conrtrm
WHERE conrtrm_pidm = 102366
GROUP BY conrtrm_pidm, conrtrm_aidy_code, conrtrm_fund_code
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only), and also post the results you want from that data.
Explain, using specific examples, how you get those results from that data.
If you really do want to change the table, then the INSERT statements you post should show how the tables are before the DML, and the results will be the contents of the changed table(s) after the DML.
Always say which version of Oracle you're using.
Edited by: Frank Kulash on May 12, 2011 3:25 PM -
Error while refreshing a report using local csv file
Hi,
I'm using BI 4.1 SP02.
While using Rich client, I've created a report with some merged queries, while one of the queries is a local CSV file - saved on AD in some server, and not on the repository inside BO.
While trying to refresh the report with the Rich client, it all went great.
Now, while using BI Launchpad java based app, I can't refresh the report - I get the following error:
"An Internal error occurred while calling 'processDPCommandsEx' API. (Error: ERR_WIS_30270) (WIS 30270)"
Should I be able to refresh a report without the Rich if it contains a local file (which is possible to EDIT only with rich) ?
If so, then did someone ran into this error?
Thank you,
Or.First of all, thanks for both of the replies.
Second,
my problem is unlikely have to do something with permissions from one reasons -
when the report is using XLS\XLSX on same folder(with same name prefix) - the report is running without any problem.
Only problem is while refreshing without Rich while the source is network CSV file.
Any suggestions?
Thanks. -
No TDM in LV 8.2?
I had to re-code all my TDM data storage VIs to the TDMS type when upgrading fro 7.1.1 to 8.2.1. The TDM VIs originally sat there with the hour glass cursor flashing and the broken arrow revealed an "unable to compile" error. After cleaning up I tried to simply drop a 'TDM open' VI onto an empty block diagram but no go. I get an hour glass for a while but then it just gives up. The new TDMS functions work fine so I can certainly code around this, I hope .
Is this normal? If the old TDM functions are not supported why are they still on the pallette? Are the old TDM VIs a subset of the new TDMS versions so I won't lose any functionality?
Can anyone else verify this. I get the exact same behavior on both of my systems.
Using LabVIEW: 7.1.1, 8.5.1 & 2013Thanks Emilie. That's what I assumed so I have already updated to the TDMS VIs.
Yong, that is correct. My action engine VI for TDM data storage showed up broken with an "unable to compile" error. To make it more confusing, I opened the old action engine with the old TDM VIs in 8.2.1 this morning to verify the issue before I posted it and it opened fine. It seems to work (at least on its own). However, I still can't simply drop an old type data storage VI on the block panel when I'm using 8.2.1. The hour glass cursor appears and it won't let me drag the VI icon off the palette. Again, it's only the first 6 VIs. Merge Queries.vi and the rest seem to be OK. If it was just one PC doing this I would assume I have a bad install but it's on two systems.
Since I'm now using the TDMS VIs anyway this is not a problem, let me know if your system exhibit the same problem.
Thanks All,
K
Using LabVIEW: 7.1.1, 8.5.1 & 2013 -
How to connect to different data sources in XI 3.1 UNIVERSE?
hi experts,
We are going to migrate from BO 6.5 to BO XI3.1.
and we have different data sources to extract and generate the reports using various tools like Webi,Crystal Reports, Deski etc.
1 How to connect to different data sources like SAP BI query, DB2, Oracle etc,, provide me the step by step solution.
2 We need to migrate the universes and reports from BO 6.5 to BO XI 3.1 using the Report Conversion Tool.
can we directly convert from the deski reports to Webi or do we need to migrate first through Import Wizard?
3 Scheduling the Reports through Infoview
4 Various issues and how to resolve those issues, we generally face while scheduling, and while creating the queries like for example time out errors etc..
5 BO Security
6 Universe creation with best practices and the loops,contexts,aliases etc..
please provide me the step by step solution documents and links.
thans in advance
venuscmI would recommend to take a look at the official documentation. YOu can find this here
http://help.sap.com
NAvugate to SAP BusinessObjects->All products and the select the product you want eg. BusinessObjects ENterprise or Universe designer and the appropriate version XI 3.1. Take a look at the admin and the user guides.
Currently the Data FEderator will allow you to buid a universe that access data from various data sources. Another option is to merge queries from different universes at report level.
Regards,
Stratos -
Hi All,
We have Webi document which always pull 200000+ records, When we trying to export the reports as Excel or PDF Its taking long (more that 20 mins to export). Is there anyway to increase the performence?
Regards
ArunHi,
There are few performance metrics to be followed on reporting side as well DB side.
1. Document with many variables or many rows of data will take substantial amount of time to calculate. It is recommended to do the calculations at Universe level or DB level.
Ex: if report has 100,000 rows of data and 10 cols of formulas then report has to perform 100,000 * 10 before giving you the results.
Check the variables/context formulas in report.
2. Queries with Multiple context will generate multiple SQL statements . Document will merge the results of multiple queries then perform any calculations before rendering the document.
Check the SQL statements with merge queries.
3. Performance of the report is because of too much data display. Check Data Drilling /Hierarchies/Open Documents
There are many factors to improve the performance of the WebI Document and above mentioned are just few.
The rows of data you are trying to display is huge. perform the above metrics or move the detailed data to different tabs.
Also, there is option of scheduling to Excel or PDF.
Thanks,
Jothi -
Query Data Finder Server with ActiveX
I haven't been able to find much resources on how to use ActiveX to Query a Data Finder Server. I know that this is all supposed to be done with the ToCommand but I have no idea how it is done beyond this. Can someone give me some direction as to what commands are needed to Open a Data Finder, Create a Query, Merge Queries, and get resulting file paths?
Thanks,
David VanleeuwenHi Djvanlee,
So they are not ActiveX commands, you would use VBScript Commands with a ToCommand reference writing to DIAdem through invoke nodes. Are you using LabVIEW with the ToCommand reference?
An example of this can be found by opening up the DIAdem - Example Finder by going to Help>>Examples and it will be on the Context tab under the directory Examples>>Create Scripts>>Using Interfaces>>Controlling DIAdem from LabVIEW. Then the commands can be found in the DIAdem Help on the Contents tab by going to Programming Reference>>Object Oriented Script Interfaces>>DIAdem NAVIGATOR>>Methods. The methods you would reference are labeled as <DataFinder>. It looks like the main commands you would need are:
ConnectDataFinder()
CreateQuery()
Load Query()
SaveQuery() \\Note when you save the query you will have to indicate the path.
If you are looking for a good example of programmatically using the DataFinder in the script tab in DIAdem you can find this in the ExampleFinder on the Contents tab at "Extending Functionalities with Scripts>>Context Menu for the Search Results of the DataFinder". The ResultsList_Menus_Add.VBS connects to the DataFinder programmatically and loads a query.
Peter T
Applications Engineer
National Instruments -
Merging two Queries in single crystal report lauout
Hi All,
I need to show two reports from two different BEx queries in a single crystal report layout. The queries are independent of each onther and having their selection variables. I have implemented two subreports for two queries in a main report. Now the problem i am facing is, though both the queries are having same slection(Profit Centre and Fiscal Per/Year), they are getting repeated in crystal report parameter screen. I have to enter the values for selections for each report.
Is there any method to merge the selections for both reports if they are same, so that i can enter the selections only once?
Thanks in Adv,
Shubhramukta.Hi,
I have two queries in BEx having Selections. Query 1 is having selections (Profit centre and Fiscal Per/Yr) and query 2 is having same selections as well(i.e. Profit centre and Fiscal Per/Yr). I have created two reports corresponding to these queries have used as subreports in a main report using Crystal report 2008. When i run the main Crystal report, it automatically prompts for values to be entered, as variables are set at BEx query level.
Though both the reports are having same selection variables, crystal report asks to enter values two times , once for each report, and it is obvious.
Parameters are Crystal parameters.
Is there any method to merge the parameters,is selection variables are same, so that it will ask only once?
Thanks
Maybe you are looking for
-
Please help! I need to upgrade my Mac from 10.4.11 to Leopard.
It's a PowerPC G4. Can I upgrade to 10.5.6 or do I need to upgrade to 10.5 first? Thanks in advance for your assistance.
-
My Compound Clips won't link to the event files
Hi all, In desperate need of assistance. FCPX has given me nothing but trouble since day 1. Recently i've had alot of trouble with my compund clips unlinking themselves from the sorce material in the same events folder. i have exhusted every avenue o
-
Upgrade libev-3.80-1 breaks awesome hotkeys for xterm
Hi, I've just upgraded to libev-3.80-1 and now the default key assigned to kill() in awesome's rc.lua (meta+shift+c) produces no effect against an xterm or an urxvt - it does however work against an aterm and firefox. Actually, this is independent of
-
Corrupt File Won't Let Me Start FCPX.. PLEASE HELP!
I've been working on this big production with Final Cut Pro X for a Tv company here in Panama. Suddenly after I finished my edit one day and went back the next day to check if everything was good to turn in, FCPX wouldn't start or work at all. I've b
-
I have created a cab file for a Flash Lite 3 app that load a photo (jpg) into the app using loadMovie(). The photo is stored within the sub-folder "photos" to the application. The Flash Lite 3 app tested successfully in the Device Central. The cab al