Logical Column Mapping to Multiple Physical?

I am "learning" OBIEE still and a consultant today showed me something that totally blew my mind
In the OBIEE Admin tool (in verson 10) there are 3 layers displayed. The physical, business management and presentation layer.
I was under the impression that columns would be "mapped" one to one from each layer
The consultant proved me wrong and showed me that in fact, when making a logical column that you can have it "map" to two physical column names
Since every minute with the consultant is $$$ I tried to google around to find out why and how is this so but havent been able to find anything
Could someone explain to me why this would be done?
For example I have the logical column named "Home Faculty" and it is mapped to two physical columns "Faculty Short Desc" & "Main Faculty"
How would OBIEE know which one to use when?
Or does it simply "merge" the data between the two columns into one?

In this case equi join.
When you are using OBIEE try to see wrt fact table with Table 1 and 2 and follow as I suggest earlier.
When you use Fact,Table 1 and 2
Physical Layer Joins would be like:
Fact join with Table 1
Fact join with Table 2
In BMM I can make 3 tables
Like
Fact
dim 1
dim 2
Other case would be
Physical Layer Joins would be like:
Fact join with Table 1
Fact join with Table 2
Table 1's A1,A2 equals Table 2's A1,A2
In BMM I can make 2 tables
Like
Fact
dim sourcing 1 and 2
a) 1 mapping with 2
b) dim with LTS 1 and 2
Hope this helps
If I made it more confuse ;) send me email with US mobile# will call you back
If helps mark

Similar Messages

  • Display values for logical columns with several physical sources

    Hi all,
    I'm enocuntering some strange behaviour with the values displayed for a column (when we want to add it a as a filter, and in the dialogue box select 'Show All' values).
    Basically the logical column is mapped against several physical columns as the base fact table is aggregated to different levels. Additionally, one column in the fact tables has an attribute value, and these vary between the aggregated and non-aggregated table. This is not a problem.
    In the production environment, when we display the all values in the filters prompt for this column we are seeing the values being taken from one fact table. Naturally this means that not all the values possible for this column are being shown (i.e. values from the aggregated fact tables are missing). Now in one of our test environment where those fact tabels have additional data loaded, the values are being taken from one of the other fact tables. Unfortunately it is not necessarily the fact table with less data.
    My questions are:
    a) What dictates which fact table the server will use when the query in Answers doesnt use any dimensions (i.e. we are selecting just this attribute and selecting all the possible values by which it can be filtered)?
    b) Is there a way of obtaining all the values from the differente physical columns? I.e. that the display values shows the values of that logical column across all the physical fact tables? Maybe we would need to model that attribute as a logical dimension just for that attribute? Im not really sure this would work, as at the physical level the join between the dimension and fact would still have to go to only one particular fact table.
    Any info or help is much appreciated.

    Hi,
    Aggregate tables exist at physical level and are created by ETL procedures. Although i am aware that the dimension come into play when the application needs to decide which source aggregate table to use, it is not an issue here as in our query we are not involving dimensions. We are selecting just this one columen, and then the filter option on this column, then in the dialogue box we select 'All Choices', only the values from one of the source tables is being shown.
    This is not a probelm within reports, i think it is a product limitation in that in that option to list all values a user can filter by, it is not possible to display all the values from the different fact tables to which that column is mapped.
    Has anyone else encountered this behaviour?

  • Create two logical columns with same LTS mapping but diff filter conditions

    Hi,
    Problem:
    How to create two logical columns within same logical table mapped to same physical column but different filter conditions?
    I have a scenario where in,
    Physical layer columns
         - table1.employee
         - table1.emp_city
    I need a columns in logical layer:
    Logical layer - lt1.count_emp_delhi (counts distinct employees whose city_name = 'Delhi')
              lt1.count_emp_mumbai(counts distinct employees whose city_name = 'Mumbai')
    My approach:
    For Delhi column
    1. Create a logical column lt1.count_emp_delhi mapped to the physical column table1.employee
    2. Aggregate using countdistinct in aggregate tab.
    3. Edit the mapping condition
         3.1. Use the where clause and set table1.emp_city='Delhi'.
    For Mumbai column.
    Followed the same approach as above but in 3.1 if I change the condition to 'Mumbai', even the delhi column is populated with mumbai count which is ERRONEOUS
    Could some one please help?

    Hi,
    1. Create two alias tables for table1 in Physical Layer. Lets say TB_Mumbai and TB_Delhi
    2. Create a logical table in BMM layer (D1 Employee Cities )
    3. Drag and drop the employee & emp_city columns from both alias tables (TB_Mumbai and TB_Delhi ) into your newly created logical table.
    4. Now you can see two Logical Table Sources (TB_Mumbai and TB_Delhi )
    5. Now using Where condition, write the condition on each table
    NOTE: Don't write any condition on the Physical table Table1.
    Hope it helps you.
    Regards,
    Kalyan Chukkapalli
    http://123obi.com

  • Why logical column in terms of other logical columns and not physical sourc

    Hello
    Can someone shed some light that in what scenario ..defining a logical column in terms of other logical column is beneficial compared to defining logical column in terms of physical sources?
    I found something on google that said defining in terms of logical columns is like one time thing. I dont understand, even if you define in terms of physical source that' too one time.
    In both the case we build an expression specifying which logical or physical columns.
    Thank you

    well logical columns from physical source, if in logical fact table you can set aggr rules. Logical columns based on other logical columns you can not. Logical columns based on other logical columns will inherit the aggr rules. So for instance, if you create col1 and col2. Both based off physical and both having sum aggr rule. If you create logical column col3 based off these two as such "col1"/"col2" it will produce the following sum(col1)/cum(col2). Now if you really wanted sum(col1/col2) then you should have made col3 based off physical as col1/col2 with aggr rule of sum.
    Also of some note, all logical columns based off physical will be performed in the inner most query. So for my example above to get col3 where it is logical col1/logical col2 or sum(col1)/sum(col2) the physical query will be:
    select D1.c1/D1.c2
    from (
    select sum(col1) as c1,
    sum(col2) as c2
    from tableA
    ) D1
    So my short summary of this, is what or how do you want your sql to be created. Based on this can you lead you to your answer of whether to use logical col based on physical or other logical columns. And unltimately, check the sql generated from your work to ensure the sql queries generated are what you want and expect.
    I hope this helps!

  • Logical Column(s) a.k.a. Pre-calculated Measures

    I am looking for best practices around logical columns either in Presentation Layer or Business Layer. Specifically I want to know..
    1) Is it advisable to have logical columns?
    2) How many are good to have? Should one create logical columns for all frequent calculations which are done on dashboards?
    3) Are there any performance implications?
    4) Can we use Time Series function with logical columns? Like AGO etc.
    In short I am looking for intelligent pros and cons of such implementations.
    PS: Logical columns are derived from physical columns. For e.g. Profit = Income - Expense.
    Regards.

    Hi
    1) all complex logic should be in the BMM layer in the RPD. Yes, it's advisable to have them in the BMM. Although another good practice is to try to delegate all complex calculations to ETL if possible.
    2) As many as deemed necessary. Yes.
    3) No, not really. But if you use Answers' logical columns - you have to be creative in propagating them to other reports.
    4) Yes you can. But again, this is something that's better to have in the RPD.

  • OBIEE 10g repository - Business model - logical table to physical table, column mapping is empty

    Hi, I am really new to OBIEE 10g.
    I already set up a SQL Server 2005 database in Physical and import a view vw_Dim_retail_branch.
    The view has 3 columns: branch_id, branch_code, branch_desc.
    Now I want to set up the Business model to map this physical table (view).
    I created a new Business model
    Added new logical table Dim_retail_branch
    In the sources, added the vw_Dim_retail_branch as source table.
    But in the Logical table source window,  column mapping tab, it's blank. I thought it should be able to identify all the columns from vw_Dim_retail_branch, but not. The show mapped columns is ticked.
    What should I do here? Manually type each column?

    HI,
    Just you can drag and drop the columns from physical layer to BMM layer.
    Select the 3 columns and drag and drop it to the created logical column in BMM layer.
    for more reference : http:\\mkashu.blogspot.com
    Regards,
    VG

  • Loading multiple physical records into a logical record

    Hello,
    I'm not sure if this is the right place to post this thread.
    I have to import data from a fixed length positioned text file into a oracle table using sql loader.
    My sample input file (which has 3 columns) looks like:
    Col1 Col2 Col3
    1 A abcdefgh
    1 A ijklmnop
    1 A pqrstuv
    1 B abcdefgh
    1 B ijklmn
    2 A abcdefgh
    3 C hello
    3 C world
    The above text file should be loaded into the table as:
    Col1 Col2 Col3
    1 A abcdefghijklmnpqrstuv
    1 B abcdefghijklmn
    2 A abcdefgh
    3 C helloworld
    My question: Is there a way tht i can use the logic of loading multiple physical records into a logical record in my oracle tables. Please suggest.
    Thanks in advance.

    Hi,
    user1049091 wrote:
    Kulash,
    Thanks for your reply.
    The order of the concatenated strings is important as the whole text is split into several physical records in the flat file and has to be combined into 1 record in Oracle table.
    My scenario is we get these fixed length input files from mainframes on a daily basis and this data needs to be loaded into a oracle table for reporting purpose. It needs to be automated.
    Am still confused whether to use external table or a staging table using sql loader. Please advise with more clarity as am a beginner in sql loader. Thanks.I still think an external table would be better.
    You can create the external table like this:
    CREATE TABLE     fubar_external
    (      col1     NUMBER (2)
    ,      col2     VARCHAR2 (2)
    ,      col3     VARCHAR2 (50)
    ORGANIZATION  EXTERNAL
    (       TYPE             ORACLE_LOADER
         DEFAULT DIRECTORY  XYZ_DIR
         ACCESS PARAMETERS  (
                                 RECORDS DELIMITED BY     NEWLINE
                          FIELDS  (   col1        POSITION (1:2)
                                      ,   col2        POSITION (3:4)
                               ,   col3        POSITION (5:54)
         LOCATION        ('fubar.txt')
    );where XYZ_DIR is the Oracle Directory on the database server's file system, and fubar.txt is the name of the file on that directory. Every day, when you get new data, just overwrite fubar.txt. Whenever you query the table, Oracle will read the file that's currently on that directory. You don't have to drop and re-create the table every day.
    Note that the way you specify the columns is similar to how you do it in SQL*Loader, but the SEQUENCE generator doesn't work in external files; use ROWNUM instead.
    Do you need to populate a table with the concatenated col3's, or do you just need to display them in a query?
    Either way, you can reference the external table the same way you would reference a regular, internal table.

  • Two physical logical source formulas for on logical column

    I have two fact tables :
    1. W_SERVICE_REQ_F(opened_dt_wid, assigned_dt_wid, closed_dt_wid, QUEUE_WID, SERVICE_REQ_WID): grain is one row per service request
    2. W_SERVICE_REQ_DAY_A(DATE_WID, QUEUE_WID, NUM_OPENED, NUM_CLOSED, num_assigned)
    The goal is to answer NUM_OPENED, NUM_CLOSED per queue in a day and be able to drill-down to those service requests.
    Physical model:
    Common_Date.row_wid = W_SERVICE_REQ_F (Opened_Dt).opened_dt_wid
    Common_Date.row_wid = W_SERVICE_REQ_F (Closed_Dt).closed_dt_wid
    Common_Date.row_wid = W_SERVICE_REQ_DAY_A.DATE_WID
    Queue_d.row_wid = W_SERVICE_REQ_F.QUEUE_WID
    Queue._drow_wid = W_SERVICE_REQ_DAY_A.QUEUE_WID
    Service_req_d.row_wid = W_SERVICE_REQ_F.SERVICE_REQ_WID. (there is no join between Queue_d and Service_req_d)
    BMM Fact and LTSs:
    I have W_SERVICE_REQ_DAY_A, W_SERVICE_REQ_F (Opened_Dt), W_SERVICE_REQ_F (Closed_Dt) as LTSs of "Fact - Service Request" in that order.
    BMM Fact logical columns (measures):
    # Closed
    # Opened
    Question:
    I want to configure each of the above logical column with two physical columns of different aggregate forumlas. (to ensure queries that dont need service req number hit a table) (similar to http://www.gerardnico.com/wiki/dat/obiee/fragmentationlevel_based).
    SUM(W_SERVICE_REQ_DAY_A.NUM_CLOSED)
    COUNT("W_SERVICE_REQ_F (Closed_Dt)".SERVICE_REQ_WID)
    Can someone help in configuring one logical column with two physical column sources with different aggregate formulas?
    This is what I tried:
    In # Opened Properites->Data Type, mapped it to both W_SERVICE_REQ_F (Closed_Dt).ROW_WID and W_SERVICE_REQ_DAY_A.NUM_CLOSED
    In # Opened Properties->Aggregation tab, selected 'Default aggregation rule' as Count Distinct. In the bottom, Logical table sources override as follows:
    W_SERVICE_REQ_DAY_A : SUM("Fact - Service Request"."# Closed")
    W_SERVICE_REQ_F : COUNT("Fact - Service Request"."# Closed")
    Should it be done in a different way?
    PS: OBIEE 10.1.3.4.
    added OBIEE version: Feb 3, 2012 4:40 PM

    I have two fact tables :
    1. W_SERVICE_REQ_F(opened_dt_wid, assigned_dt_wid, closed_dt_wid, QUEUE_WID, SERVICE_REQ_WID): grain is one row per service request
    2. W_SERVICE_REQ_DAY_A(DATE_WID, QUEUE_WID, NUM_OPENED, NUM_CLOSED, num_assigned)
    The goal is to answer NUM_OPENED, NUM_CLOSED per queue in a day and be able to drill-down to those service requests.
    Physical model:
    Common_Date.row_wid = W_SERVICE_REQ_F (Opened_Dt).opened_dt_wid
    Common_Date.row_wid = W_SERVICE_REQ_F (Closed_Dt).closed_dt_wid
    Common_Date.row_wid = W_SERVICE_REQ_DAY_A.DATE_WID
    Queue_d.row_wid = W_SERVICE_REQ_F.QUEUE_WID
    Queue._drow_wid = W_SERVICE_REQ_DAY_A.QUEUE_WID
    Service_req_d.row_wid = W_SERVICE_REQ_F.SERVICE_REQ_WID. (there is no join between Queue_d and Service_req_d)
    BMM Fact and LTSs:
    I have W_SERVICE_REQ_DAY_A, W_SERVICE_REQ_F (Opened_Dt), W_SERVICE_REQ_F (Closed_Dt) as LTSs of "Fact - Service Request" in that order.
    BMM Fact logical columns (measures):
    # Closed
    # Opened
    Question:
    I want to configure each of the above logical column with two physical columns of different aggregate forumlas. (to ensure queries that dont need service req number hit a table) (similar to http://www.gerardnico.com/wiki/dat/obiee/fragmentationlevel_based).
    SUM(W_SERVICE_REQ_DAY_A.NUM_CLOSED)
    COUNT("W_SERVICE_REQ_F (Closed_Dt)".SERVICE_REQ_WID)
    Can someone help in configuring one logical column with two physical column sources with different aggregate formulas?
    This is what I tried:
    In # Opened Properites->Data Type, mapped it to both W_SERVICE_REQ_F (Closed_Dt).ROW_WID and W_SERVICE_REQ_DAY_A.NUM_CLOSED
    In # Opened Properties->Aggregation tab, selected 'Default aggregation rule' as Count Distinct. In the bottom, Logical table sources override as follows:
    W_SERVICE_REQ_DAY_A : SUM("Fact - Service Request"."# Closed")
    W_SERVICE_REQ_F : COUNT("Fact - Service Request"."# Closed")
    Should it be done in a different way?
    PS: OBIEE 10.1.3.4.
    added OBIEE version: Feb 3, 2012 4:40 PM

  • Business Layer:Physical Column Mapping-Brackets are removed

    Hello,
    I use the expression builder to add a formula to the physical column mapping but every time I click OK the brackets are removed.
    Is this a bug?
    e.g. this:
    IFNULL("test".""."et"."V_W"."NUMBERS", 0) *
    IFNULL("test".""."et"."V_W"."WEIGHT", 0)
    +
    IFNULL("test".""."et"."V_WHT", 0) - IFNULL
    ("test".""."et"."V_W"."ULDT", 0)
    turns into:
    IFNULL("test".""."et"."V_W"."NUMBERS", 0) *
    IFNULL("test".""."et"."V_W"."WEIGHT", 0)
    +
    IFNULL("test".""."et"."V_WHT", 0) - IFNULL
    ("test".""."et"."V_W"."ULDT", 0)
    Hence the multiplication (ok the above is simplified) happens in the wrong order...

    Hi Metalray,
    This is expected behaviour, though I am not sure why. You can usually get round it by bracketing the other parts of the expression as well, or possily putting the whole thing in brackets. I don't believe there is hard and fast rule about what does work, but I know one can usually get round, you will just have to experiment, sorry.
    Regards
    Ed

  • Data contained in Logical Column w.r.t mapped columns

    Hi,
    A logical column (say A) of BMM layer is mapped to two different columns of separate tables (T1 and T2).
    What data will the column A (of BMM layer) contain (data corresponding to column of table T1 or T2) ?
    Regards

    Just bind the data in your data model, then display the table as usual. Here is an example.

  • Logical column using data source from 2 generations of same hierarchy

    Hi experts,
    I'm using Essbase as my data source in CEIM physical layer,
    and I have a hierarchy called "Entity" which contains different level of companies,
    in Generation 2 I have only one member called "group totals" and in Generation 3 are 5 members representing 5 different industries,
    I need to use these total 6 members as slider on the top of the view(a Dial),
    and the measure I want to show is scaled in rate, which I can't simply sum up those five members in Gen3 to get Gen2 measurement.
    I tried to create a logical column using Entity-default(the alias table) as datasource, it worked but was not sorted in outline style.
    I tried to sort them using calculate items in selection steps, but calculate items seemed cannot be shown as section or slider.
    So I wonder if I can simply create a logical column that sourced from different generations(in this case, my Gen2 and Gen3) of same hierarchy,
    is it possible to do such things?
    Thanks for reply.

    You could try General Database Discussions the main db foum.
    What are you using to migrate your database? Why is it being mapped from varchar2(8) to varchar2(32). It sounds like someone/something is intervening here.
    Barry

  • Problem logical column calculation

    Hi,
    I've a logical table with 2 datasources DS1 and DS2 with this definition
    DS1: Physical table TABLE_A, where condition: TABLE_A.A_YEAR = EXTRACT(YEAR FROM CURRENT_DATE)
    DS2: Physical table TABLE_A, where condition: TABLE_A.A_YEAR = EXTRACT(YEAR FROM CURRENT_DATE) - 1
    Columns:
    Field1: DS1.VAL1
    Field2: DS2.VAL1
    Field3 CASE WHEN EXTRACT(MONTH FROM CURRENT_DATE) > 11 THEN DS1.VAL1 ELSE DS2.VAL1
    Showing Field1 and Field2 in Answers is showing the correct value, but Field3 is always the value of DS1.VAL1.
    Having a look in the properties of the field, there's written for "Data Type derives from physical sources:" the following:
    "case when extract(month from DATE '2008-10-15') > 10 then sum(TABLE_A.VAL1) else sum(TABLE_A.VAL1) end"
    So there's nothing shown that my returned columns have different logical data sources ...
    What do I have to do to get the correct value.
    Thanks
    chrissy

    Hi user649490,
    this was only an example and so a typing error ...
    Because the month is extracted in condition I have to do it for all month ...
    Otherwise I shave found my error ... I copied datasource one and thought I unmapped all columns, mapped by first datasource. Having again a look into the column mapping I recognized, that the columns where double mapped by datasource 1 and 2. I changed this and it's working fine now ...
    So sorry for bothering you with my stupidness :-)
    chrissy

  • Query regarding using multiple physical sources

    Hi All,
    Facing an issue in fetching data from multiple physical sources in OBIEE,
    We have 2 facts tables on different databases, having same columns.
    How can we get results from both the tables in the presentation layer.
    I created one Logical Fact table, added both sources to it, but results are displayed only from logical source which i added first.
    OBIEE version:
    10.1.3
    OS Windows
    Thanks,
    Nik

    Hi Nikhil,
    If you have identical columns in both the sources, obiee will always choose only one LTS .To understand how to force multiple LTSs in query, check this thread:
    2 table sources in LTS but only 1 in query?
    Regards,
    Dpka

  • DIfference b/w expression builder logical column and derived logical column

    Hi Experts,
    Can anyone tellme the difference between expression builder (when we double click the logical column) of derived logical column and expression builder of logical column( we see this in column mapping of LTS) ??
    Thanks in advance.

    Hi,
    Formula given in the "expression builder of logical column( we see this in column mapping of LTS)" is performed on the physical layer of the RPD. I guess it is calculated in the Physical Query which is good for performance.
    Formula in the expression builder of derived column is calculated in the BMM layer i.e in the logical query.
    Regards,
    Amrutha.

  • OBIEE Comments in Column Mapping Formula

    Hi Gurus,
    I want to insert some comments in the formulas I wrote in the "Logical Column to Physical column mapping" but I'm not able to find out the right sintax to use.
    I'm on 11.1.1.3 OBIEE.
    Someone could help me?
    Thanks in advance
    Daniele

    Right there, you can't place any comments. You can use the Description text box under the General Tab.
    J.-

Maybe you are looking for

  • Network Cable Unplugged G5 it is

    I have a G5 2.0 GHz dual processor. I bought it used, no history. I installed Leopard Family pack 10.5, I used the combo update to make it 10.5.8. I have a linksys router and a cable modem. Everything works fine program wise, but I can not hook up to

  • Exit/BADI/Enhancement for Payroll driver

    Dear Friends, When we run transaction pc00_m10_calc for US payroll driver for an employee for a period,we can see the renumeration statement in the output screen. I need to modify the internal table xrt to add the similar wage types in one period bef

  • TS1702 I have the ipod touch 1st generation and my downloaded apps won't run. How do i get them to work?

    I have the ipod touch 1st generation and none of my downloaded apps will run. how do i get them to work? HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • Accesing SQL server from Oracle

    In Oracle and SQL Servers I'm Updating the data manually. But I want make it Automated Process(Updating required columns automatically) in SQL Server by using trigger during manual update in Oracle's table with respect to column . Is this possible? I

  • Illustrator cs3 in cs2

    Hi, I m new to illustrators. Is it possible to create a plugin/template in Illustrator cs2(xcode)? Or can we build and run the sample code from illustrator cs3 in illustrator cs2? Is this possible? Thanks in advance.