OBIEE - ANSI to SQL
Hi All,
Iam new to OBIEE, How can we change the report code generation converted from ANSI to SQL format?
Regards,
Ava
Hi,
We created one report in OBIEE with Left and Right outer joins. The geneartion of the query in NQQUERY.log is in ANSI format.
In NQSCONFIG.INI file in User Log section, the code_page is set to UTF8.
For e.g the Query generated in NQQUERY.log file is as follows.
select * from emp left outer join dept on (emp.empno=dept.deptno)
We want to have the genration of query not in ANSI join type.
we want as select * from emp ,dept where emp.empno=dept.deptno(+)
Could you pls suggest us how to change the setting of code generation in OBIEE from Ansi to SQL Format?
Regards,
Ava
Similar Messages
-
Performance of OBIEE report whereas SQL query behind it executed in 1-2 min
Facing lot of performance issues in OBIEE reports, whereas SQL query behind the report fetch data in 2-3 minutes. Reprot take around 1-2 hrs. Can anyone help to resolve this please?
(my 2c worth)... if the physical query runs for a reasonably short time but the report takes much longer to return it suggests the rendering process (ie. pivot view) is lagging.
To test this theory, go into Answers and remove all views from the request and leave a simple table view on the compound view. Run the report and the report should return around the same time the physical request takes to run because the table view is a very raw, un aggregated rendering process. Table views are nice and fast. If that works then you can focus on tuning your other views, ie. Pivot view. I've seen a simple pivot view take minutes to render what looks like a simple report because the underlying recordset is quite large.
I hope this helped. another quick trick you could try is applying aggregation in the formulas to aggregate things at the physical sql level so the returning result set isn't 5,000. depends what you're up to with the end report.
Edited by: user8300108 on 25-Feb-2010 04:40 -
How to determine column length semantics through ANSI Dynamic SQL ?
I am looking for a way to determine the length semantics used for a column through ANSI Dynamic SQL.
I have a database with NLS_CHARACTERSET=AL32UTF8.
In this database I have the following table:
T1(C1 varchar2(10 char), C2 varchar2(40 byte))
When I describe this table in SQL*Plus, I get:
C1 VARCHAR2(10 CHAR)
C2 VARCHAR2(40)
In my Pro*C program (mode=ansi), I get the select statement on input, use PREPARE method to prepare it and then use the GET DESCRIPTOR method to obtain colum information for output:
GET DESCRIPTOR 'output_descriptor' VALUE :col_num
:name = NAME, :type = TYPE,
:length = LENGTH, :octet_length = OCTET_LENGTH
For both C1 and C2 I get the following:
:type=12
:length=40
:octet_length=40
So, even if I know that my database is AL32UTF8, there doesn't seem to be a way for me to determine whether char or byte length semantics were used in C1 and C2 column definitions.
Does anybody know how I can obtain this information through ANSI Dynamic SQL?
Note: the use of system views such as ALL_TAB_COLUMNS is not an option, since we wish to obtain this information even for columns in a complex select statements which may involve multiple tables.
Note: I believe OCI provides the information that we need through OCI_ATTR_DATA_SIZE (which is in bytes) and OCI_ATTR_CHAR_SIZE (which is in chars). However, switching to OCI is something we would like to avoid at this point.Yes, I was wondering which forum would be the best for my question. I see similar questions in various forums, Call Interface, SQL and PL/SQL and Database - General. Unfortunately there is no Pro*C or Dynamic SQL forum which would be my first choice for posting this question.
Anyway I now posted the same question (same subject) in the Call Interface forum, so hopefully I'll get some answers there.
Thank you for the suggestion. -
Want to know about Oracle Obiee(New to SQL and OBIEE)
Hi
I am currently working on software testing.And I would like to change my domain to Oracle obiee.but I have only moderate knowldge on SQL.
Is it going to be diffcult to me to learn oracle obiee without pl/sql knowldge?
How is the Oracle obiee tool in uk market?
Do I can install this oracle obiee and can practice in home to get more experience?
Please clear all these doubts
Thank youIs it going to be diffcult to me to learn oracle obiee without pl/sql knowldge?
-->You need some basic sql knowledge, I dont think its that much hard to learn
How is the Oracle obiee tool in uk market?
-->Its depends on your location.
Do I can install this oracle obiee and can practice in home to get more experience?
-->Yes you can do, check edelivery.oracle.com
If helps pls mark
all the best -
OBIEE EXECUTE PHYSICAL sql as Data Model Query
The following SQL was generated using OBIEE. I'd like to use it as the SQL query for my data model. It works fine it I hard code all of the values into the where clase. However when I attempt to pass parameter values (:ACCOUNTING_PERIOD & :FISCAL_YEAR) into the below SQL statement, I get an error and the report will not generate. The error is the typical "The report can't be rendered. Check with your administrator". Any ideas on how I can pass parameter values into this SQL?
EXECUTE PHYSICAL CONNECTION POOL SDEVDW SELECT A.BUSINESS_UNIT,A.PROJECT_ID,A.PROJECT_STATUS,A.EFFDT FROM SPSDW.PS_PROJECT_STATUS A WHERE A.EFFDT = (SELECT MAX(B.EFFDT) FROM SPSDW.PS_PROJECT_STATUS B WHERE B.BUSINESS_UNIT = A.BUSINESS_UNIT AND B.PROJECT_ID = A.PROJECT_ID AND B.PROJECT_STATUS<>'C' AND B.EFFDT <= (SELECT PPERIOD_END_DT FROM SPSDW.PS_D_DET_PERIOD WHERE PPERIOD_CD = 6 AND PYEAR_NUM = 2008 AND DT_PATTERN_CD = '01' AND SRC_SYS_ID = 'FSCM')
) ORDER BY 1,2,3I turned on debug and bounded OC4J. After I ran the report, I did not see any link.
The error that returns is:
"The report cannot be rendered because of an error, please contact the administrator."
Where will the link be located. Is there are log file that I can review. We are using BI Publisher enterprise (10.1.3.3.0). -
Dear guru.
Let me know what's may be wrong ?
My post is closely related to bad SQL thread.
Shortly speaking, I'd like to discuss multiple star problem.
So, Oracle Business Intelligence 11.1.1.6.0
I have three fact table A,B,C joined to common link table D ( look as dimension in Administrator )
A and B have inner join with D, while C has left outer join to D ( actually outer join defined only in BMM cause don't see how set outer join on physical layer for C ).
The matter is in generated SQL query which is broken, i.e. can't be compiled in Oracle DB.
Let me give broken piece of generated SQL.
As you can see, the subquery has reference to table T69242 in WHERE, but no such table in FROM section:
SACOMMON821644 AS
(SELECT
/*+ MATERIALIZE */
DISTINCT T68993.NAME AS c1,
T69266.DISTRICT2 AS c2,
CASE
WHEN T68993.DEPARTMENTID IN
(SELECT D1.c1 AS c1 FROM SASUBWITH820608 D1
THEN 1
ELSE 0
END AS c3,
CASE
WHEN T69266.OKATO_KOD IN
(SELECT D1.c1 AS c1
FROM SASUBWITH820633 D1
THEN 1
ELSE 0
END AS c4,
T68993.DEPARTMENTID AS c5,
T69266.OKATO_KOD AS c6,
T68993.PARENT AS c7,
T69266.PARENT_OKATO_KOD AS c8
FROM BI_MSK_DISTRICTS_STAT_HIER T69233
MOS_DISTRICTS_STAT T69266
BI_DEPARTMENTS_MFC T68993
BI_MFC_HIER T69068
DEP_OPERATORS_CNT T69220
INCIDENTS T69648
MOS_DISTRICT_POPULATION T69410
WHERE ( T69233.MEMBER_KEY = T69410.OKATO_KOD
AND T68993.DEPARTMENTID = T69068.ANCESTOR_KEY
AND T69068.MEMBER_KEY = T69220.DEPARTMENTID
AND T69220.DEPARTMENTID = T69242.DEPARTMENTID*
AND T69233.ANCESTOR_KEY = T69266.OKATO_KOD
AND T69242.OKATO_KOD* = T69410.OKATO_KOD
AND T68993.DEPARTMENTID IN
(SELECT D1.c1 AS c1 FROM SASUBWITH820658 D1
AND T69266.OKATO_KOD IN
(SELECT D1.c1 AS c1 FROM SASUBWITH820683 D1
Meanwhile in aggregation subquery of that generated SQL we have requred table
SACOMMON821667 AS
(SELECT
/*+ MATERIALIZE */
TRUNC(SUM( DISTINCT T69220.OPER_TOTAL)) AS c9,
T68993.DEPARTMENTID AS c10,
T68993.PARENT AS c11,
T69266.OKATO_KOD AS c12,
T69266.PARENT_OKATO_KOD AS c13,
SUM( DISTINCT T69410.POPUL_SIZE) AS c14,
SUM(T69648.TOTAL / NULLIF( T69242.OKATO_COUNT, 0)) AS c15
FROM BI_MSK_DISTRICTS_STAT_HIER T69233
MOS_DISTRICTS_STAT T69266
BI_DEPARTMENTS_MFC T68993
BI_MFC_HIER T69068
DEP_OPERATORS_CNT T69220
MFC_ADDRESSOKATO T69242*
LEFT OUTER JOIN INCIDENTS T69648
ON T69242.DEPARTMENTID = T69648.DEPARTMENTIDFROM,
MOS_DISTRICT_POPULATION T69410
WHERE ( T69242.OKATO_KOD = T69410.OKATO_KOD
AND T69233.ANCESTOR_KEY = T69266.OKATO_KOD
AND T69233.MEMBER_KEY = T69410.OKATO_KOD
AND T69220.DEPARTMENTID = T69242.DEPARTMENTID
AND T68993.DEPARTMENTID = T69068.ANCESTOR_KEY
AND T69068.MEMBER_KEY = T69220.DEPARTMENTID
AND T68993.DEPARTMENTID IN
(SELECT D1.c1 AS c1 FROM SASUBWITH820658 D1
AND T69266.OKATO_KOD IN
(SELECT D1.c1 AS c1 FROM SASUBWITH820683 D1
GROUP BY T68993.DEPARTMENTID,
T68993.PARENT,
T69266.OKATO_KOD,
T69266.PARENT_OKATO_KOD
And it's time to show Consistency Check results in Administrator.
There is no errors, but
WARNINGS:
Business Model Сводная таблица:
[39008] Logical dimension table A_MFC_ADDRESSOKATO has a source A_MFC_ADDRESSOKATO that does not join to any fact source.
[39020] Logical table source "Сводная таблица"."FCT Incidents"."A_Incidents": No path has been found to link all tables. There is no link between the set ( 'A_DEP_OPERATORS_CNT', 'A_MFC_ADDRESSOKATO', 'A_MOS_DISTRICT_POPULATION' ) and the set ( 'A_Incidents' ).
[39020] Logical table source "Сводная таблица"."A_DEP_OPERATORS_CNT"."A_DEP_OPERATORS_CNT ": No path has been found to link all tables. There is no link between the set ( ) and the set ( ).
[39020] Logical table source "Сводная таблица"."A_MOS_DISTRICT_POPULATION"."A_MOS_DISTRICT_POPULATION": No path has been found to link all tables. There is no link between the set ( ) and the set ( ).
I wonder, how that link can be realized, when fact tables already have joins to common dim A_MFC_ADDRESSOKATO.
Should I create Logical Dimmension for A_MFC_ADDRESSOKATO while it is actually bridge table in terms of 10G ?
Besides, as we can see from query, A B and C have its own dims.
So, finally as a result in Answers we have
ORA-00904: "T69242"."OKATO_KOD": invalid identifier at OCI call OCIStmtExecute
It should be mentioned that error is appeared only when I put measure from A_Incidents (C alias) on analys in Answers, till that all worked correctly, i.e. A,B joined successfully to D
and SQL query gave desired result.
Any suggestion on issue are greately appreciated.
Sorry for unformatted SQL, still don't know how to do it.
Hope, my explanation was clear.Seems to be bug.
OBIEE can't generate correct SQL when outer join used -
OBIEE 11g installationwith sql server management studio
Hi All,
I am trying to install obiee 11.1.1.6.0 into my machine with window 7 and Microsoft Sql Server(Management studio) as my backend.
When i run the Rcu i get an error saying
Invalid Server name/Port number. Please specify correct Server name/Port number
I have given my system name as the server name also tried giving localhost,local and port nno as 1433 but no luck
can anyone please help me in this?
Many thanks in advance!!!!Do the following:
Check whether your telnet client is active or not .
Go to Control panel -> Programs and features -> Turn Windows Features on or off -> Turn on if checkbox is not selected.
Run telnet command :
telnet host port
If blank screen appears , your SQL Server is connected .If not you see an error message.
If you are not sure about the port number ,
SQL Server Configuration Manager -> Protocols for SQLEXPRESS -> TCP/IP -> Right click TCP/IP , Select Properties and then IP Address tab to look for port number .
(If you find TCP/IP disabled , enable it)
Thanks,
Vidya Bhushan -
I created two facts and two dimension in the repository. Both dimensions are linked to both facts.
dim1: time
dim2: organization
fact1: actuals
fact2: budget
When i create a report in obiee: i choose a time attribuut and a organization attribuut. When i check the sql what has been fired at the database. i see the following query. You see that obiee choose has select a extra value: sum(T472385.BUDGET_GRP_AMT) as c3 He also choose "random" a fact.
select distinct T529235.MCAL_PER_NAME_YEAR as c1,
T490653.HIER3_NAME as c2,
sum(T472385.BUDGET_GRP_AMT) as c3
from
W_MCAL_DAY_D T529235 /* Dim_W_MCAL_DAY_D_Fiscal_Day */ ,
W_HIERARCHY_D T490653 /* Dim_W_HIERARCHY_D_Segment2 */ ,
W_GL_SEGMENT_D T491808 /* Dim_W_GL_SEGMENT_D_Segment2 */ ,
W_GL_ACCOUNT_D T256463 /* Dim_W_GL_ACCOUNT_D */ ,
W_ACCT_BUDGET_F T472385 /* Fact_W_ACCT_BUDGET_F */
where ( T256463.ACCOUNT_SEG2_CODE = T491808.SEGMENT_VAL_CODE and T256463.ACCOUNT_SEG2_ATTRIB = T491808.SEGMENT_LOV_ID and T256463.ROW_WID = T472385.GL_ACCOUNT_WID and T472385.PERIOD_END_DT_WID = T529235.ROW_WID and T490653.HIER_CODE = T491808.SEGMENT_LOV_ID and T490653.HIER20_CODE = T491808.SEGMENT_VAL_CODE and T491808.SEGMENT_LOV_ID = 1013748 )
group by T490653.HIER3_NAME, T529235.MCAL_YEAR_WID, T529235.MCAL_PER_NAME_YEAR
order by c1, c2
So now we have the situation that a department in 2010 has no budget. But the department has some acutals numbers in the other fact. Now we don't see those department in 2010, when selecting only the dimension time and organization.
So my question is: On what base obiee choose his fact? and can you make changes on this
Edited by: user565199 on 22-apr-2010 5:34Double click your presentation catalogue folder and use the 'implicit fact' option to choose which one you want to be the driving table.
I hope the default will be the optimal fact table based on :
Content levels in your Logical Table Sources for your logical Facts relevant for the (dimension) columns selected.
Row count of the phyiscal tables in those LTS's.....
As this is how it decides which LTS to use when you are actually querying the fact tables.
But it may just be the first one in the BMM Layer !! -
Update to ansi 99 sql join syntax
Hello All
I'm updating some code to ansi 99 compliant sql.
I have
SELECT
CL_ASSIGNED_NUMBERS2.TITLE,
CL_ASSIGNED_NUMBERS2.FIRST_NAME,
CL_ASSIGNED_NUMBERS2.SURNAME,
CL_ASSIGNED_NUMBERS2.NUM,
CL_NUMBERS2.OTHER_NUM,
CL_ASSIGNED_NUMBERS2.LOCATION,
CL_AS_DEPTS.DEPT_NAME,
CL_FURTHER_CONTACTS.TITLE,
CL_FURTHER_CONTACTS.FIRST_NAME,
CL_FURTHER_CONTACTS.SURNAME,
EMAIL.LSE_EMAIL,
CL_ASSIGNED_NUMBERS2.NUMBER_DESC,
CL_FURTHER_CONTACTS.NUM,
CL_FURTHER_CONTACTS.LOCATION,
CL_ASSIGNED_NUMBERS2.AREA,
CL_ASSIGNED_NUMBERS2.DESC_DIR_ENTRY,
CL_ASSIGNED_NUMBERS2.AREA_DIR_ENTRY,
CL_NUMBERS3.OTHER_NUM,
CL_ASSIGNED_NUMBERS2.PREF_EMAIL
FROM
CALL_LOG.CL_ASSIGNED_NUMBERS CL_ASSIGNED_NUMBERS2,
CALL_LOG.CL_NUMBERS CL_NUMBERS2,
CALL_LOG.CL_DEPARTMENTS CL_AS_DEPTS,
CALL_LOG.CL_ASSIGNED_NUMBERS CL_FURTHER_CONTACTS,
CALL_LOG.CURRENT_PERSONAL_EMAILS EMAIL,
CALL_LOG.CL_NUMBERS CL_NUMBERS3
WHERE
( CL_ASSIGNED_NUMBERS2.FURTHER_CONTACT_CAN_ID=CL_FURTHER_CONTACTS.CAN_ID(+) )
AND ( CL_ASSIGNED_NUMBERS2.DEPT_CODE=CL_AS_DEPTS.DEPT_CODE(+) )
AND ( CL_NUMBERS2.NUM=CL_ASSIGNED_NUMBERS2.NUM(+) )
AND ( CL_ASSIGNED_NUMBERS2.PLAY_REF=EMAIL.PLAY_REF(+) )
AND ( CL_FURTHER_CONTACTS.NUM=CL_NUMBERS3.NUM(+) )which i have rewritten as
SELECT
AS_NO.TITLE,
AS_NO.FIRST_NAME,
AS_NO.SURNAME,
AS_NO.NUM,
NO.OTHER_NUM,
AS_NO.LOCATION,
DEPT.DEPT_NAME,
AS_NO.TITLE,
CONS.FIRST_NAME,
CONS.SURNAME,
EMAIL.LSE_EMAIL,
AS_NO.NUMBER_DESC,
CONS.NUM,
CONS.LOCATION,
AS_NO.AREA,
AS_NO.DESC_DIR_ENTRY,
AS_NO.AREA_DIR_ENTRY,
NOS.OTHER_NUM,
AS_NO.PREF_EMAIL
FROM CL_ASSIGNED_NUMBERS AS_NO
LEFT OUTER JOIN CL_ASSIGNED_NUMBERS CONS ON (AS_NO.FURTHER_CONTACT_CAN_ID=CONS.FURTHER_CONTACT_CAN_ID)
LEFT OUTER JOIN CL_DEPARTMENTS DEPT ON (AS_NO.DEPT_CODE=DEPT.DEPT_CODE)
LEFT OUTER JOIN CL_NUMBERS NO ON (AS_NO.NUM=NO.NUM)
LEFT OUTER JOIN CURRENT_PERSONAL_EMAILS EMAIL ON (AS_NO.PLAY_REF=EMAIL.PLAY_REF)
LEFT OUTER JOIN CL_NUMBERS NOS ON (CONS.NUM=NOS.NUM)with the first query i get 8130 rows, with the second I get 9676.
Yet to me the seem like the same query. Can anyone give me an idea as to where I've gone wrong?
Thanks and Regards
Aliselect count (*)
FROM
CALL_LOG.CL_ASSIGNED_NUMBERS CL_ASSIGNED_NUMBERS2,
CALL_LOG.CL_NUMBERS CL_NUMBERS2,
CALL_LOG.CL_ASSIGNED_NUMBERS CL_FURTHER_CONTACTS
WHERE
( CL_ASSIGNED_NUMBERS2.FURTHER_CONTACT_CAN_ID=CL_FURTHER_CONTACTS.CAN_ID(+) )
AND ( CL_NUMBERS2.NUM=CL_ASSIGNED_NUMBERS2.NUM(+) )
COUNT(*)
8130
select count (*) from
CL_NUMBERS NO
LEFT OUTER JOIN CL_ASSIGNED_NUMBERS AS_NO ON (AS_NO.NUM = NO.NUM)
4 LEFT OUTER JOIN CL_ASSIGNED_NUMBERS CONS ON (AS_NO.FURTHER_CONTACT_CAN_ID = CONS.FURTHER_CONTACT_CAN_ID)
5 .
SQL> /
COUNT(*)
10268Can this be reduced to two tables (aliases) only? Or, which single table/alias produces the discrepancy?
Can either or both of NUM and FURTHER_CONTACT_CAN_ID in CL_NUMBERS be NULL, or FURTHER_CONTACT_CAN_ID in CL_ASSIGNED_NUMBERS be NULL?
If any of those columns on the LEFT side the OUTER JOIN can be NULL, can you wrap it/them with NVL(,0), and try both counts again, i.e.,
select count (*)
FROM
CALL_LOG.CL_ASSIGNED_NUMBERS CL_ASSIGNED_NUMBERS2,
CALL_LOG.CL_NUMBERS CL_NUMBERS2,
CALL_LOG.CL_ASSIGNED_NUMBERS CL_FURTHER_CONTACTS
WHERE
( NVL(CL_ASSIGNED_NUMBERS2.FURTHER_CONTACT_CAN_ID,-9)=CL_FURTHER_CONTACTS.CAN_ID(+))
AND (NVL(CL_NUMBERS2.NUM,-9)=CL_ASSIGNED_NUMBERS2.NUM(+) )
select count (*) from
CL_NUMBERS NO
LEFT OUTER JOIN CL_ASSIGNED_NUMBERS AS_NO ON (NVL(AS_NO.NUM,-9) = NO.NUM)
LEFT OUTER JOIN CL_ASSIGNED_NUMBERS CONS ON (NVL(AS_NO.FURTHER_CONTACT_CAN_ID,-9) = CONS.FURTHER_CONTACT_CAN_ID)Assuming that both those columns are numeric, and that '-9' is not a valid value for those columns.
Edited by: SeanMacGC on Apr 8, 2009 12:34 PM -
Querying OBIEE catalog with SQL Developer
Hi all,
is it possible to query the Oracle BI server catalog with SQL developer via ODBC or JDBC.
I have done it with Cognos but I don't see how it can be made.
suppose that ii have DSN Oracle BI server,
I tried to put the connection parameters like this in sql developer
Hostname : localhost
Port : 9703
SID : AnalyticsWeb ( I tried also ORACLE BI SERVER)
but it doen't work
Thanks
Edited by: Houssem EL AYDI on 16 avr. 2010 05:04Hi,
In fact,my ODBC connection is on oracle BI server connection (Analytics) which contains the catalog.
With SQL Developer, I think we should go througt an JDBC connection and not ODBC. I tried to add the JDBC driver of oracle BI server to SQL Developer but it doesn't work.
But in general any ODBC-capable client should be able to query the BI Server directlyWell, I did another test with Cognos, the ODBC connection works with Orale BI.
But with an another ODBC, i just can to import the presentation catalog but the SQL query doesn't work.
Edited by: Houssem EL AYDI on 19 avr. 2010 04:40 -
OBIEE Dashboard Prompt SQL Error
Hi All,
I have the following query in the database sql results for the PAR_ID field.
select nvl2(user_profiles.par_id,user_profiles.par_id,parties.par_id) from WFMT_SAINT_PR where user_profiles.user_id= {User()}
and ((user_profiles.par_id is not null and parties.par_id = user_profiles.par_id) OR (user_profiles.par_id is null and parties.par_type = 'MFR' and parties.status='C'))
When i try to preview the prompt I get the following error in PAR_ID dropdown field.
Error Generating Drop Down Values
Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
*State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 27002] Near <(>: Syntax error [nQSError: 26012] . (HY000)*
*SQL Issued: select nvl2(user_profiles.par_id,user_profiles.par_id,parties.par_id) from WFMT_SAINT_PR where user_profiles.user_id= {User()} and ((user_profiles.par_id is not null and parties.par_id = user_profiles.par_id) OR (user_profiles.par_id is null and parties.par_type = 'MFR' and parties.status='C'))*
Can you please advice .Hi Gerard,
Thanks for your response. I tried with your query but still I am not successful. The physical query for your sql looks like below:
select nvl(T118658.PAR_ID , T118595.PAR_ID) as c1,
T118658.USER_ID as c2
from
PARTIES T118595,
USER_PROFILES T118658,
JOBS T118552
where ( T118552.PAR_ID = T118595.PAR_ID and T118552.PAR_ID = T118658.PAR_ID and T118595.PAR_TYPE = 'MFR' and T118595.STATUS = 'C' )
I modified the query as below by creating 2 variables with row wise initialization.
select distinct CASE WHEN USER_PROFILES.PAR_ID IS NULL THEN PARTIES.PAR_ID ELSE USER_PROFILES.PAR_ID END from "wfmt_saint_pr" where parties.par_id = VALUEOF(NQ_SESSION.PAR) AND USER_PROFILES.USER_ID=VALUEOF(NQ_SESSION.USER)
But still I am not able to see PAR_ID populated on the dropdown when the PAR_ID is null in USER_PROFILES table.But It works fine when the PAR_ID is not null.
The physical query looks ike this for my query:
select distinct case when T118658.PAR_ID is null then T118595.PAR_ID else T118658.PAR_ID end as c1
from
PARTIES T118595,
USER_PROFILES T118658,
JOBS T118552
where ( T118552.PAR_ID = T118595.PAR_ID and T118552.PAR_ID = T118658.PAR_ID and T118658.USER_ID = 'Administrator' and (T118595.PAR_ID in ('T12', 'TYC', 'VPG', 'XTS')) )
Can you please advice. -
Re: Want to know about Oracle Obiee(New to SQL and OBIEE)
Hi Mr Srini,
I am also interested in learning OBIEE(started learning ).how is the market in uk?I live around london.Check with people who lives in London
https://forums.oracle.com/thread/1124667 -
Errors when Creating Aggregate Tables in OBIEE 11.1.1.6 within SQL server
Hi All,
I was trying to create an aggregate table in OBIEE 11.1.1.6 within SQL Server. The sql was generated successfully as below. But an error occurred when I use NQCMD to execute the sql and the following error showed:
1. SQL for creating Aggregate Table:
create aggregates
"ag_Measure"
for "ASOBI_DTT_Demo"."Measure"("ValidVIPCnt")
at levels ("ASOBI_DTT_Demo"."日期"."月", "ASOBI_DTT_Demo"."門市品牌"."門市品牌", "ASOBI_DTT_Demo"."門市類別"."門市類別", "ASOBI_DTT_Demo"."內創門市"."內創門市", "ASOBI_DTT_Demo"."門市/倉庫"."門市/倉庫", "ASOBI_DTT_Demo"."門市群組"."門市群組", "ASOBI_DTT_Demo"."門市行政區課"."行政區", "ASOBI_DTT_Demo"."門市地區"."城市")
using connection pool "ASOBI_DTT_Demo"."ASOBI_System10"
in "ASOBI_DTT_Demo"."ASOBI"."dbo";
2. Error Message:
"ag_Measure"
for "ASOBI_DTT_Demo"."Measure"("ValidVIPCnt")
at levels ("ASOBI_DTT_Demo"."日期"."月", "ASOBI_DTT_Demo"."門市品牌"."門市品牌"
, "ASOBI_DTT_Demo"."門市類別"."門市類別", "ASOBI_DTT_Demo"."內創門市"."內創門市"
, "ASOBI_DTT_Demo"."門市/倉庫"."門市/倉庫", "ASOBI_DTT_Demo"."門市群組"."門市群
組", "ASOBI_DTT_Demo"."門市行政區課"."行政區", "ASOBI_DTT_Demo"."門市地區"."城市
using connection pool "ASOBI_DTT_Demo"."ASOBI_System10"
in "ASOBI_DTT_Demo"."ASOBI"."dbo"
[343][State: 37000] [Microsoft][SQL Server Native Client 10.0][SQL Server]CREATE
、DROP or ALTER 陳述式中使用未知的物件類型 'aggregates'。
Statement execute failed
Which means "Using unknown object type 'aggregates' in CREATE. DROP or ALTER statements" in English.
Can anyone give me a suggestion for this error?? Many thanks!!!Hi Martin,
I guess, I was not clear enough. Let me try again
How Aggregate Persistence works in OBIEE?
Once you are done choosing options in the Aggregate Persistence wizard, it generates an intelligent Query.
What query is it?
If you happen to understand the query, it is not like any ANSI standard SQL (I would say DDL) query. As you might have noticed there are no SQL Server datatypes, lengths, keys, constraints etc. This query can only be understood by the BI Server.
How do I issue this query?
Since the logical query could only be understood by BI Server, it has to be issued only to BI Server Engine using some tool viz NQCMD in this case.
What does issuing this query using NQCMD do?
The execution steps are as follows, the moment the query is issue via NQCMD
Aggregate Persistent Wiz Generate Query ----- Issued to ---> NQCMD ----- Passes the logical query to ---> BI Server ----- Parses the query ---> Builds the corresponding physical DDL statements Issued --->To the Database --- If successful ---> .RPD is automatically updated with the aggregated sources etc.
How do I pass the query to BI Server using NQCMD?
The format of issuing this logical query to BI Server using NQCMD is
nqcmd -d <Data Source Name> -u <Analytics UserId> -p <Password> -s <command> > output.log
where
<Data Source Name> : Is the DSN name which OBIPS uses to talk to Oracle BI Server. Yes, it's the very same DSN that can be found in InstanceConfig.xml
<Analytics UserID> : Any user in obiee with admin privileges.
<Password> : Password of the obiee UserId
<Command> : Logical SQL Command which you already have handy.
Hope I was good this time..
Dhar -
OBIEE: Incorrect SQL - with count function uses ORDER BY instead GROUP BY
I made a basic report that is a client count; I want to know how many clients the company have.
But, when I run this report, OBIEE generates a ORDER BY sentence, instead a GROUP BY. Remember that I'm using count function, that is a agregation.
The SQL generated was:
select 'N0' as c1,
count(*) as c2
from
(select distinct T1416.CLIENT_INTER_KEY as c1
from
(select *
from prd.D_SERVICE where SOURCE_SYS in ('ARBOR','PPB') and DW_SERV_ST_ID in (100000003,100000009)) T1836,
(select *
from prd.D_CLIENT) T1416,
(select *
from prd.D_CUSTOMER_ACCOUNT where SOURCE_SYS In ('ARBOR','PPB')) T1515
where ( T1416.DW_CLIENT_ID = T1515.DW_CLIENT_ID and T1515.DW_CUST_ACCT_ID = T1836.DW_CUST_ACCT_ID and T1836.MSISDN = '917330340' )
) D1
order by c1
The error that I receive is:
"Query Status: Query Failed: [nQSError: 16001] ODBC error state: S1000 code: -1005018 message: [Sybase][ODBC Driver][Adaptive Server Anywhere]Illegal ORDER BY item Order Item: 'N0',
-- (opt_OrderBy.cxx 429) .
[nQSError: 16011] ODBC error occurred while executing SQLExtendedFetch to retrieve the results of a SQL statement."
If I substitute ORDER BY with GROUP BY and test it in Sybase, Ithe query runs without any problem.
select 'N0' as c1,
count(*) as c2
from
(select distinct T1416.CLIENT_INTER_KEY as c1
from
(select *
from prd.D_SERVICE where SOURCE_SYS in ('ARBOR','PPB') and DW_SERV_ST_ID in (100000003,100000009)) T1836,
(select *
from prd.D_CLIENT) T1416,
(select *
from prd.D_CUSTOMER_ACCOUNT where SOURCE_SYS In ('ARBOR','PPB')) T1515
where ( T1416.DW_CLIENT_ID = T1515.DW_CLIENT_ID and T1515.DW_CUST_ACCT_ID = T1836.DW_CUST_ACCT_ID and T1836.MSISDN = '917330340' )
) D1
group by c1
Do you know why OBIEE generates this SQL??? Why uses, with a aggregation function, a ORDER BY and not a GROUP BY? How can I resolve this problem???
Regards,
Susana FigueiredoVerify your repository design and make sure that you have defined count aggregate on fact column. You would also need to define the content level of each dimension in fact table.
-
Integrating SQL Server 2005 with OBIEE 11g
Dear Gurus,
Is there any documentation about how to using SQL Server 2005 as datasource combined with OBIEE 11g?
Clear steps with pictures will be very helpful.
Thank so much
Regards
JOEHi,
Please refer this link.
http://rnm1978.wordpress.com/2009/08/21/querying-sql-server-from-obiee-running-on-unix/
Re: How to connect Linux OBIEE repository to SQL Server 2005 database
Hope this help's
THanks
Satya
Maybe you are looking for
-
Cost of Replacing Defective goods.
Hi SAP gurus, I am a frehser & given a task on to replacing defective goods if returned with in 6 months will be replaced with the free. as well as Billing for replacement print the bill. Can any please help me with detail configuration & what report
-
Mixdown to 5.1 .mov produces gap
I mixed a session from Audition CS6 and the resulting 5.1 .mov file has a gap in it that is nearly a half second long. The source files for the mix are fine at the same place and there are no effects or key frames in use at the point where the probl
-
firefox is not able to load any websites... i tried everything given in the support forum under the topic firefox is not able to load any websites but other programs can.. but still i am facing the same problem. so please help me out with this issue!
-
Auto indenting in dreamweaver cs6
why the code dont auto indent in dreamweaver i use the latest cs6, as an example the table code below it should indent the tr tag some spaces more than the parent table tag but it dont i need to do it manually so am i missing something ? <table> <tr>
-
If I have some PAL 25 fps source material recorded onto my iPod, and I have the iPod set to NTSC out, should it play okay on an NTSC TV here in the US?