Virtual Tables in a universe?

We have a large structured database that we would like to make available through a universe.  We were considering using a universe that references tables that we make up so that when the report occurs, BO would request the data based on "virtual" tables and we would do the conversion to create efficient queries so that only the tables required to fullfill the data request would be used.  We believe this will be a lot more efficient over the alternative of creating real views that join a lot of tables together to answer the data request.
I would like to know how we can create the universe using the designer sdk.  I assume that I will need to create new a class that implements the Table interface.  This seems like a lot of work.  Are there any short cuts I could take to create tables in a universe that are not directly linked to real tables in a database?
Most of the implementation looks straight forward, but some methods that create a "Class" or "Delete" require a knowledge of the API.  I'm not quite sure how to implement these methods.

Hi Trey,
If your question is more related to the SDK, then I suggest yo post this to one of the SDK forums. You would get a better response there as within this forum threads are related to universe builders who use the Designer tool to construct universes.
Regards
Jacques

Similar Messages

  • Error while creating virtual table in Hana

    Hi Folks,
    Good Day!
    I am trying to create the virtual table in Hana system from Hadoop data base but am getting some privilege issue.
    Please help me to resolve the issue.
    Error Screen shot:
    Thanks,
    Hari

    Hi Hari,
    Check if you have the following privileges assigned to your user ID in Object privileges for the created Remote DNS
    Regards,
    Nehal

  • Are Selects from ( two or more ) Virtual Tables Possible?

    Hello.
    This is what I mean by a virtual table - and this works in OBIEE -
    select
        saw_0, saw_2, saw_3
    from
         SELECT
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number saw_0,
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Order_Creation_Date saw_2,
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Order_Closed_Date saw_3
         FROM
            "[Noetix-NoetixGlobalRepository] NoetixViews for Oracle Service"
         WHERE
           "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number BETWEEN '100000' AND '100009'
    ) t1However, this does not work -
    [ Note that each of the nested queries works ok on its own. ]
    select
        saw_0, saw_2, saw_3, saw_4
    from
         (SELECT
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number saw_0,
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Order_Creation_Date saw_2,
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Order_Closed_Date saw_3
         FROM
            "[Noetix-NoetixGlobalRepository] NoetixViews for Oracle Service"
         WHERE
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number BETWEEN '100000' AND '100009' ) t1,
         (SELECT
            TOPN("- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number, 3) saw_4, 
         FROM
           "[Noetix-NoetixGlobalRepository] NoetixViews for Oracle Service"
         WHERE
           "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number BETWEEN '100000' AND '100009' ) t2
    ) t3My question is this - is there a syntactic variation on this that does work? Or is it impossible?
    Thank you!
    Charlie

    Hello, User.
    I think what I'm trying to achieve is unclear. Consider first this query -
    SELECT
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number saw_0,
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Order_Creation_Date saw_2,
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Order_Closed_Date saw_3
         FROM
            "[Noetix-NoetixGlobalRepository] NoetixViews for Oracle Service"
         WHERE
            "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number BETWEEN '100000' AND '100009'Let's call that the "business result".
    What I'm trying to do is get a result set that has 3 rows for every row in the "business result" set. I'm trying to get this by coercing OBIEE to join the business result to an arbitrary 3-row set whose only purpose is to create that cartesian product result.
    So I create a second SQL expression -
    SELECT
            TOPN("- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number, 3) saw_4, 
         FROM
           "[Noetix-NoetixGlobalRepository] NoetixViews for Oracle Service"
         WHERE
           "- Nx_CSDG0_Repair_Orders (Depot Repair Views)".Repair_Number BETWEEN '100000' AND '100009'- which returns 3 rows of anything.
    I want to turn this -
    1   ABC   20.95
    2   DEF   19.95
    3   XYZ   24.95Into this -
    A  1   ABC   20.95
    B  1   ABC   20.95
    C  1   ABC   20.95
    A  2   DEF   19.95
    B  2   DEF   19.95
    C  2   DEF   19.95
    A  3   XYZ   24.95
    B  3   XYZ   24.95
    C  3   XYZ   24.95My attempt to force a join fails - and I'm asking if there is a syntax tweak (or another approach entirely) that will do the trick.
    Thank you.
    Charlie

  • Error in Creating virtual tables

    Hi
    I get back a SQL error (SQL Statement not properly ended) in the case of Oracle for the following query. Is it not possible to create virtual tables in Oracle. I work on Oracle 9i
    CREATE GLOBAL TEMPORARY TABLE derTbl2143679361 (DerCol0, DerCol1, DerCol2, MemberCol0, OrdCol1) ON COMMIT PRESERVE ROWS AS
    SELECT TBC.SUPPLIER.COUNTYID, 'AMOUNT', SUM(AMOUNT)
    , TBC.SUPPLIER.COUNTRY
    , TBC.SUPPLIER.COUNTYID
    FROM (TBC.SUPPLIER join TBC.SALES on (TBC.SALES.SUPPLIERID = TBC.SUPPLIER.SUPPLIERID))
    GROUP BY TBC.SUPPLIER.COUNTYID,TBC.SUPPLIER.COUNTRY
    /*The above query works fine*/
    SELECT NETEMP5.Member0, 'AMOUNT', derTbl214367936.DerCol2
    , NETEMP5.Ord1
    FROM (SELECT DISTINCT COALESCE(derTbl2143679361.DerCol0, -2147483647), COALESCE(derTbl2143679361.MemberCol0, '$U$6$N$9$'), COALESCE(derTbl2143679361.OrdCol1, -2147483647) FROM derTbl2143679361) NETEMP5(KeyCol0,Member0,Ord1)
    left outer join derTbl2143679361 on ((COALESCE(NETEMP5.KeyCol0, -2147483647) = COALESCE(derTbl2143679361.DerCol0, -2147483647)))
    GROUP BY NETEMP5.Member0,derTbl2143679361.DerCol2, NETEMP5.Ord1
    ORDER BY 4
    /*This query throws the error*/
    Can I not assign Aliases to the virtual table in this form - NETEMP5(KeyCol0,Member0,Ord1)??
    Thanks

    Hi,
    This is the error that I get back
    ORA-00933- SQL command not properly ended
    It seems that the problem is with the way I use the Alias. The following query works fine
    SELECT NETEMP5.Member0, 'AMOUNT', derTbl214367936.DerCol2
    , NETEMP5.Ord1
    FROM (SELECT DISTINCT COALESCE(derTbl2143679361.DerCol0, -2147483647) KeyCol0, COALESCE(derTbl2143679361.MemberCol0, '$U$6$N$9$') Member0, COALESCE(derTbl2143679361.OrdCol1, -2147483647) Ord1 FROM derTbl2143679361) NETEMP5
    left outer join derTbl2143679361 on ((COALESCE(NETEMP5.KeyCol0, -2147483647) = COALESCE(derTbl2143679361.DerCol0, -2147483647)))
    GROUP BY NETEMP5.Member0,derTbl2143679361.DerCol2, NETEMP5.Ord1
    ORDER BY 4
    Here i use the alias following the column name itself. But is it not possible to have the aliases with the virtual table name (i.e NETEMP5(KeyCol0,Member0,Ord1) ) this works fine on MSSQL & db2
    Thanks

  • Populating a Crystal Report from a virtual table

    Hi,
    Iu2019m using Crystal Report XI R2. I have a Crystal Report which is created using a view in Oracle using the native oracle DB connection. Iu2019m intending to write an application which should populate this report with data using a virtual table in memory. Populating the virtual table could be done by me but what I need to know is how to populate the report using this virtual table. Note the virtual table name will be the same as the one that was used to design the report. Is such a thing possible in the Crystal Java SDK. I found the flowing link http://www.eggheadcafe.com/forumarchives/NETgeneral/Jul2005/post23273440.asp and it talks about a PUSH feature. Can this be used? If so can you tell me how, maybe a small sample code would help.
    Thanks you in advance,
    Regards,
    Chanaka

    I would suggest searching for how to use resultsets with crystal reports.

  • Virtual Tables

    Hello,
    For example, I have two tables:
    table1
    t1_id
    t1_data
    table2
    t2_id
    t1_id (reference to filed table1.t1_id)
    t2_data
    I want to create two virtual tables: vtable1 and vtable2.
    Real data must be stored only in tables table1 and table2. vtable1 and vtable2 must be only aliases (links, pointers etc), with new table name and new field names.
    When I insert, select, update or delete data from vtable1 or vtable2, data modification must be made with original tables and vice versa.
    Has oracle some nice methods to create such virtual tables?

    Simple..
    schema1.table1
    schema1.table2
    create..
    schema2.view1
    schema2.view2
    where view1 is something like select col1 as aliascol1, col2 as aliascol2 from schema1.table1..
    To do this you should grant at least the select to schema2 user on schema1 objects.
    Read the docs how to do that..
    Acr

  • SWT Virtual Tables display problem.

    Hi all,
    I have a display problem with virtual tables.
    In an Eclipse RCP application, I have a view that shows two tables, T1 (showing users) and T2 (showing the roles).
    I also use a content provider and a label provider for each table.
    When I debug, I can see that both tables are filled correctly.
    But when the application comes up, T1 is empty and T2 is filled. I am missing the users in the table T1.
    The interesting thing is, that the table do not very differ much from each other, T1 has one column more and of course IUser object as data per tableitem, whereas T2 has IRole objects as tableitems.
    Even when I debug on event listening in T2, I can get the T1 data of each tableitem, but it doesn't show?!
    My question is, where can I look at to solve this problem?
    Just theoretically, without posting source code.
    Thanks and regards,
    Tom

    Hi,
    I found out that the table T1 seems to miss the user object in each of the tableitems data fields.
    Now I am confused.
    According to the model, when does it get filled with it?
    Because the Labelprovider
         public String getColumnText(Object element, int columnIndex) {
              String result = null;
              if(element instanceof IUser) {
                   IUser user = (IUser) element;
                   if(columnIndex == 0) {
                        result = user.getName();
                   } else if(columnIndex == 1) {
                        result = user.getUserId();
                   } else if(columnIndex == 2) {
                        //This is a checkbox Member
                   } else if(columnIndex == 3) {
                        //This is a checkbox Manager
              return result;
         }gets all the correct data.
    Is it removed afterwards?
    Thanks and regards,
    Tom

  • Create virtual table.

    Hi all,
    I have a table with SUBTYPE, DATAID, ORIGNALDATAID, DATE column.
    select dataid, orignaldataid from table where subtype=1 and Date=01-Aug-2010.
    I have the above query statment. I need the dataid for further processing, but before the processing is done. I need to check if the orignaldataid=0, if yes, dataid remains else dataid=orginaldataid. Before the list is pass to another sql. But i intend to use nested sql for futher processing, hence i need to database to crunch the data instead of using java to change the data.
    I was thinking of creaating another virtaual table in DB where it will automatically do this for me instead of having dataid and orginaldatid column, it will jus have dataid column. Then i can just query this virtual table.
    Select dataid from virtualTable where subtype=1 and Date=01-Aug-2010. Is it possible?

    Hi,
    If you want to have two tables
    (1) your original table with all the data, and
    (2) fubar, which perhaps has fewer rows, and some derived columns
    and you want changes in the original table to automatically change fubar (when apppropriate), then make fubar a Materialized View . Despite the name, a materialized view is a real table. Is it auotmatically refreshed, or changed to show changes in the original table. Typically, this is done at fixed intervals, that is, you tell the system to refresh the materialized view every morning a 2:00 am, or every 30 minutes. You can also refresh it on demand, so that you know the dta is up to date.
    If you are using Oracle 10, then you can't use the virtual column feature, but you can create regular columns and write triggers to populate them, based on other values in the same row. I don';t know if this would serve your needs better than a materialized view or not.

  • Are there any (dis)advantages in building a universe on fully normalized tables instead of building dimensional model/tables and then universe on top of them?

    Hello,
    I’m hoping someone can help me with understanding advantages and disadvantages if we want to build a universe on top of a fully normalized tables, compared to using a dimensional model with star schemas.
    I’ve read some discussions here that say that it is possible to create a universe on top of normalized tables. Then, can we avoid building of dimensional tables (a data mart), and just use normalized tables? I would say that it is easier to use star schema dimensions and facts tables to build a universe, but our end users might ask “why do we have to go through building a dimensional data mart, if we can have same reports with hierarchies and drill-down functionality based on a universe built on top of our already existing normalized tables?”
    Can you point me to some established best practices regarding using normalized tables to build a universe? Any documents with some examples for this?
    Any expected difficulties during design/development phase of our universe, related to using normalized tables?
    Any expected performance degradation if we use normalized tables compared to using dimensional tables?
    Can I build universe more easily if I transform (modify) our normalized model (by using alias tables and views) to look like snowflake model?
    I’m using BOE XI 3.1, tables are in Oracle 11.2.
    Thank you

    Few Disadvantages that I usually face when building universe on Normalized tables,
    1. Performance - Read operations have to suffer because indexing strategies do not go well with table joins
    2. Derived Tables - Due to complex Queries/ Logic, most of the time, end-up creating derived tables, which doesn't use back-end table indexes and slows down the report runtime.
    3. Normalized table/ Transaction tables may not always have proper cardinality and often results in Cartesian products
    4. Normalized tables may not have tight referential integrity and may have to join more than one column and join on varchar, etc whereas, good Dimensional model datawarehouse will have proper keys/ integer joins and not always necessary to join on multiple fields
    5. Often deal with Fan and Chasm Traps
    6. Dealing with Database fields with nulls, blanks, date in numeric format, etc.,
    7. No Facts, Dimensions separated and most of the time they are in same table
    and More...
    If performance is not a matter and building Datawarehouse is a big deal, then I will start building Universe on normalized tables by having the database diagram as reference for Joins, contexts, etc
    Note: After dealing with universes based on normalized tables for few years (by creating views, complex sql queries data loading to tables and unv on these tables, derived tables), I ended up creating star-schema dimensional model (couple of months extra ETL work), users/ developers felt lot better when they have to create standard/ ad-hoc reports and they are super fast compared to previous universes.

  • Change Table Names in Universe to a Fully Qualified Table Name

    We have implement the HR Rapid Datamart. The table names just have the table. We need programmically to have the table use a fully qualified name. Example Company table needs to read the schema.table name DM.Company. Is there a way to set it in the Custom Parameters section of the Edit connection window to automatically add the schema name to the table name programmically without having to rename the table names in the universe?

    You can add the schema name for all tables in one pass if you select all of them (press the CTRL key while selecting them) and them go to the properties window and type in the schema name in the owner field.
    Regards,
    Stratos

  • Using MS-SQL Server tables to build Universes

    My team has been tasked to create Universes so users can create WEBI reports.  We don't have a business warehouse, but that appeared not to be a problem as our understanding is that we can create Universes directly from MS-SQL Server tables. 
    On attempting to use Microsoft SQL Server Management Studio (20005), we find that once we expand the list of tables for SAP performance slows down to a 5 to 10 second response time between mouse clicks. 
    Is there a setting to work around this?  Are we approaching this the wrong way?  Is there documentation that addresses this?
    Thanks,
    Leo

    Hi Leo,
    There are a couple of options which can help improve the performance of your designer.
    1) Under tools, options on the graphics tab if you turn off the Show Row Counts, then the db will not be queried for the number of rows
    2) Check tools, options general ensure Automatic parse upon defintion and check universe integrity at opening are checked off
    It is not clear from your message, but you mentioned SAP as your source. I am not sure if you intended that you were connecting directly to SAP or not.
    The number of tables can also have an impact of the performance of the designer tool. You can limit the number of tabels by tailoring a tables strategies. This means you can limit the query that returns the list of table to a specific set.
    Hope this helps
    Alan

  • Summary and Detail Fact Tables in one Universe ...

    We have a classic star Schema with a snapshot( summary table by month) and a detail activity table on Daily activity. What is best way to design a Universe to accomodate this requirement.
    1. Seperate Universe for summary Table
              This removes the functionality of Drill down, and Drill down can be only available through links in Webi Reports.
    2. One Universe for both Summary and Fact, and write logic for aggregate awareness. It will complicate the universe since we have close to 100 odd mesasures.
    Thanks

    Hi Devendra,
    Use aggregate awareness irrespective of the "complicated" matter.

  • Slow Query on Virtual Tables

    Hello!
    I am using a proprietary IDE environment to compile some applications. I cannot change the following SQL query it performs. During "Compile", the IDE is checking the DB Function calls in the app by executing the following
    SQL Statement:
    select c.owner, c.synonym_name, INSTR(a.object_type, 'PROC'), '1' from sys.dba_objects a, sys.dba_synonyms c where c.table_owner = a.owner and c.table_name = a.object_name and a.object_type IN ('FUNCTION','PROCEDURE') and a.status = 'VALID' and c.owner like'USERNAME'escape'\'
    *of course, I put in USERNAME where an actual UserName/Owner name was.
    This is the query that happens for every DB Procedure step in the application. The app isn't holding the list in memory and using it over again (that would help performance, but is probably impossible to have the IDE updated in a reasonable timeframe).
    There are 50,000 objects and 10,000 synonyms on this database server. This query takes 20 seconds to complete. When I remove the last WHERE condition - c.owner like'USERNAME'escape'\' - the query takes 3 seconds.
    Is there a way I can speed up this query? If I use a login with some restriced permissions, will it limit what I see in the SYN$ table?
    Is there a better way to state this query? I can make a recommendation to the IDE company (but I probably won't get a patch for months).
    Thanks for your help,
    Eric

    Could you try the following?
    select /*+ full ( a ) full ( c ) */
    c.owner, c.synonym_name, INSTR(a.object_type, 'PROC'), '1'
    from sys.dba_objects a
    ,sys.dba_synonyms c
    where c.table_owner = a.owner
    and c.table_name = a.object_name
    and a.object_type IN ('FUNCTION','PROCEDURE')
    and a.status = 'VALID'
    and c.owner like 'X_OWNER' escape'\'

  • Berkeley DB, SQLite and virtual tables

    Is it possible to compile support for the RTree module and the fts3 module with this version?
    Thanks
    Sebastian

    Ok Sorry for disturbing the peace.
    I compiled the distribution with -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS
    And it appears to work just fine.
    I think this should be compiled into the binary distribution since both are very important features
    Thanks again
    Sebastian

  • How can I create a universe with the BO repository tables?

    Hi. I need make a universe with the BO repository tables, in order to get user information .
    But, when I try to insert tables in designer, using a new conecction to BO repository. I can't see tables.
    Someone can help me?

    The CMS repository is organized into both physical and virtual tables. Only the CMS can access the virtual tables, therefore you cannot create a universe on the CMS repository. You can access the CMS repository information through the Enterprise SDK.
    https://www.sdn.sap.com/irj/boc/businessobjects-sdklibrary

Maybe you are looking for

  • Q:How to trim a VI's front panel at runtime?

    The occupied front panel space can be obtained by calling "GetPanelImage" via an invoke node. The resulting cluster "bounds" describes the union of all front panel objects. The front panel can then be resized to fit these bounds. The content of the f

  • No memory error message on my mac mini what do i need to do?

    No memory error message on my mac mini when i try to update. What do need to do?

  • HP Pavilion DV6 Notebook -VX070AV, Windows 7 64-bit- no sound

    HP Pavilion DV6 Notebook -VX070AV, Windows 7 64-bit. IDT High Definition Audio CODEC Enabled stwrt64.sys 6.10.6289.0 Intel (R) Display Audio Enabled IntcDAud.sys 6.12.0.3047 Speakers show sound coming from internal speakers. Speakers and Headphones P

  • BOR object for notification

    can anybody tell me any standard BOR object for notification create(IW51) and servise order create  (IW31)

  • Epson RX580 won't recognize new cartridge

    While this is not 'officially' a Mac problem, I'm hoping someone can help. My RX580 will not recognize the new black ink cartridge. I had this same problem in the past and someone on this board suggested removing and putting back all 6 cartridges, wh