Database feature Derived Table nad performance

WE recently migrated our Data warehouse from DB2 to Oracle Exadata. Since the migration, i have noticed that some of the reports have becone extremely slow. e.g the report was runnign for 7 secs before is now running for over 6 minutes. In the database feature tab of the physical layer for the database connection, I have the database feature Derived Table turned on. If I turn this setting off, the same report runs in 3 secs. The Derived Table is supposed to help with the performance of the reports. but in this case it seems like it is hurting the performance than helping.
Should this setting be turned off? What are the side effects of turning this off? We can not do a full testing by changing this setting so i want to reach out to someone who had run into similar issues and what they did to remedy.
Any help will be appreciated.
Thanks!

So the answer is "yes" but not quite in the way you might expect.
You have created the object where you can "borrow" the LOV for your derived table prompt. What you need to do is this. First, you need to create another object in your universe (I put it in the same class as the "code" object) that contains your object description. Then do this:
1. Double-click on the code object
2. Select the properties tab
3. Click on the Edit button. This does not edit the object definition itself, it edits the LOV definition.
4. On the query panel, add the Description object created earlier. Make sure it is the second object in the query panel.
5. You can opt to sort either by code or description, whichever makes sense to your users
6. Click "OK" to save the query definition, or click "Run" if you want to populate the LOV with values.
7. Make sure you click "Export with Universe" on the properties tab once you have customized the LOV, else your computer is the only one that will include the new LOV definition
8. The Hierarchical Display box may also be checked; for this case you have a code + description which are not hierarchical, so clear that box
That's it. When you export your universe, the LOV will go with it. When someone asks for a list of values for the code, the list will show both codes and descriptions, but only the code will be selected.
You do not need to make any changes to your current derived table prompt once the LOV has been customized.

Similar Messages

  • Derived table in univ's

    Hello,
    Plz Ans me-
    What is Derived table, where it is using derived table? advantages& Di- advantages derived table?

    Hi,
    Derived tables are nothing else but InLine views (with the one additional benefit of being able to use @prompt syntax in a derived table) and as such do not contain any data, everything is calculated on the fly during query execution, meaning: whenever you refresh a report.
    Derived tables are tables that you define in the universe schema. You create objects on them as you do with any other table. A derived table is defined by an SQL query at the universe level that can be used as a logical table in Designer.
    Derived tables have the following advantages:
    u2022 Reduced amount of data returned to the document for analysis. You can include complex calculations and functions in a derived table. These operations are performed before the result set is returned to a document, which saves time and reduces the need for complex analysis of large amounts of data at the report level.
    u2022 Reduced maintenance of database summary tables. Derived tables can, in some cases, replace statistical tables that hold results for complex calculations that are incorporated into the universe using aggregate awareness. These aggregrate tables are costly to maintain and refresh frequently. Derived tables can return the same data and provide real time data analysis.
    Derived tables are similar to database views, with the advantage that the SQL for a derived table can include BusinessObjects prompts.
    Thanks,
    Amit

  • The ORDER BY clause is invalid in views, inline functions, derived tables..

    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 43119] Query Failed: [nQSError: 16001] ODBC error state: 37000 code: 8180 message: [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared.. [nQSError: 16001] ODBC error state: 37000 code: 1033 message: [Microsoft][ODBC SQL Server Driver][SQL Server]The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.. [nQSError: 16002] Cannot obtain number of columns for the query result. (HY000)
    I have already tried to follow this thread below, but no change.
    HI
    In this specific report ran above the offending sql uses a CTE.
    I am on 11.1.1.6.1, Windows Server 2008
    Currently in testing phase in migration from 10g.
    I know what the error means, just not how to resolve it or what setting may be causing this.

    In Physical layer, go to specific database(Physical layer's) properties, database features tab -> Un check the EXPRESSION_IN_ORDERBY_SUPPORTED.
    For that failed report, go to Answers-> advance tab-> Look for 'Advanced SQL Clauses'
    Check this box to issue an explicit Select Distinct
    Let me know updates
    If helps Pls mark correct or helpful

  • Fatal error when trying to add derived table

    Hello,
    I'm new at desiging a universe. I get the following a fatal error when trying to add a derived table to my universe:
    1 processor x Family 15 Model 0 Stepping 0
    Windows 2000 Workstation  v5.1 build 2600 (S)
    Physical Total/Avail: 2.097.151 Kb / 2.004.940 Kb
    Temp directory C:\DOCUME1\xxxxxx\LOCALS1\Temp\ (1 Kb available)
    'Unknown' video card
       1280 x 768 in true color
    (doesn't make sense to me)
    I use an ODBC connection that connects to a MySQL database. When I test the connection it's fine.
    I am trying to add a derived table because it seems that my universe cannot produce LEFT OUTER JOINS.  I read somewhere that I should set my ansi92 parameter to YES instead of NO. But, everytime I re-open my universe, it sets itself automatically to NO again.
    My utlimate goal is :
    For example, list ALL the people, left join my table to their websites, but return ALL the people, even if they don't have a website.
    I dont' understand, my join should be simple enough.
    Anybody knows what could be causing all these restrictions ?
    Thanks for you help.
    Edited by: Sose Canadian on Feb 9, 2009 9:40 PM

    Hi Sose,
    In BusinessObjects (Universe) Designer, the outer join option in a join is not available and is dimmed when using a Generic ODBC connection.
    Try Following Solutions:
    Solution : 1
    When using an ODBC connection the odbc.prm must be modified on the machine where BusinessObjects Designer is used.
    Use the following steps to modify odbc.prm:
    1. Locate odbc.prm in the following folder:
    \Business Objects\Business Objects Enterprise 11\win32_x86\dataAccess\Connection Server\odbc
    2. Open odbc.prm in a text editor and modify the parameter 'EXT_JOIN' so its value is 'YES' instead of 'NO'.The outer join option is now available in BusinessObjects Designer.
    If the outer join option is still not available after following the steps above. open odbc.prm in a text editor and modify the parameter OUTERJOINS_GENERATION. Change its value from 'NO' to either 'ANSI92' or 'ODBC'.
    Solution : 2
    This can occur when user is using a non-database specific middleware such as generic ODBC. Generic ODBC allows creating a successful connection and universe, however will not allow the Outer Join option.
    The syntax for outer joins is specific to each database and the Generic ODBC driver only lets you access standard common features of all ODBC data sources.
    Ensure that you are using the database specific middleware to create the connection.
    I Hope this Helpsu2026.
    Thanksu2026.
    Pratik

  • How to use database look up table function in xsl mapping

    Can anybody tell me how to use database look up table function while mapping xsl between 2 nodes.
    I have an XML file coming in and depending on one of XML elements we need to decide which further path to take. But, using this XML element, we need to query database table, get metadata and accordingly take appropriate path. I have written lookup function which returns metadata value.
    Now, the issue is how do I pass the XML element valu as input to look up function? When I tried to drag it to the input node of lookup function, it throws an error like "Maximum number of parameters exceeded"
    Thanks,

    If the lookup table is always going to remain the same (e.g. a character generator or something similar) you can place the values in a 2D array constant on your diagram, with the input value as one column, the equivalent as the other. When you need to perform the lookup you use an index array to return all the values in the "input column", search it using "search 1D array" and use the resulting index number to index the other column's data. If the values may change, then it would probably be best to load an array control with your equivalent values from a file.
    P.M.
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Derived table query size limit 65KB?

    Hi.  When in Edit Derived Table, if I paste a query larger than about 65KB, the end of the query will be cut off.  Then I must create multiple Derived Tables.  Has anyone else experienced this?  Do you find the limit to be about 65KB?
    Thanks,
    Mike

    Most databases cut off at that limit, so it's not really a Designer limitation.
    Frankly, if you have a derived table with 65K of SQL you need to fix your ETL.

  • Derived Table - Stored Procedure.

    Hi all,
    Can any tell how you call stored procedure from Derived table.
    and how manage the IN parameters ?
    thnx in advance

    Hi Reddeppa,
    Could you please specify the database you are working on?
    Also , BO Supports Derived Tables if and only if the underlying database supports In-line Views:
    Syntax: Select tot from ( select fun(x) as tot from table) dtab ;
    Ex: Select workdays from ( select workdays('10/10/2004' , '20/4/2005') as workdays from dual ) DerivedTab ;
    Run the above SQL at the Database end, if it runs successfully then follow the below steps
    1. Create a function at the database end.
    for example :
    Create or replace function testf(no number) return number
    as
    Begin
    Return(10);
    End;
    2. Open the universe
    3. Create a derived table using the following syntax:
    for example :
    Select TestF(10) from dual;
    4. Click on parse and Ok.
    5. Now create a report using Derived table
    Note: This is tested on Oracle database.
    Hope this will help you.
    Regards
    Sheeba

  • Generating Derived Table

    Hi,
    I've just created in BO Designer 6.5 a derived table for the calculation of an aggregate function.
    The table is structured in the following way (for example):
    SELECT SUM(ColumnCount) AS Sum_Distinct_NDG
    FROM (SELECT COUNT(DISTINCT cod_sample) AS ColumnCount
               FROM table.sample) DTBL
    In the derived table I have only one numeric column, and I can not put it in join with my fact table (table.sample).
    I thought topopulate the derived table also with an "alias" of the "table.sample.cod_sample" to put them in join, am I right? Anyway... I don't know how to do it.
    Can anybody help me to go on?
    Thanks in advance
    Riccardo

    Hi riccardo,
    assuming you have a table A with a column A1 and you want to count the distinct entries in this column. Your sql statement will look like this:
    select count(distinct A.A1) from A
    Assuming that the column A1 contains the following data:
    A1
    1
    1
    2
    2
    3
    Your sql statement return only one row with just one column:
    select count(distinct A.A1) from A
    3
    In your example you try then to build the sum of a table with a single line:
    select sum(B.alias1) from ( select count(distinct A.A1) as alias1 from A ) B
    which does not make really sense. 
    Generally it does not make sense to apply two aggregation operators on the same database field at once.
    What is your high level requirement here? In order to count the distinct entries the distinct count operator should be enough.
    Regards,
    Stratos

  • Does derived table use where clause fillters inside

    dear all.
    Table "A" has two cols aid and col1 , aid is pk.
    Table "B" has two cols  bid , aid , and colb .
    followin query can be formulated in other ways ,but i wanted to ask something about query processing.
    select aid,aa.ca,aa.cb
    from A
    left join
    (select aid, b.colb ca ,b1.colb  cb
     from A
    left join B on a.aid=b.aid and b.colb='r'
    left join B b1 on a.aid=b1.aid and b1.colb='e'
    ) aa
    where a.aid (1,2)
    i wanted to know if i put the where clause "where a.aid(1,2) in side derived table aa
    then will it change its plan in any case or it is sufficant to put where clasue in last
    or i should put the where clause in side the derive table "aa" also.
    yours sincerley

    Please post DDL, so that people do not have to guess what the keys, constraints, Declarative Referential Integrity, data types, etc. in your schema are. Learn how to follow ISO-11179 data element naming conventions and formatting rules. Temporal data should
    use ISO-8601 formats. Code should be in Standard SQL as much as possible and not local dialect. 
    This is minimal polite behavior ON SQL forums. Is your boss this rude to you?? 
    CREATE TABLE Alphas
    (alpha_id INTEGER NOT NULL PRIMARY KEY,
     col1 INTEGER NOT NULL);
    Thanks to your rude, poor narrative I have to guess about the second table: 
    CREATE TABLE Betas
    (beta_id INTEGER NOT NULL PRIMARY KEY, 
     alpha_id INTEGER NOT NULL
       REFERENCES Alphas(alpha_id), 
     colb CHAR(1) NOT NULL);
    Your query is awful. OUTER JOINs are rare in a properly designed schemA. The DRI should guarantee inner joins!  We seldom need to re-name columns. 
    >> I wanted to know if I put the where clause WHERE A.alpha_id(1,2) in side derived table aa <<
    That is not a syntactically invalid search condition; did you mean 
    “WHERE A.alpha_id IN (1,2)” ??
    Why did you de-normalize your results? My guess is that you can get the same data with this: 
    SELECT alpha_id, colb
      FROM Betas AS B
     WHERE colb IN ('r', 'e')
       AND alpha_id IN (1, 2);
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Oracle Stored Procedure call in a Derived Table?

    Can a statement that defines derived table in the Designer contain a call to an Oracle Stored Proc? The proc takes one varchar2 parameter and returns a result set that consists of one field of several records and is currently implemented via sys_refcursor (return type is flexible as long as it allows to pass the result set back)
    Is there any difference between BOXI R2 and R3.0 regarding to the matter?

    Hi there,
    In XI R 3 you can now created a special universe to use stored procedures.A stored procedure universe is a special universe that enables Web Intelligence users to access stored procedures residing in the database. In BusinessObjects XI Release 3, you can use stored procedures with Desktop Intelligence and with universes in Designer. You also benefit from universes that contain stored procedures for Crystal Reports and Web Intelligence.
    XI R 2 no can do.
    Hope this helps
    Jacques

  • How to compare 2 different database to get table name which are not present in second database

    How to compare 2 different database to get table name which are not present in second database

    Sorry cannot test it right now
    use db1
    go
    select * from sys.tables t where not exists
    (select * from db2.sys.tables s where t.object_id=s.object_id)
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Effect of Updating Database statistics to program's performance

    Hi,
    What is the Effect of Updating Database statistics to program's performance?
    Will the program run's faster after the update/
    Thanks a lot!

    Hi,
    >
    freishz wrote:
    > What is the Effect of Updating Database statistics to program's performance?
    update the statistics the optizer uses for making an execution plan.
    The statistics contains values like:
    table statistics:
    - nr of rows of the table
    - nr ob blocks / pages of the table
    - nr of empty blocks / pages
    index statistics:
    - nr of distinct keys in the index
    - nr of leaf pages of the index
    - clustering factor of the index
    - height (levels) of the index
    column statistics:
    - nr of distinct values for a (indexed) column
    - low value and high value for a (indexed) column
    >
    freishz wrote:
    > Will the program run's faster after the update/
    with updated statistics the runtime of the program might be
    - higher
    - lower
    - the same
    it depends on the differences of the generated execution plan used after the update in
    comparison with the execution plan used before the update.
    In general the runtime will be the same or lower. But i have seen cases where updating
    statistics lead to higher runtimes, but these are very rare.
    Why are you asking this question? do you have slow sql with a inefficent execution plan?
    statistics is one of many things that need to be analyzed...
    Kind regards,
    Hermann

  • @aggregate aware or Derived Tables  ..

    Hello,
    the original data in my Universe has about 2 Mio. i have 2 questions ..
    is there any reference values for best performance of a universe (e.g 1. Mio rows .. what ever)
    how can i get best performance: @aggregate aware or with derived tables .. (other Alternatives)
    Production DB: Oracle
    BOXIR2 SP 4

    Hi,
    You can get better performance with aggregate awareness, but you need the aggregate tables in the db.
    As a brief overview consider a table prod_cust_order (1million rows)
    Product, Customer, Order Amount
    This could be aggregated to product_order Product, Order Amount (500 rows)
    If the user wants to see order amount by customer then they are going to have to query the original table, but if they are interested in product only they they can go to Product_order table.
    The aggegrate awareness allows you to create a measure object with both tables as the source, and will then select the approriate one when building the query based on the dimension you have selected. So if the user selects customer then it will go to the top prod_cust_order but if they don't it will source it from the much smaller Product_order table. The user does not see the change in WebI unless they look at the underlying SQL.
    Derived tables are not so good for performance as the enter derived query is included in the SQL built.
    Regards
    Alan

  • Linking Tables & Derived Tables.

    Hi,
    I am having a problem performing an inner join on a standard table and a derived table. I have been trying syntax along the lines of :
    select test.person_id from person inner join (select person_id from person where person_id = 1000) Test on person.person_id = Test.person_id
    This is obviously a simplified (and useless) example of what I am trying to achieve . I keep getting an 00933 error Sql command not properly ended.
    I am trying to transfer logic from SQL Server where the above syntax would work.
    Any help greatly appreciated.
    Dave

    Thanks Tony, you're right.
    I was using Oracle 8. Having now checked on an Oracle 9 system I get the desired result. Do you know of any way round the issue?
    The problem in a little more detail: I have a Person, an Address and a Person_Address table. In the Person_Address table there are numerous addresses associated with the person. There is a START_DATE field for each record.
    By creating a derived table, as below, I can identify the latest address associated with a person and then by linking this derived table with the Person and Address table complete the required query. Without the derived table I am a little confused.
    SELECT PERSON_ID, MAX(ADDRESS_START_DATE) AS ADDRESS_START_DATE
    FROM PUPIL_ADDRESS
    GROUP BY PERSON_ID
    Any Ideas?

  • SQLDeveloper 1.5.4 Table browsing performance issue

    Hi all,
    I had read of previous posts regarding SQLDeveloper 1.5.3 table browsing performance issues. I downloaded and installed version 1.5.4 and it appears the problem has gotten worse!
    It takes ages to display rows of this particular table (the structure is shown below). It takes much longer to view it in Single Record format. Then attempting to Export the data is another frustrating exercise. By the way, TOAD does not seem to have this problem so I guess it is a SQLDeveloper bug.
    Can someone help with any workarounds?
    Thanks
    Chiedu
    Here is the table structure:
    create table EMAIL_SETUP
    APPL_ID VARCHAR2(10) not null,
    EML_ID VARCHAR2(10) not null,
    EML_DESC VARCHAR2(80) not null,
    PRIORITY_NO_DM NUMBER(1) default 3 not null
    constraint CC_EMAIL_SETUP_4 check (
    PRIORITY_NO_DM in (1,2,3,4,5)),
    DTLS_YN VARCHAR2(1) default '0' not null
    constraint CC_EMAIL_SETUP_5 check (
    DTLS_YN in ('0','1')),
    ATT_YN VARCHAR2(1) default '0' not null
    constraint CC_EMAIL_SETUP_6 check (
    ATT_YN in ('0','1')),
    MSG_FMT VARCHAR2(5) default 'TEXT' not null
    constraint CC_EMAIL_SETUP_7 check (
    MSG_FMT in ('TEXT','HTML')),
    MSG_TMPLT VARCHAR2(4000) not null,
    MSG_MIME_TYPE VARCHAR2(500) not null,
    PARAM_NO NUMBER(2) default 0 not null
    constraint CC_EMAIL_SETUP_10 check (
    PARAM_NO between 0 and 99),
    IN_USE_YN VARCHAR2(1) not null
    constraint CC_EMAIL_SETUP_11 check (
    IN_USE_YN in ('0','1')),
    DFLT_USE_YN VARCHAR2(1) default '0' not null
    constraint CC_EMAIL_SETUP_12 check (
    DFLT_USE_YN in ('0','1')),
    TAB_NM VARCHAR2(30) null ,
    FROM_ADDR VARCHAR2(80) null ,
    RPLY_ADDR VARCHAR2(80) null ,
    MSG_SBJ VARCHAR2(100) null ,
    MSG_HDR VARCHAR2(2000) null ,
    MSG_FTR VARCHAR2(2000) null ,
    ATT_TYPE_DM VARCHAR2(4) null
    constraint CC_EMAIL_SETUP_19 check (
    ATT_TYPE_DM is null or (ATT_TYPE_DM in ('RAW','TEXT'))),
    ATT_INLINE_YN VARCHAR2(1) null
    constraint CC_EMAIL_SETUP_20 check (
    ATT_INLINE_YN is null or (ATT_INLINE_YN in ('0','1'))),
    ATT_MIME_TYPE VARCHAR2(500) null ,
    constraint PK_EMAIL_SETUP primary key (EML_ID)
    )

    Check Tools | Preferences | Database | Advanced Parameters and post the value you have there.
    Try setting it to a small number and report if you see any improvement.
    -Raghu

Maybe you are looking for