OBIEE Query

Hi All,
Can anybody help me on below question?
1. Does OBIEE Support for representation as a Tree Map?
I have already gone through below site for squarified-treemap.
http://hiteshbiblog.blogspot.com/2010/06/squarified-treemap-for-obiee-dashboard.html
Thanks.
Edited by: Abe on 28-Jan-2013 06:55

There is no perfect answer to optimizing the queries.
You are touching upon the topic of performance tuning. The technology can only provide certain features to help with the performance, but after all, it is the business practice that really causes or eradicates performance problems from the root.
You may find this article interesting:
http://obinsight.blogspot.com/2010/05/myth-of-obiee-performance-tuning.html
Thanks

Similar Messages

  • How to calculate Month on Month growth rates in an OBIEE query?

    Dear all,
    I would like to ask your help on how to calculate Month on Month growth rates [(last month - previous month)/previous month*100%] in an OBIEE query. This ratio should be always calculated for the last 2 available months.
    I have the following query:
    Month0 | Month1 | Month2
    Product A 500 | 100 | 200
    Product B 600 | 300 | 150
    would like to add Month on Month column as following:
    Month0 | Month1 | Month2 | Month on Month(%)
    Product A 500 | 100 | 200 | +100.00%
    Product B 600 | 300 | 150 | -50.00%
    I tried to add a calculated item but it was not successful because I could not find out how to show only the calculated column as % with 2 decimals. Moreover, I would ideally prefer to have an automatic update but as far as I understood it can't be done in the calculated item automatically
    I also tried to add a new column in the column area and to filter the results for the last month, then for the previous month and then based on it to calculate the needed ratio but unfortunately it also does not work out.
    Thank you your hints in advance

    Hi,
    The best way to solve this is using the Ago function. With this you can create a logical column for the previous month. Then you will have 2 columns available with which you can do your calculations.
    If you want to do this with a calculated item (don't know if the formatting will work for you), but you can make the calculation more general by using $1 for column 1 and $2 for column 2 in your calculation. So the relative columns ($x) will change with the columns in your report.
    Regards

  • Obiee query perf

    Hello All,
    Lately, I am running into problems with obiee perf. I am running a that takes above 6 mins in obiee table view.I ran the same obiee generated sql against underlying database( teradata) and i get the result in less than 2 mins. Itz returing 40k records but i am using a table view and i am not doing any fancy stuff in my tables not even grand totals. its just a bunch of columns querying against a bunch of tables. So i didnt know what else to do improve the obiee query performance.
    If it is taking 6 mins at the db end i ve hell lot of options to improve the query but the query returns result set in 2 mins in teradata. So please advice..
    Thanks
    Prash

    As i mentioned i am not using any CASE statements or if null functions. Itz just a simple query joining bunch of columns with bunch of tables. I am not using any kind of union operator either. wat else can we do??. All it does it returns around 42k records
    Please suggest i am pasting my query here
    select T22682."PS_BUSINESS_UNIT_ID" as c1,
    T22682."PS_ACCOUNT_ID" as c2,
    T32450."PS_BUSINESS_UNIT_ID" as c3,
    T32450."JE_HEADER_ID" as c4,
    T32450."PS_JOURNAL_DT" as c5,
    T32450."JE_LINE_NUM_ID" as c6,
    T32450."JE_LINE_DESC" as c7,
    T32450."PS_ACCOUNT_ID" as c8,
    T32450."BASE_CRNCY_AMT" as c9,
    T32450."PS_DEPT_ID" as c10,
    T32450."JRNL_LNE_STAT_I" as c11,
    T32555."JE_HEADER_DESC" as c12,
    T32555."JE_HEADER_POSTED_DT" as c13
    from
    "D_WWVW101"."GL_JE_LINE_PPI" T32450 /* Dim - Journal Line (GL_JE_LINE) */ ,
    "D_WWVW101"."GL_JE_HEADER" T32555 /* Dim - Journal Header (GL_JE_HEADER) */ ,
    "D_WWVW101"."GL_BALANCES" T22682 /* Fact - GL Balances (GL_BALANCES) */
    where ( T32450."PS_BUSINESS_UNIT_ID" = T32555."PS_BUSINESS_UNIT_ID"
    and T22682."PS_BUSINESS_UNIT_ID" = T32450."PS_BUSINESS_UNIT_ID"
    and T22682."PS_ACCOUNT_ID" = T32450."PS_ACCOUNT_ID"
    and T22682."PS_FISCAL_YEAR_ID" = T32450."PS_FISCAL_YEAR_ID"
    and T22682."PERIOD_ID" = T32450."ACCTG_PERD_NO"
    and T22682."PS_BUSINESS_UNIT_ID" = '00900'
    and T22682."PS_ACCOUNT_ID" = '1641100001'
    and T22682."PS_FISCAL_YEAR_ID" = 2009
    and T22682."PERIOD_ID" = 1
    and T32450."PS_BUSINESS_UNIT_ID" = '00900'
    and T32450."JE_HEADER_ID" = T32555."JE_HEADER_ID"
    and T32450."PS_ACCOUNT_ID" = '1641100001'
    and T32450."PS_FISCAL_YEAR_ID" = 2009
    and T32450."ACCTG_PERD_NO" = 1 )
    ) D1

  • OBIEE Query not hitting the other fact table

    Hi All,
    I am trying to create report based on two fact column and one dimension. Dimension is connected with these two facts table. When i create report using one column from dimension and one column from respective facts so i get two scenerio...
    For example let say..
    D1 is dimension and F1 and F2 are two fact tables.
    First i used a column which have aggregation rule from one fact and one column from other fact which also have aggregate column.
    That is report like...
    D1.c1,Agg(F1.c2),Agg(F2.c3)
    When i run the report I get the data from dimension and only from first fact table. When i check the query, Query contain only one fact table and it doesnt hit the other one.
    Now in second scenerio i used one column from dimension, one column from first fact which have aggregation rule and one column from second fact which doesnt have any aggregation rule.
    like...
    D1.c1,Agg(F1.c2),F2.c3
    When i run the report i got the error. It says
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 14026] Unable to navigate requested expression: F1 -C2 . Please fix the metadata consistency warnings. (HY000).
    But there is no warning in RPD.
    I am amazed that it is not taking both the fact columns even the dimension is confirmed dimension and have joined with both the fact tables.
    As i am just started to learn OBIEE, So i am find it bit difficult that how OBIEE select the tables and formed physical query.
    Waiting for your help.
    Regards
    Suhail

    Aadi-Wasi,
    Thumb rule, OBIEE BMM layer must contain a simple star schema.
    Did your BMM layer suffice the above condition? If hope, Not.
    My prediction of your BMM layer structure contains 3 logical tables, i.e. dimension & 2 logical facts...which is not a simple star.
    Thus to make it a simple star collapse 2 logical fact tables into 1 logical fact table. As you mentioned dimension is linked to both facts, collapsing 2 logical fact tables into 1 logical fact table will provide the result for your query1.
    regarding your second error:
    All aggregations must be contained within Fact tables with few exceptions.
    Let us know If I did resolve your issue
    mark posts promptly...
    J
    -bifacts
    http://www.obinotes.com

  • OBIEE query on dimensions only.

    My customer has a requirement to report only on dimensions in OBIEE. I understand that the BI server needs at least one measure from a fact table in the query to perform a query. Is it possible to build a dummy fact in the logical layer that joins 2 or more dimensions to run such a query? If yes, how can this be accomplished?

    Hello user,
    Can you follow this blog by Rittman....Hoepfully it helps
    Only thing you have to create a dummy table which should act like a fact table in your case.
    http://www.rittmanmead.com/2009/08/oracle-bi-ee-10-1-3-4-1-reporting-on-non-transactional-dimension-values-equivalence-of-outer-joins/
    Please let us know if it helpful and please don't forget to close the thread by awarding it :)

  • OBIEE query's

    Hi Experts,
    Could you please explain me below question with examples.
    1. Number of elements to be defined at logical level ? (-- please explain me with examples ? If you define level 1 what will happen or if not define level what will happen.)
    In the Business Model and Mapping layer, dimension >Logical Level >> number of elements at this logical level
    2. what is the use bride table in rpd where we can use this option ? -- Please explain with examples.
    3. What is the use help table in rpd where we can use this option? -- Please explain with examples.
    4. what are the type we can implement usage tracking in obiee?
    Thanks
    Edited by: user12301120 on Jun 22, 2012 4:09 AM

    Refer to these
    http://gerardnico.com/wiki/dat/obiee/level_number_element
    http://gerardnico.com/wiki/dat/obiee/join_in_lts
    http://docs.oracle.com/cd/E14571_01/bi.1111/e10541/usage_track.htm

  • Tuning OBIEE query with DB index, but it's getting slower

    Hello guys
    I just have a quick question about tuning the performance of sql query using bitmap indexes..
    Currently, there are 2 tables, date and fact. Fact table has about 1 billion row and date dim has about 1 million. These 2 tables are joined by 2 columns:
    Date.Dateid = Fact.snapshot.dates and Date.companyid = fact.companynumber
    I have query that needs to be run as the following:
    Select dates.dayofweek, dates,dates, fact.opened_amount from dates, facts
    where Date.Dateid = Fact.snapshot.dates and Date.companyid = fact.companynumber and dates.dayofweek = 'monday'.
    Currently this query is running forever. I think it is joining that takes a lot of time. I have created bitmap index on dayofweek column because it's low on distinctive rows. But it didn't seem to speed up with the performance, but rather made it worse. The explain plan before and after creating that index was the same as:
    Select statement optimizer
    nested loops
    partition list all
    index full scan RD_T.PK_FACTS_SNPSH
    TABLE ACCESS BY INDEX ROWID DATES_DIM
    INDEX UNIQUE SCAN DATES_DIM_DATE
    It seems the bitmap index I created for DATES_DIM wasn't used... Also, I am thinking what other indexes I should create for fact table..
    I'd like to know what other indexes will be helpful for me and on which table & columns?.. I am thinking of creating another one for companynumber since it also have low distinctive records.
    Currently I can't purge data or create smaller table, I have to what with what I have..
    So please let me know your thoughts in terms of performance tunings for such situation..
    Thanks

    Jack,
    Thank you for your response. It helped me to clean up the query. All the changes did not give a much better explain plan - at least not to my inexperienced eyes - but the total execution time for the query is now reduced to under two minutes. The query as it is now:
    select /*+ ordered all_rows */ x.rowid1
    from table(sdo_join('CYCLORAMA','GEOMETRIE','CYCLORAMA','GEOMETRIE','distance=3 mask=ANYINTERACT')) x
    , cyclorama s, cyclorama t
    where not x.rowid1 = x.rowid2
    and s.rowid = x.rowid1 and x.rowid2 = t.rowid
    and s.datasetid != t.datasetid
    and s.opnamedatum < t.opnamedatum;Because the docs state that mask=FILTER is the default, I added an explicit mask=ANYINTERACT to the sdo_join parameters when I removed the sdo_distance from the query. Still, the query returns 205035 records with the sdo_distance, and 205125 without. But this may be the result of the extra 0.001 from sdo_dim. I did not investigate as the 3 meter is not crucial.
    I believe I already had a mechanism in place to reduce the number of self-joins with "not x.rowid1 = x.rowid2" and "s.opnamedatum < t.opnamedatum". I can not guarantee that for all records s.opnamedatum < t.opnamedatum equals x.rowid1 < x.rowid2.
    Based on the [url http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14255/sdo_operat.htm#BGEDJIBF]docs, I finally added an 'ordered' hint and reshuffled the tables in the from clause.
    I'm happy with performance now, and creating a new table with the records to keep should not be a problem. Still I'm curious about the following:
    <li>Is it worth optimizing the SDO_DIM_ARRAY for the original table, e.g. narrowing the range of coordinate values?
    <li>How can sdo_join best be used for an anti-join, to select the records to keep?
    Thank you,
    J-----.

  • OBIEE Query: Can I use the "IN" with two or more fields?

    Hi. I'm trying to do a simple query like this:
    Select "Tempo"."Anno" as anno,
    "Tempo"."Mese" as mese
    from "PRE"
    where ("Tempo"."Anno","Tempo"."Mese") IN (select "Tempo"."Anno", "Tempo"."Mese" from "PRE")
    but BI Publisher returns this error:
    java.io.IOException: prepare query failed[nQSError: 43113] Message returned from OBIS. [nQSError: 27002] Near <,>: Syntax error [nQSError: 26012] .
    why? (If I use a concat the query works, but for performance is bad!)

    anyone knows something?

  • Reg: obiee query

    Hi
    I am new to obiee..!!!
    can anybody tell me what are out of box reports?
    Is there any pre built application for spend analytics?
    Thanks in advance..!!

    Hi,
    Please check Oracle BI Applications; http://www.oracle.com/global/nl/appserver/business-intelligence/bi-applications.html
    Cheers,
    Daan Bakboord
    http://obibb.wordpress.com

  • Query Hint on OBIEE

    Hi,
    how can I use Hints in OBIEE Query in OBIEE 11g?
    Thank you, best regards. R.

    Hi,
    Check this,
    http://www.howtoexam.com/index.php?option=com_content&view=article&id=75%3Ausing-hints-in-obiee-rpd-and-answers&catid=790%3Acomputers-and-software&Itemid=166
    Thanks
    Satya

  • Use of MV's in OBIEE

    Hi all,
    I am having 1 table(MV) which is having month,quarter and year columns,a measure column and a level_id column. If the value of level_id=5 then year column of this table should join with time denorm table at year column and if level_id=7 then quarter column should join with time denorm at quarter level.If I create a complex join between this table and time denorm and write the conditions as(level_id=5 and table.year=denorm.year) or(level_id=7 and table.quarter=denorm.quarter).but when I select that measure and year then in OBIEE query is having in where clause all the possible combinations of the baove join.Can anyone please tell me how can I model this in physical layer in OBIEE?
    And 1 more doubt since it's(MV) joined to denorm table (time) in answers I am getting the wrong results because that measure is aggregated that many times(ex. quarter is joined to quarter ....for every quarter we are having lot of rows in denorm so when the measure is taken from denorm and joined at quarter level that measure is aggregated that manytimes as many rows are there for that quarter).
    Thanks and Regards,
    Amrit

    use a complex join in the physical layer ;)

  • Help with slow running query

    Hi,
    I am having some performance problems on OBIEE dashboards so I am trying to figure out what is going wrong by looking at the query being generated.
    I have spent time simplifying the query down to a very basic select statement, and trying to see why it still takes about ~5 seconds to run. See the following explain plan:
    SQL> explain plan for
      2  select count(distinct CASES_FACT.CASE_KEY) as CASE_COUNT
      3    from
      4         COMPSTAT_CASES_DIM CASES_DIM /* Dim - COMPSTAT_CASES_DIM */ ,
      5         COMPSTAT_CASES_FACT CASES_FACT /* Fact - COMPSTAT_CASES_FACT */
      6   where (    CASES_FACT.CASE_KEY = CASES_DIM.CASE_KEY  );
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 372393383
    | Id  | Operation              | Name            | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT       |                 |     1 |    12 |       |  2741   (3)| 00:00:33 |
    |   1 |  SORT GROUP BY         |                 |     1 |    12 |       |            |          |
    |*  2 |   HASH JOIN            |                 |   925K|    10M|    15M|  2741   (3)| 00:00:33 |
    |   3 |    INDEX FAST FULL SCAN| CASE_KEY        |   909K|  5327K|       |   674   (3)| 00:00:09 |
    |   4 |    INDEX FAST FULL SCAN| CASES_FACT_IDX4 |   925K|  5421K|       |   466   (4)| 00:00:06 |
    PLAN_TABLE_OUTPUT
    Predicate Information (identified by operation id):
       2 - access("CASES_FACT"."CASE_KEY"="CASES_DIM"."CASE_KEY")
    16 rows selected.We have the indexes on the columns being joined on, and it appears to use a fast full scan on that index, but still the query takes about 5 seconds to run, just for this very simple query. When I add the rest of the joins and conditions that are in the actual OBIEE query, it's more like a 15 second query. It needs to be much faster.
    Any ideas? Btw I am not a DBA or tuning expert, simply an OBIEE developer that was tasked with fixing this performance.
    Thanks.

    both tables have ~1M rows so no much choice. Assuming the dim table has unique index, nest loop join is usually faster. try the two sql below to see any improvement
    select /*+ use_nl(a b) */ count(distinct a.CASE_KEY)
    from COMPSTAT_CASES_FACT a,
    inner join COMPSTAT_CASES_DIM b on b.CASE_KEY = a.CASE_KEY
    select /*+ use_nl(a b) */ count(*)
    from (select distinct CASE_KEY from COMPSTAT_CASES_FACT) a
    inner join COMPSTAT_CASES_DIM b on b.CASE_KEY = a.CASE_KEY
    ;

  • Measue aggregation not used when OBIEE hits MV

    Hi,
    We are facing 1 issue in MV implementation in OBIEE i.e. aggregation is not used for measure when OBIEE hits the MV and it's using the aggregation when OBIEEhits the base table.Ex. A is a column with aggregation sum when we pull measure A for ttime dimension when it's hitting MV it's not using sum in obiee query and when it's hitting base table it's uisng sum.Can anyone tell me how can we overcome this issue.
    Thanks,
    Amrit

    Hi Rajagopal,
    I am not sure if that is exactly accurate as I have other tables where the LTS includes a second or even third table but both tables are not included in the query.
    Example 1 - Table 1 joined to Table 2. Table 2 is setup as a LTS on Table 1. When a report is created off of Table 2, Table 1 is not included in the query.
    Example 2 - Table 1 joined to Table 2. Table 1 is setup as a LTS on Table 2. When a report is created off of Table 2, Table 1 is not included in the query.
    I have also verified that there is no other LTS on the Customer table but the issue still exists.
    Any other thoughts you can provide would be appreciated.
    Thanks

  • Prompts and physical Query Sequence

    Hi
    Hopefully someone will be able to answer my question. We have a answer with a filter and we have a prompt on the dashboard. The report only runs after the user has selected values from the prompt and clicked on the 'go' button.
    What I want to know is, is the Answer run first with the filter applied and then after the dataset has been returned from the database is the prompt applied afterwards? Or does the prompt act as an AND to the filter and a limited selection is retrieved from the database hence better query performance? If so when the user selects another value in the prompt the dataset is requeried in the database?
    Thanks
    Adnan

    I'm using option 2. The filter is on a different column and the prompt is on a different column. I have a default value on the prompt which does not exist hence when the user first navigates to the dashboard there are no results displayed. The use then selects a valid option in the prompt and clicks 'go' and the results are returned.
    The question is when the above scenario is played out are all the possible values which fall under the filter returned from the db and then the prompt applied to them or is the dataset restricted from the db using the prompt value?
    An easy example of this say I restrict my Answer on the Country field to 'US' and then have a prompt on teh State field. The prompt default is 'No Result' hence no results will be displayed when the user navigates to the dashboard. When the user select the value 'Texas' from the prompt does OBIEE query return all states from the database and then apply the prompt values of 'Texas' or is a limited dataset returned from the db i.e. in this case only records where the State is 'Texas' returned from the db hence better query performance?
    Hope this isn't too confusing.
    Adnan

  • OBIEE webservices (XMLViewService Web Service or  QueryResults Structure)

    Hi All OBIEE experts,
    I have an requirement, where to get the resultset from an OBIEE answers request from external java program using the OBIEE web services. I have spent some time to look into the web services and later found about the 'XMLViewService' web service.
    I am also going the document b31769 by Oracle. There is a mention of 'QueryResults Structure' in the 'XMLViewService'. But I donot see the structure in the web service, which is confusing.
    Can any one provide the sample code, to run the obiee query through the web service and get the resultset to the java program.
    Thanks in Advance
    Siva

    Hi,
    If you look in the 10.1.3.4 platform documents web services guide:
    Oracle® Business
    Intelligence Web
    Services Guide
    Version 10.1.3.2
    December 2006
    This has a listing of all the methods, structures and web services, it is a must have resource for this sort of work. The QueryResults structure is on page 22/23
    Table 17. QueryResults Structure Fields
    Fields     Description
    String rowset           Specifies the rowset XML encoded in the string.
    String queryID           Specifies the unique ID of the query, which can be used in fetchNext calls.
    boolean finished      If set to TRUE, then there are no more rows to return. If set to FALSE, then another fetchNext call is needed to return more rows.
    Regards,
    Matt

Maybe you are looking for