Expand the Warehouse tables X adding physical tables and joins

I was questioned about these options:
a) Add physical tables (from other DBs) and modifying the physical model with new joins + modifying logical model to include new columns
b) Expand warehouse tables to include new columns in the tables. Doing a complementar ETL in order to feed the additional columns with data. Logical model would be updated but the idea in this option is to avoid joins in the physical layer.
My understanding is that option a) despite the joins in the physical layer would be a better strategy.
Pls. I'd appreciate any comments on the performance side or in the amount of effort to create the complementar ETL...
Txs.
Antonio

Hi Lombo,
I am not sure about what you mean with option a. In my understanding, you are asking for a comparison between:
a) adding data from an additional source in the RPD:
This means that you have to create an additional data source in the physical layer. I do not think you can create relations between physical tables sourced from different data sources in your physical layer. This means that the data is related in the logical layer. By doing this, the BI Server has to join the data from both sources for each front-end request. Also, it will have to perform the last aggregations instead of shipping it to the database. This is a big performance hit in terms of response time.
However! It can be much and much faster in terms of development effort required to support this. If it's only a limited number of columns and tables being added, this may be a valid option. You can also use this approach to prototype option b.
b) adding data from an additional source using ETL:
Quite some work in terms of development effort. However, all complexity and performance hits are moved to the bottom of the stack and process: database and ETL. You will need to create an additional data source in the DAC, additional custom folder(s) in Informatica and the ETL logic to update the existing tables and/or load new tables.
Additionaly, you need to expand the RPD with the new columns / tables, just as you would do in option a. However, now it will be sourced from the same datasource: less work for the BI Server to deliver the dataset to satisfy the request.
So basically, I would consider:
- How does the system currently perform: response times in the front end ( bad -> go for option b )
- How many columns will be added and how often will they be used in the front-end
- Informatica / DAC / OBI expertise available
- How long do you have to facilitate reporting on data from the 2nd source
Good luck!

Similar Messages

  • Duplicating Physical Tables vs Aliasing Physical Tables

    Hi All,
    what is the significance of alising a physical table over duplicating the physical table. In which senarios we use those strategies?
    Thanks and Regards,
    Sreekanth.

    hi,
    alias is different to duplicate. if duplicate a table it contians all the joins with another table and duplicate is mainly used for reference where as alias is used when we have 2 joins for same fact.
    thanks and regards
    Ranganathan T.A.

  • Lgical table from two physical table

    Hi,
    I am trying to design a logical fact table from two physical table. One table has transaction data and another has accounting data. The requirement is, I need to merge the rows between these two tables, where were it matches. If the keys are not matching between these two table then also I need to bring those rows from both tables as separate rows. How can i do this? Also can i have a logical table as source for my fact table.

    You'll need outer joins in your physical layer and you can drag the columns from both physical tables to a single logical table and you will see in the BMM layer it will create the two logical table sources.

  • HT1296 My drive failed on my iMac and I had to get a new drive but now my iTunes music is gone including all the CD's I added to iTunes, and all of my custom Playlists. All of that stuff is still on my iPhone 4, but how do I get it all onto my iMac again?

    My drive failed on my iMac and I had to get a new drive but now my iTunes music is gone including all the CD's I added to iTunes, and all of my custom Playlists. All of that stuff is still on my iPhone 4, but how do I get it all onto my iMac again? I have CD's on my phone that i no longer have the physical copies of so i can't just re-download them all, plus it would take forever! I just want to know if there is a way to get all of what is still on my phone, back over to my iMac with it's new drive and restore my full iTunes library to the iMac with playlists, CD downloaded music, and my iTunes bought stuff, so i can go back to synching the 2 devices without losing everything that's on my phone that used to be on both devices?

    iTunes Store- Transferring purchases from iOS device or iPod to a computer
    Downloading past purchases from the App Store, iBookstore, and iTunes Store
    How to dowload purchased music

  • [svn:osmf:] 14023: Updating OSMFPlayer to the changed layout APIs, adding a comment, and fixing MediaContainer from ignoring its constructor argument.

    Revision: 14023
    Revision: 14023
    Author:   [email protected]
    Date:     2010-02-07 07:54:38 -0800 (Sun, 07 Feb 2010)
    Log Message:
    Updating OSMFPlayer to the changed layout APIs, adding a comment, and fixing MediaContainer from ignoring its constructor argument.
    Modified Paths:
        osmf/trunk/apps/samples/framework/OSMFPlayer/src/OSMFPlayer.as
        osmf/trunk/framework/OSMF/org/osmf/containers/MediaContainer.as
        osmf/trunk/framework/OSMF/org/osmf/layout/LayoutTargetSprite.as

  • Using case when statement in the select query to create physical table

    Hello,
    I have a requirement where in I have to execute a case when statement with a session variable while creating a physical table using a select query. let me explain with an example.
    I have a physical table based on a select table with one column.
    SELECT 'VALUEOF(NQ_SESSION.NAME_PARAMETER)' AS NAME_PARAMETER FROM DUAL. Let me call this table as the NAME_PARAMETER table.
    I also have a customer table.
    In my dashboard that has two pages, Page 1 contains a table with the customer table with column navigation to my second dashboard page.
    In my second dashboard page I created a dashboard report based on NAME_PARAMETER table and a prompt based on customer table that sets the NAME_ PARAMETER request variable.
    EXECUTION
    When i click on a particular customer, the prompt sets the variable NAME_PARAMETER and the NAME_PARAMETER table shows the appropriate customer.
    everything works as expected. YE!!
    Now i created another table called NAME_PARAMETER1 with a little modification to the earlier table. the query is as follows.
    SELECT CASE WHEN 'VALUEOF(NQ_SESSION.NAME_PARAMETER)'='Customer 1' THEN 'TEST_MART1' ELSE TEST_MART2' END AS NAME_PARAMETER
    FROM DUAL
    Now I pull in this table into the second dashboard page along with the NAME_PARAMETER table report.
    surprisingly, NAME_PARAMETER table report executes as is, but the other report based on the NAME_PARAMETER1 table fails with the following error.
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 16001] ODBC error state: S1000 code: 1756 message: [Oracle][ODBC][Ora]ORA-01756: quoted string not properly terminated. [nQSError: 16014] SQL statement preparation failed. (HY000)
    SQL Issued: SET VARIABLE NAME_PARAMETER='Novartis';SELECT NAME_PARAMETER.NAME_PARAMETER saw_0 FROM POC_ONE_DOT_TWO ORDER BY saw_0
    If anyone has any explanation to this error and how we can achieve the same, please help.
    Thanks.

    Hello,
    Updates :) sorry.. the error was a stupid one.. I resolved and I got stuck at my next step.
    I am creating a physical table using a select query. But I am trying to obtain the name of the table dynamically.
    Here is what I am trying to do. the select query of the physical table is as follows.
    SELECT CUSTOMER_ID AS CUSTOMER_ID, CUSTOMER_NAME AS CUSTOMER_NAME FROM 'VALUEOF(NQ_SESSION.SCHEMA_NAME)'.CUSTOMER.
    The idea behind this is to obtain the data from the same table from different schemas dynamically based on what a session variable. Please let me know if there is a way to achieve this, if not please let me know if this can be achieved in any other method in OBIEE.
    Thanks.

  • Since upgrade, I can't now tell the size of attachments added to email and the attachment link from the icon doesn't work properly. How can these be addressed?

    Since the upgrade to mozilla and to windows was installed on my computer, when I use my hotmail account with mozilla, I now cannot tell the size of attachments. Previously you could see the size of attachments but now when the cursor passes over the attachment, this works on Internet explorer but not Mozilla. Also, the icon for attachments often doesn't work, nor the "send as an online document" nor the "No thanks" icon.

    The "Use custom settings for history" selection allows to see the current history and cookie settings, but selecting this doesn't make any changes to history and cookie settings.
    Firefox shows "Use custom settings for history" as an indication that at least one of the history and cookie settings is not the default to make you aware that changes were made.
    If all History settings are default then the custom settings are hidden and you see "Firefox will: (Never) Remember History".
    "Never Remember History" means that Private Browsing is active and "Always use private browsing mode" gets a checkmark.
    You need to remove the checkmark on "Always use private browsing mode" to leave Private Browsing mode or chose the "Remember History" setting.
    *https://support.mozilla.org/kb/Private+Browsing

  • How retrieve the document after having added worksheets, logos and formula

    Hi folks
    IHAC in R12 which need to add worksheets, logos and formulas to web ADI interface. This has been done, so he wants to be able to retrieve this modified file when download the web ADI interface from the system.
    Any tips and / or documentation are welcome
    Regards
    Richard

    I dont think this can be done.

  • I have an iPhone and an iPod touch, and whenever i sync my iPhone, all the apps from the iPod Touch are added on it and vice versa. How can I stop this from happening?

    Whenever i try and sync my iPhone, I get all the iPod Touch apps on it then have to maually delete them.

    I have the same question, but can you clarify something please.  I have about 10 apps showing in the apps section of iTunes - all of which I am happy to have on my iphone - but NOT on the Touch. 
    1.  How do I 'delete' the apps wrongly synched to the Touch, and
    2.  For the future, when I download an app. hor do I ensure it is only synched with the iphone and not the Touch.  I have very space left on the Touch and don't want to clutter it with unwanted apps.
    regards from a newbe

  • [38133] The Logical Table [...] is not joined to any other logical table.

    Hi all!
    I'm very new to Oracle BI EE. My need is to create my first report in BI. I've opened Oracle BI Administration Tool, created new repository, added physical tables, created new item named "reports" in "Business Model and Mapping" section, made "drug-n-drop" my physical tables into new item. Now when I run "check consistency" on "reports" item it returns errors:
    Business Model reports:
    [38133] The Logical Table '"reports"."table1"' is not joined to any other logical table.
    [38133] The Logical Table '"reports"."table2"' is not joined to any other logical table.
    [38133] The Logical Table '"reports"."table3"' is not joined to any other logical table.Could you please help me with these errors?
    Oracle Business Intelligence 11.1.1.6.0

    Looks like you drag-n-drop each table, try to all at once with that all physical layer joins are come and treated as logical joins. Other wise try to create them manually.
    drag-n-drop always is not possible so we have to go for manually.
    If this is not in your case let me know else pls mark as correct/helpful

  • Physical Table (Dynamic Name) x Physical Table x Alias

    Hello,
    We are customizing the standard OBI Applications .rpd. but this question is in reference to OBIEE, hence the post here.
    I have no problems with Physical Tables and Alias in the Physical layer.
    It just happens that the standard OBI Applications .rdp has some other 'physical tables' - the one for: Dim_W_PARTY_ORG_D_Customer that in its properties uses a Dynamic Name pointing to a variable that contains W_PARTY_ORG_D.
    There are other similar cases in the vanilla .rpd
    I fail to understand why sometimes (most of the time) the vanilla .rpd uses Alias and in these few cases use this strange Physical table. Pls. anyone would care to comment ?
    As we expand W_PARTY_ORG_D with new columns... these new columns are NOT automatically part of the Dim_W_PARTY_ORG_D_Customer as it happens in an Alias definition.
    Txs. for any comments.
    Antonio

    Hi Antonio,
    From the 11g documentation (http://docs.oracle.com/cd/E14571_01/bi.1111/e10540/physicallayer.htm#i1005872) ;
    Select this option to use a session variable to specify the physical table name, similar to catalog and schema objects. This option is available for non-multidimensional data source tables when you select a table type of Physical Table.
    You might want to choose this option if you have a multi-tenancy implementation and you want to define a separate physical table name for each customer. Another example would be to select between primary and shadow tables that are valid at different times in your ETL cycle. In both cases, you can assign session variables to dynamically select the appropriate table.
    Hope this helps.
    Daan Bakboord
    http://obibb.wordpress.com

  • OBIEE generated SQL differs if it's a Physical Table or Select Table...

    Hi!
    I have some tables defined in the Physical Layer, which some are Physical Tables and others are OBIEE "views" (tables created with a Select clause).
    My problem is that the difference in the generated SQL for the same table, differs (as expected) whether it is a Physical Table or a "Select Table". And this difference originates problems in the returned data. When it a Physical Table, the final report returns the correct data, but when it is a Select Table it returns incorrect/incomplete data. The report joins this table with another table from a different Database (it is a join between Sybase IQ and SQL Server).
    This is the generated SQL in the log:
    -- Physical Table generated SQL
    select T182880."sbl_cust_acct_row_id" as c1,
    T182880."sbl_cust_acct_ext_key" as c2,
    T182880."sbl_cust_source_sys" as c3
    from
    "SGC_X_KEY_ACCOUNT" T182880
    order by c2, c3
    -- "Select Table" generated SQL
    select
         sbl_cust_acct_ext_key,
         ltrim(rtrim(sbl_cust_source_sys)) as sbl_cust_source_sys,
         sbl_cust_acct_row_id,
         sbl_cust_acct_camp_contact_row_id,
         ods_date,
         ods_batch_no,
         ods_timestamp
    from dbo.SGC_X_KEY_ACCOUNT
    As you may notice, the main difference is the use of Aliases (which I think that it has no influence in the report result) and the use of "Order By" (which I start to think that it its the main cause to return the correct data).
    Don't forget that OBIEE server is joining the data from this table, with data from another table from a differente database. Therefore, the join is made in memory (OBIEE Engine). Maybe in the OBIEE Engine the Order by is essential to guarantee a correct join...but then again, I have some other tables in the Physical Layer that are defined as "Select" and the generated SQL uses the aliases and the Order by clause...
    In order to solve my problem, I had to transform the "Select Table" into a "Physical Table". The reason it was defined as a "Select Table" was because it had a restriction in the Where Clause (which I eliminated already, althouth the performance wil be worse).
    I'm confused. Help!
    Thanks.
    FPG

    Hi FPG,
    Not sure if this is a potential issue for you at all, but I know it caused me all kinds of headaches before I figured it out. Had to do with "Features" tab Values in the database object's settings in the Physical Layer:
    Different SQL generated for physical table query vs. view object query?
    Mine had to do with SQL from View objects not being submitted as I would expect, sounds like yours has more to do with "Order By"? I believe I remembered seeing some Order By and Group By settings in the "Features" list. You might make a copy of your RPD and experiement around with setting some of those if they aren't already selected and retesting your queries with the new DB settings.
    Jeremy

  • Table Type  Stored Procedure in OBIEE Physical table properties

    Hi,
    Any one has ever used the Stored Procedure in OBIEE Physical table properties??
    I've a procedure & a table i want to plopulate the tabel using the Procedure from OBIEE physical layer.

    It would be nice if we know more details about 'Populating table'...
    Using connection pool->connection pool scripts tab you may go for inserting/updating (Populating table) records into table.
    It would be nice if you use dedicated connection pool for init blocks...
    Ex: I want to insert user login time some xyz table my query would be like
    insert into xyz values ('valueof(NQ_SESSION.USER)',sysdate)
    without knowing your requirements its hard to tell anything apart from what is said.
    If helps pls mark
    Edited by: Srini VEERAVALLI on Jan 16, 2013 10:37 PM

  • Calculations using Physical Tables vs Logical Tables

    It's easy to find an example of where you would want to use Logical Tables instead of Physical Tables to create fact columns in the repository. Any measure such as Profit Margin (i.e. Profit / Sales) must be computed in the Logical Tables, so that the division operation occurs after the dimensional aggregations are passed to it from the physical layer. In the example of (Profit / Sales), using Physical Columns returns an incorrect result, because it does the division operation first, then aggregates all of those results into a nonsense value.
    So, is there some type of formula in which the reverse is true, such that using Logical Tables would return an incorrect result, while the Physical Tables would return the correct result?
    If not, then under what circumstances would we want to use the Physical Tables instead of the Logical Tables? Is there some type of formula that performs better with Physical Tables?

    Hi Thomson,
    calculations using physical columns generate fair SQL which wouldn't involve any sub-selects in physical query... and would be fast.
    If you use logical columns by selecting the “Use existing logical columns as the source check box" in rpd, most of the times it generates queries.. with sub-selects (means subqueries)
    Ex: suppose you are calculating a calculation based on 2 columns a, b then
    If you use, Logical columns, the query would be something like...
    *Select D1.C1 + D1.C2*
    *From (select Sum(X) as C1,*
    *Sum(Y) as C2*
    *From FactX) D1*
    *Group by DimY*
    If you use, phyiscal columns for calculation the... the query would be...
    *Select Sum(D1.C1 + D1.C2)*
    *From FactX*
    *Group By DimY;*
    which is much preety and good to query the database... without any difficult..
    For first query... it's using inner queries... so process would be slow...
    +Thanks & Regards+
    +Kishore Guggilla+

  • Create temporary table to physical table.

    i have created one physical table using temporary table. columns are like this create hi table as(no number, name varchar2(20), da date));
    again do some transaction in my DB i need insert the temporary table values to physical table IF the no,name,date is same add the values into table.

    What is your 4 digit Oracle version?
    You can use a MERGE to do that
    MERGE INTO permTable P
       USING (SELECT a, b, c FROM tempTable) T
       ON (P.no = T.no AND P.name = T.name AND P.da = T.da)
       WHEN MATCHED THEN UPDATE SET P.a = T.a, P.b = T.b, P.c = T.c;See Merging into a Table: Example at the end of the MERGE section in the SQL Reference
    http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm

Maybe you are looking for