Query Elements Description for a specific query - Useful for Translation
Hello everyone,
I would like to know how I can determine a list of all query elements (with their Element ID) within a single query. So, based on a query (technical name), I would like to have a list of all query elements used.
I would prefer a list of Element IDs, so then I can check if the proper description of each element is available in different languages (in table RSZELTTXT).
Or if there is a handy tool to check wether all elements are properly translated (and then I don't mean the translation module in the Adlinistration Workbnech, because it is not handy or opening Bex Query designer in different languages), please let me know.
Kind regards from Belgium,
Ben De Windt
Hi,
Please check for personalization, if the userid has hidden it?
Regards,
Harsha
Similar Messages
-
Query using progressive relaxation take more time for execution
HI Gurus,
I am creating a query using context index and progressive relaxation
I had started using progressive relaxation after getting inputs from forum {thread:id=2333942} . Using progressive relaxation takes more than 7 seconds for every query. Is there any way we can improve the performance of the query?
create table test_sh4 (text1 clob,text2 clob,text3 clob);
begin
ctx_ddl.create_preference ('nd_mcd', 'multi_column_datastore');
ctx_ddl.set_attribute
('nd_mcd',
'columns',
'replace (text1, '' '', '''') nd1,
text1 text1,
replace (text2, '' '', '''') nd2,
text2 text2');
ctx_ddl.create_preference ('test_lex1', 'basic_lexer');
ctx_ddl.set_attribute ('test_lex1', 'whitespace', '/\|-_+');
ctx_ddl.create_section_group ('test_sg', 'basic_section_group');
ctx_ddl.add_field_section ('test_sg', 'text1', 'text1', true);
ctx_ddl.add_field_section ('test_sg', 'nd1', 'nd1', true);
ctx_ddl.add_field_section ('test_sg', 'text2', 'text2', true);
ctx_ddl.add_field_section ('test_sg', 'nd2', 'nd2', true);
end;
create index IX_test_sh4 on test_sh4 (text3) indextype is ctxsys.context parameters ('datastore nd_mcd lexer test_lex1 section group test_sg') ;
alter index IX_test_sh4 REBUILD PARAMETERS ('REPLACE SYNC (ON COMMIT)') ;-- sync index on every commit.
SELECT SCORE(1) score,t.* FROM test_sh4 t WHERE CONTAINS (text3, '
<query>
<textquery>
<progression>
<seq>{GIFT GRILL STAPLES CARD} within text1</seq>
<seq>{GIFTGRILLSTAPLESCARD} within nd1</seq>
<seq>{GIFT GRILL STAPLES CARD} within text2</seq>
<seq>{GIFTGRILLSTAPLESCARD} within nd2</seq>
<seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text1</seq>
<seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text2</seq>
<seq>((%GIFT% and %GRILL% and %STAPLES%) or (%GRILL% and %STAPLES% and %CARD%) or (%GIFT% and %STAPLES% and %CARD%) or (%GIFT% and %GRILL% and %CARD%)) within text1</seq>
<seq>((%GIFT% and %GRILL% and %STAPLES%) or (%GRILL% and %STAPLES% and %CARD%) or (%GIFT% and %STAPLES% and %CARD%) or (%GIFT% and %GRILL% and %CARD%)) within text2</seq>
<seq>((%STAPLES% and %CARD%) or (%GIFT% and %GRILL%) or (%GRILL% and %CARD%) or (%GIFT% and %CARD%) or (%GIFT% and %STAPLES%) or (%GRILL% and %STAPLES%)) within text1</seq>
<seq>((%STAPLES% and %CARD%) or (%GIFT% and %GRILL%) or (%GRILL% and %CARD%) or (%GIFT% and %CARD%) or (%GIFT% and %STAPLES%) or (%GRILL% and %STAPLES%)) within text2</seq>
<seq>((%GIFT% , %GRILL% , %STAPLES% , %CARD%)) within text1</seq>
<seq>((%GIFT% , %GRILL% , %STAPLES% , %CARD%)) within text2</seq>
<seq>((!GIFT and !GRILL and !STAPLES and !CARD)) within text1</seq>
<seq>((!GIFT and !GRILL and !STAPLES and !CARD)) within text2</seq>
<seq>((!GIFT and !GRILL and !STAPLES) or (!GRILL and !STAPLES and !CARD) or (!GIFT and !STAPLES and !CARD) or (!GIFT and !GRILL and !CARD)) within text1</seq>
<seq>((!GIFT and !GRILL and !STAPLES) or (!GRILL and !STAPLES and !CARD) or (!GIFT and !STAPLES and !CARD) or (!GIFT and !GRILL and !CARD)) within text2</seq>
<seq>((!STAPLES and !CARD) or (!GIFT and !GRILL) or (!GRILL and !CARD) or (!GIFT and !CARD) or (!GIFT and !STAPLES) or (!GRILL and !STAPLES)) within text1</seq>
<seq>((!STAPLES and !CARD) or (!GIFT and !GRILL) or (!GRILL and !CARD) or (!GIFT and !CARD) or (!GIFT and !STAPLES) or (!GRILL and !STAPLES)) within text2</seq>
<seq>((!GIFT , !GRILL , !STAPLES , !CARD)) within text1</seq>
<seq>((!GIFT , !GRILL , !STAPLES , !CARD)) within text2</seq>
<seq>((?GIFT and ?GRILL and ?STAPLES and ?CARD)) within text1</seq>
<seq>((?GIFT and ?GRILL and ?STAPLES and ?CARD)) within text2</seq>
<seq>((?GIFT and ?GRILL and ?STAPLES) or (?GRILL and ?STAPLES and ?CARD) or (?GIFT and ?STAPLES and ?CARD) or (?GIFT and ?GRILL and ?CARD)) within text1</seq>
<seq>((?GIFT and ?GRILL and ?STAPLES) or (?GRILL and ?STAPLES and ?CARD) or (?GIFT and ?STAPLES and ?CARD) or (?GIFT and ?GRILL and ?CARD)) within text2</seq>
<seq>((?STAPLES and ?CARD) or (?GIFT and ?GRILL) or (?GRILL and ?CARD) or (?GIFT and ?CARD) or (?GIFT and ?STAPLES) or (?GRILL and ?STAPLES)) within text1</seq>
<seq>((?STAPLES and ?CARD) or (?GIFT and ?GRILL) or (?GRILL and ?CARD) or (?GIFT and ?CARD) or (?GIFT and ?STAPLES) or (?GRILL and ?STAPLES)) within text2</seq>
<seq>((?GIFT , ?GRILL , ?STAPLES , ?CARD)) within text1</seq>
<seq>((?GIFT , ?GRILL , ?STAPLES , ?CARD)) within text2</seq>
</progression>
</textquery>
<score datatype="FLOAT" algorithm="default"/>
</query>',1) >0 ORDER BY score(1) DESCProgressive relaxation works best when you're only selecting a limited number of rows. If you fetch ALL the rows which satisfy the query, then all the steps in the relaxation will have to run regardless.
If you fetch - say - the first 10 results, then if the first step of the relaxation provides 10 results then there is no need to execute the next step (in fact, due to internal buffering, that won't be exactly true but it's conceptually correct).
The simplest way to do this is reword the query as
SELECT * FROM (
( SELECT SCORE(1) score,t.* FROM test_sh4 t WHERE CONTAINS (text3, '
<query>
<textquery>
</textquery>
<score datatype="FLOAT" algorithm="default"/>
</query>',1) >0 ORDER BY score(1) DESC
WHERE ROWNUM <= 10
You've discovered that leading wild cards don't work too well unless you use SUBSTRING_INDEX. I would encourage you to avoid them altogether if possible, or push them down much lower in the progressive relaxation. Usually, GIFT% is a useful expression (matches GIFTS, GIFTED, etc), %GIFT% is generally no more effective.
There are a lot of steps in your progressive relaxation. It you wanted to reduce the number of steps, you could change:
<seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text1</seq>
<seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text2</seq>
to
<seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)*2) within text1 ACCUM ((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text2</seq>
I don't know if this would have any performance benefits - but it's worth trying it to see. -
How to query using CGI path for 'IN' sql statement
Some problems that requires help:
I have a report that requires a query which has 'IN' statement in SQL query. For example: SELECT EMP_ADDRESS1 FROM EMPLOYEE WHERE EMP_NO IN (:EMP_NO).
I am going to query the result of this query using CGI. My peoblem starts here - I can't be passing a list of parameter for ':EMP_NO' because the path does not accept escape characters. I can't be put a query path below:
<HTML>http://172.188.2.7/dev60cgi/rwcgi60.exe?server=9iAS&mode=default&destype=localfile&desformat=\\pri_wnt\generic&report=gcgd1.rdf&userid=comm/comm@employee<B>&emp_no='A','B','C'<B></HTML>
What I am doing is that I will have a front end written in JAVA and display a listing of Employee available in the company. The user will be able to choose whatever employee on the front end. Then, I will call the CGI path to display the result to the user.
Pls help. Kindly email personally([email protected]) or reply here.
Thank youYou'll need to escape your single quotes using %XX where XX is the hex code corresponding to the special character you want to use. I'm not sure what the escape code is for quotes. I know that if you wanted to have a space, this:
....../rwcgi60.exe?key+P_city='San Francisco'+....
would need to look like:
.../rwcgi60.exe?key+p_city=San%20Francisco+...
You'll need to find out what the number for quote is. HOpe that helps a bit.
Toby -
Find out query using specific DB link
Hello,
Environment: 11G and Ksh script
Currently our Client is upgrading to new environment, so I need to find out which query in our Database use DB link to pull data from that client will be impacted.
for example,
select * from table_1@DB_link_1All our SQL are embedded in UNIX script, so I use command line to search any scripts contain '@DB_link_1' but not find anything.
is it possible to search any dynamic view or any suggestion to search inside ORACLE database to see if any query using this 'DB_link_1'? I tried 'dba_db_links' but this does not show which query is using which DB link.
Thanks,
Thomasfrank wrote:
Hello,
Environment: 11G and Ksh script
Currently our Client is upgrading to new environment, so I need to find out which query in our Database use DB link to pull data from that client will be impacted.
for example,
select * from table_1@DB_link_1All our SQL are embedded in UNIX script, so I use command line to search any scripts contain '@DB_link_1' but not find anything.
is it possible to search any dynamic view or any suggestion to search inside ORACLE database to see if any query using this 'DB_link_1'? I tried 'dba_db_links' but this does not show which query is using which DB link.
Thanks,
Thomashttp://download.oracle.com/docs/cd/E11882_01/server.112/e17110/statviews_1068.htm#REFRN20053
REFERENCED_LINK_NAME VARCHAR2(128) Name of the link to the parent object (if remote)
" -
In DBI , how to find out the Source Query used for the Report
Hi All,
How to find out the Source Query used to display the data in the DBI Reports or Dashboards. We can get it in Apps Front end by Going to Help and Record Histroty. But DBI Runs in Internet Explorer so i dont know how to get the source query ( SELECT Query ) Used.
In IE we have View --> Source . But that does not help since it gives the HTML Coding and not the SELECT Query used.
If anyone has ever worked on it...Please help me in finding it.
Thanks,
Neeraj ShrivastavaHi neeraj,
You can see the query used to display reports.Follow these steps to get the query.
1)Login to oracle apps
2)Select "Daily Business Intelligence Administrator" responsiblity.
3)Now click on "Enable/Disable Debugging" (Now u enabled debugging)
4)now open the report which you want to see the query of
5)In view source it displays query along with the bind varilables.
Feel free to ping me if you have any doubts
thanks
kittu -
Searching for values in a specific field using REST Search
To conduct a Search using REST...you only have the querytext parameter which searches all fields. How can I search within a specific field using REST?
BrianYou can use the following code as an example to post a query. The example shows how to search against the title managed property. It also shows you how to bring back certain properties for viewing and refiners. You can also do the same with a GET.
function executeRESTSearch() {
var appweburl = _spPageContextInfo.webAbsoluteUrl;
$.ajax(
'url': appweburl + "/_api/search/postquery",
'method': 'POST',
'data': JSON.stringify({
'request': {
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
'Querytext': 'title:whatever',
'Refiners': 'title,created',
'SelectProperties': { 'results': ['created','path'] },
'SortList': {
'results': [{
'__metadata': {
'type': 'Microsoft.SharePoint.Client.Search.Query.Sort'
'Direction': 1,
'Property': 'created'
'headers': {
'accept': 'application/json;odata=verbose',
'content-type': 'application/json;odata=verbose',
'X-RequestDigest': $('#__REQUESTDIGEST').val()
'success': function (data) {
var d = data.d.postquery.PrimaryQueryResult.RefinementResults.Refiners.results[0].Entries.results[0].RefinementValue;
'error': function (err) {
alert(JSON.stringify(err));
http://msdn.microsoft.com/en-us/library/office/jj163876(v=office.15).aspx
Blog | SharePoint Field Notes Dev Tools |
SPFastDeploy | SPRemoteAPIExplorer -
Strange results from JDBC Query using a VARRAY
Here's one for you experts:
I have a 9i release 2 db set up, to which I connect via the JDBC thin
driver. I have a JavaServer Pages application that needs to read a VARRAY
from a table and then use the contents of the VARRAY. Here's the code in
the JSP that does that:
resultset=db.executeQuery
("SELECT IMAGE_lIST FROM PAGE_IMAGE_ARRAY WHERE PAGENAME = " +
pagename);
oracle.sql.ARRAY array =
((oracle.jdbc.driver.OracleResultSet)resultset).getARRAY(1);
imageList = (String[])array.getArray();
for(int count=0; count<imageList.length; count++)
out.println("<p>The image at position " + count + " in the array is
the image titled: " + imageList[count]);
The JSP compiles and runs fine, but the output is as follows:
The image at position 0 in the array is the image titled: 0x7465737431
The image at position 1 in the array is the image titled: 0x7465737432
The image at position 2 in the array is the image titled: 0x7465737433
The image at position 3 in the array is the image titled: 0x7465737436
A query using SQL*Plus verifies that the actual values of the elements of
the array are 'test1', 'test2', 'test3', 'test6'. Notice that the last
digit in the hex(?) output matches the last digit of the actual string.
What's causing this? It looks like a data type mismatch, but I would have
thought that such an error would have triggered a compile-time error.
Any help is greatly appreciated.
Regards,
Dave PennDave,
The following should help.
1 select rawtohex('test1') val1,
2 rawtohex('test2') val2
3* from dual
SQL> /
VAL1 VAL2
7465737431 7465737432
SQL> select rawtohex('1') val1,
2 rawtohex('2') val2
3 from dual;
VA VA
31 32 -
What table does BI query use?
hi all,
i'm new to BI. how i know the table the BI query uses? and one more question, can i review the abap code of the BI query?
thanks in advance for your effort.
PeerasitHi,
the query is created on a specific provider. Each provider consists of a bunch of tables --> fact tables, dimension tables. Additionally the sid and master data tables of the characteristics are used for reporting, but that depends pretty much on your query definition.
For the code, goto transaction rsrt, enter the name of the query and click on the button technical information. In the upcoming list you will find the name of the generated program.
regards
Siggi -
How can rewrite the Query using Analytical functions ?
Hi,
I have the SQL script as shown below ,
SELECT cd.cardid, cd.cardno,TT.TRANSACTIONTYPECODE,TT.TRANSACTIONTYPEDESC DESCRIPTION,
SUM (NVL (CASE tt.transactiontypecode
WHEN 'LOAD_ACH'
THEN th.transactionamount
END, 0)
) AS load_ach,
SUM
(NVL (CASE tt.transactiontypecode
WHEN 'FUND_TRANSFER_RECEIVED'
THEN th.transactionamount
END,
0
) AS Transfersin,
( SUM (NVL (CASE tt.transactiontypecode
WHEN 'FTRNS'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'SEND_MONEY'
THEN th.transactionamount
END, 0)
)) AS Transferout,
SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_ACH'
THEN th.transactionamount
END, 0)
) AS withdrawal_ach,
SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_CHECK'
THEN th.transactionamount
END, 0)
) AS withdrawal_check,
( SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_CHECK_FEE'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'REJECTED_ACH_LOAD_FEE'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_ACH_REV'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_CHECK_REV'
THEN th.transactionamount
END,
0
) +
SUM
(NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_CHECK_FEE_REV'
THEN th.transactionamount
END,
0
) +
SUM
(NVL (CASE tt.transactiontypecode
WHEN 'REJECTED_ACH_LOAD_FEE_REV'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'OVERDRAFT_FEE_REV'
THEN th.transactionamount
END, 0)
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'STOP_CHECK_FEE_REV'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'LOAD_ACH_REV'
THEN th.transactionamount
END, 0)
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'OVERDRAFT_FEE'
THEN th.transactionamount
END, 0)
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'STOP_CHECK_FEE'
THEN th.transactionamount
END, 0)
)) AS Fee,
th.transactiondatetime
FROM carddetail cd,
transactionhistory th,
transactiontype tt,
(SELECT rmx_a.cardid, rmx_a.endingbalance prev_balance, rmx_a.NUMBEROFDAYS
FROM rmxactbalreport rmx_a,
(SELECT cardid, MAX (reportdate) reportdate
FROM rmxactbalreport
GROUP BY cardid) rmx_b
WHERE rmx_a.cardid = rmx_b.cardid AND rmx_a.reportdate = rmx_b.reportdate) a
WHERE th.transactiontypeid = tt.transactiontypeid
AND cd.cardid = th.cardid
AND cd.cardtype = 'P'
AND cd.cardid = a.cardid (+)
AND CD.CARDNO = '7116734387812758335'
--AND TT.TRANSACTIONTYPECODE = 'FUND_TRANSFER_RECEIVED'
GROUP BY cd.cardid, cd.cardno, numberofdays,th.transactiondatetime,tt.transactiontypecode,TT.TRANSACTIONTYPEDESC
Ouput of the above query is :
CARDID CARDNO TRANSACTIONTYPECODE DESCRIPTION LOAD_ACH TRANSFERSIN TRANSFEROUT WITHDRAWAL_ACH WITHDRAWAL_CHECK FEE TRANSACTIONDATETIME
6005 7116734387812758335 FUND_TRANSFER_RECEIVED Fund Transfer Received 0 3.75 0 0 0 0 21/09/2007 11:15:38 AM
6005 7116734387812758335 FUND_TRANSFER_RECEIVED Fund Transfer Received 0 272 0 0 0 0 05/10/2007 9:12:37 AM
6005 7116734387812758335 WITHDRAWAL_ACH Withdraw Funds via ACH 0 0 0 300 0 0 24/10/2007 3:43:54 PM
6005 7116734387812758335 SEND_MONEY Fund Transfer Sent 0 0 1 0 0 0 19/09/2007 1:17:48 PM
6005 7116734387812758335 FUND_TRANSFER_RECEIVED Fund Transfer Received 0 1 0 0 0 0 18/09/2007 7:25:23 PM
6005 7116734387812758335 LOAD_ACH Prepaid Deposit via ACH 300 0 0 0 0 0 02/10/2007 3:00:00 AM
I want the output like for Load_ACH there should be one record etc.,
Can any one help me , how can i rewrite the above query using analytical functions .,
SekharNot sure of your requirements but this mayhelp reduce your code;
<untested>
SUM (
CASE
WHEN tt.transactiontypecode IN
('WITHDRAWAL_CHECK_FEE', 'REJECTED_ACH_LOAD_FEE', 'WITHDRAWAL_ACH_REV', 'WITHDRAWAL_CHECK_REV',
'WITHDRAWAL_CHECK_FEE_REV', 'REJECTED_ACH_LOAD_FEE_REV', 'OVERDRAFT_FEE_REV','STOP_CHECK_FEE_REV',
'LOAD_ACH_REV', 'OVERDRAFT_FEE', 'STOP_CHECK_FEE')
THEN th.transactionamount
ELSE 0) feeAlso, you might want to edit your post and use [pre] and [/pre] tags around your code for formatting. -
Initial values in query using multidimensional authorizations
Hi,
so far reading here through the topics helped solving my issues, but know I have a problem with displaying the initial values in a query using multidimensional authorizations. We use BI 7 and have to user the authorization check from BW 3.5 (rsr).
Following situation:
- We have a two infoobjects "CLUST" and "P_CLUST" referencing to the infoobject "M_COSTELM" and using the same hierarchies.
- The user should either see a specific value of CLUST and all values of P_CLUST or a specific value of P_CLUST and all values of CLUST in the reports. The values of CLUST and P_CLUST he's allowed to see are the same.
- The role is declared as following:
CLUST: * + P_CLUST [] + auth.object for CLUST
PCLUST: * + CLUST [] + auth.object for PCLUST
- Only one of those two infoobjects has to be set with a value in the query.
Using the role as above and running a query, the rights management is working fine and the user only see's what he's allowed to.
But when the user open's the query he see's the whole hierarchie in the inital values on the left and not only those nodes and leafs he should see.
For example:
Hierarchie "costelm_hier"
ALL_NODES
- FIRST NODE
- FN_LEAF 1
- FN_LEAF 2
- SECOND NODE
- SN_LEAF 1
- SN_LEAF 2
The user is allowed to see the FIRST_NODE and it's leafs in CLUST and P_CLUST.
When he now open's a query with CLUST as the input-ready infoobject, in the initial values he see's the whole hierarchie and not only the FIRST_NODE with it's leafs.
When then browsing through the tree and selecting the FIRST_NODE, in the query, the restrictions are working fine. He can see the FIRST_NODE in the infoobject CLUST and every values in P_CLUST. Also vice versa.
As it's more user-friendly I only want the user to see the nodes and leafs he's has in his role.
I also tried using an exit variable with the function 'RSSB_GET_AUTHS_FILTERED', but without success.
Hope u understand me so far!?
Thanks for your support!How do I ask a question on the forums?
SQL and PL/SQL FAQ -
How to generate mdx query using C#
I am new to mdx query and i am very curious about mdx query generation using c# so i searched for any demo or open source then i found
Ranet.olap, which is providing what i need. After taking the dlls i tried to incorporate them in my code. I am pasting my full
console code which should generate mdx query but it's not doing so, Am i doing something wrong.
using System;
using System.Collections.Generic;
using Microsoft.AnalysisServices.AdomdClient;
using Ranet.Olap.Core.Managers;
using Ranet.Olap.Core.Metadata;
using Ranet.Olap.Core.Types;
namespace MDX
class Program
static void Main(string[] args)
startWork();
public static void startWork()
string connString = "Provider=MSOLAP.3; Data Source=localhost;Initial Catalog=AdventureWorkDW2008R2;Integrated Security=SSPI;";
CubeDef cubes;
AdomdConnection conn = new AdomdConnection(connString);
conn.Open();
cubes = conn.Cubes.Find("AdventureWorkCube");
Ranet.Olap.Core.Managers.MdxQueryBuilder mdx = new Ranet.Olap.Core.Managers.MdxQueryBuilder();
mdx.Cube = cubes.Caption;
List<Ranet.Olap.Core.Wrappers.AreaItemWrapper> listColumn = new List<Ranet.Olap.Core.Wrappers.AreaItemWrapper>();
List<Ranet.Olap.Core.Wrappers.AreaItemWrapper> listRow = new List<Ranet.Olap.Core.Wrappers.AreaItemWrapper>();
List<Ranet.Olap.Core.Wrappers.AreaItemWrapper> listData = new List<Ranet.Olap.Core.Wrappers.AreaItemWrapper>();
//Column area
Dimension dmColumn = cubes.Dimensions.Find("Dim Product");
Microsoft.AnalysisServices.AdomdClient.Hierarchy hColumn = dmColumn.Hierarchies["English Product Name"];
//hierarchy properties
List<PropertyInfo> lPropInfo = new List<PropertyInfo>();
foreach (var prop in hColumn.Properties)
PropertyInfo p = new PropertyInfo();
p.Name = prop.Name;
p.Value = prop.Value;
lPropInfo.Add(p);
Ranet.Olap.Core.Wrappers.AreaItemWrapper areaIColumn = new Ranet.Olap.Core.Wrappers.AreaItemWrapper();
areaIColumn.AreaItemType = AreaItemWrapperType.Hierarchy_AreaItemWrapper;
areaIColumn.Caption = hColumn.Caption;
areaIColumn.CustomProperties = lPropInfo;
listColumn.Add(areaIColumn);
//Rows Area
Dimension dmRow = cubes.Dimensions.Find("Due Date");
Microsoft.AnalysisServices.AdomdClient.Hierarchy hRow = dmRow.Hierarchies["English Month Name"];
List<PropertyInfo> lRowPropInfo = new List<PropertyInfo>();
foreach (var prop in hRow.Properties)
PropertyInfo p = new PropertyInfo(prop.Name,prop.Value);
lRowPropInfo.Add(p);
Ranet.Olap.Core.Wrappers.AreaItemWrapper areaIRow = new Ranet.Olap.Core.Wrappers.AreaItemWrapper();
areaIRow.AreaItemType = AreaItemWrapperType.Hierarchy_AreaItemWrapper;
areaIRow.Caption = hRow.Caption;
areaIRow.CustomProperties = lRowPropInfo;
listRow.Add(areaIRow);
//Measure Area or Data Area
Measure ms = cubes.Measures.Find("Order Quantity");
Ranet.Olap.Core.Wrappers.AreaItemWrapper areaIData = new Ranet.Olap.Core.Wrappers.AreaItemWrapper();
areaIData.AreaItemType = AreaItemWrapperType.Measure_AreaItemWrapper;
areaIData.Caption = ms.Caption;
List<PropertyInfo> lmpropInfo = new List<PropertyInfo>();
foreach (var prop in ms.Properties)
PropertyInfo p = new PropertyInfo(prop.Name, prop.Value);
lmpropInfo.Add(p);
areaIData.CustomProperties = lmpropInfo;
listData.Add(areaIData);
mdx.AreaWrappersColumns = listColumn;
mdx.AreaWrappersRows = listRow;
mdx.AreaWrappersData = listData;
string mdxQuery = mdx.GenerateMdxQuery();
conn.Close();Hi mkm1,
According to your description, you want to use C# code to generate MDX Query. Right?
In Analysis Servcies, we just need to use "Microsoft.AnalysisServices.AdomdClient.dll" to open connection to SSAS database and retrieve data from cube. Here are some sample code about executing MDX query using C#.
Dim objConnection As New AdomdConnection("Data Source=localhost;Initial Catalog=Adventure Works DW 2008;")
Dim objCommand As New AdomdCommand()
Dim objDatatable As New DataTable
Dim strCommand As String
strCommand = "SELECT [Measures].[Internet Sales Amount] ON COLUMNS, "
strCommand = strCommand & " [Date].[Calendar].[Calendar Year] ON ROWS"
strCommand = strCommand & " FROM [Adventure Works]"
objConnection.Open()
objCommand.Connection = objConnection
objCommand.CommandText = strCommand
Dim objDataAdapter As New AdomdDataAdapter(objCommand)
objDataAdapter.Fill(objDatatable)
objConnection.Close()
Since your code is more related to a third party API, we suggest you post your question to Rnet.
Reference:
Microsoft.AnalysisServices.AdomdClient Namespace
If you have any question, please feel free to ask.
Simon Hou
TechNet Community Support -
ABAP query using logical database KDF is not populating custom fields
Hi Experts ,
I created two following queries
1. VENDORCATKDF – uses KDF logical database
2. VENDORCATLFA1 – uses table = LFA1
I’m pulling the same information in both queries:
· Vendor Number
· Country
· Vendor Name
· Vendor Category (custom fields added to LFA1)
The results for the query that uses the logical database KDF is incorrect. It doesn’t pull in the flag on the custom field LFA1-ZMRO. Even though the logical database KDF is made up of the table LFA1 and has these fields.
Is there something that can be done – so that all of these “custom” category fields under LFA1 (such as LFA1-ZZMRO) – get pulled into queries – when we use the logical database KDF ?Hi,
I have got the error removed by ensuring that fields from one table are a part of one line ( taking help of ruler) only. But the underlying problem remains, the output is not ALV but List output.
I do not think having additional fields in the query is reason for this.
Is it bcoz iI am adjusting the output length of columns to ensure no hierarchical error ?
Can we not have a query using LDB which is shown as SAP List?
Regards,
Garima. -
Getting an error when i am execution a BI query using ABAP.
Hi Expert,
I am getting an error when i am execution a BI query using ABAP. Its Giving me this Error "The Info Provider properties for GHRGPDM12 are not the same as the system default" and in the error analysis it saying as bellow.
Property Data Integrity has been set differently to the system default.
Current setting: 0 for GHRGPDM12
System default: u2019 7 u2018
As I am very new to BI and have very limited knowledge, so I am not able to understand this problem. Can any one help me to resolving this issue. Previously it as working fine, I am getting this error last 2 days.
when i am debugging , I am getting error from
create instance of cl_rsr_request
CREATE OBJECT r_request
EXPORTING
i_genuniid = p_genuniid.
this FM. Its not able to create the object. Can any one please help me out.
Thanks in advance.
Regards
SatrajitHi,
I am able to solve this problem
Regards
Satrajit -
Error while accessing Query using Query Analyzer
dear experts...
while accesiing the query using query analayzer...
we are getting below error...
What has happened?
URL http://xxx.xxx.xxx.xx:XXXX/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fcom.sap.pct!2fplatform_add_ons!2fcom.sap.ip.bi!2fiViews!2fcom.sap.ip.bi.bex call was terminated because the corresponding service is not available.
Note
The termination occurred in system BI1 with error code 404 and for the reason Not found.
The selected virtual host was 0 .
What can I do?
Please select a valid URL.
If you do not yet have a user ID, contact your system administrator.
ErrorCode:ICF-NF-http-c:001-u:ANAND-l:E-i:PSRCCPRDA003_BI1_00-v:0-s:404-r:Notfound
HTTP 404 - Not found
Your SAP Internet Communication Framework Team
thanks for helping me...
anandHi friends,,
instead of getting the link like
http://128.222.125.57:9000/sap/bw/bex?cmd=ldoc&infocube=ZMC_SRH1&query=AGINGV21A&sap-language=EN(working link)
am getting below link...which is getting an error....
http://128.222.125.57:9000/sap/bw/://:/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fcom.sap.pct!2fplatform_add_ons!2fcom.sap.ip.bi!2fiViews!2fcom.sap.ip.bi.bex?QUERY=AGINGV21A
above marked is the unwanted thing so how can i change my link in query designer???
please suggest me firneds -
Unable to create new query using query manager
Hi friends,
I have been trying to create a query using query manager for couple of hours but still not able to.I am following the instructions given in oracle Peopletools 8.52 : Peoplesoft query
Chapter - creating new queries.
Below are the steps I am going through to create new query:
Step - I open the component Reporting Tools-> Query->Query Manager , I don't get the tabbed pages one for search an existing query and another for create new query.
Please follow this link to see how the page is displayed in first step:
http://uploadpic.org/v.php?img=EvMvVAXX1E
Step 2 - When I click on create new query link, I am redirected to a page where it asks for record name to add in the query. But, even this page is not displayed as how it supposed to be
http://uploadpic.org/v.php?img=GzHh3f6krU
Step 3 - Following the above step, when I click on Person record to add into my query I am asked to select the fields that I want to display in the output.
But I somehow do not get the proper tabbed pages where individual pages are there to add the attributes to complete the query like adding multiple records, fields, query, expressions, prompt...etc
http://uploadpic.org/v.php?img=Wbbla3Q3jE
I am neither able to select multiple records in my query nor able to customize my query to get the desired results.
Below is the query that I want to create using query manager:
SELECT P.EMPLID,P.BIRTHDATE, N.NAME, A.ADDRESS1, A.ADDRESS2, A.CITY
FROM PS_PERSON P, PS_NAMES N, PS_ADDRESSES A
WHERE P.EMPLID = N.EMPLID AND
N.EMPLID = A.EMPLID AND
P.BIRTHDATE BETWEEN to_date('1990/1/1','yyyy/mm/dd') and to_date('1991/1/1','yyyy/mm/dd');Hi,
As I cannot access your screenshot by the blocking of company firewall rules.
I'm guessing currently you are using PT 8.52.00 version, correct?
This should be a bug, that you need to apply the 8.52.0X patch, not sure which patch fix this, you can apply the latest one to solve this issue for no tab page of query manager. (PT 8.52.06)
Hope this helps.
Thanks,
Saxon SI
Maybe you are looking for
-
Does anyone have any recommendations for the best way to dynamically add new content to an xml file? I have tried to write to the file from a php form using fwrite, but encountered a snag when trying to get the php page to write the new xml to the se
-
Is there a Template for mailing labels from contact lists
Is t here an app to use contact list to print lmailing labels?
-
How to install Solaris 5.9 in existing Solaris 5.10 Sun v440 server
Hi All, Solaris 5.10 is installed one of my system, i need to install Solaris 5.9 also on the same machine so how can i install the solaris 5.9 on my running server(Solaris 5.10). I have also word with HCL they told me take support from sun.Actuall t
-
Photoshop CC Smart Sharpen vs. LR/ACR Sharpening
Could someone articulate for me how Photoshop CC's Smart Sharpening differs from Lightroom (and ACR's) sharpening in the Detail panel? Do they approach sharpening differently? Is one more powerful than the other, and if so, in what way? Are there par
-
Hello, Does anyone know, how to overly and synchronize 2 or more videos of athletes, for example alpine skiers, using Premiere Pro? You can see that on the TV sometimes, where 2 racers are put into one track over each other and you can compare their