Obiee - physical layer

Hi,
I'm new to obiee tool.
my dimension table have composite primary keys (3 keys - suppose employee id, employee ssn, phone no)
and my fact table have (2 keys - employee id, employee ssn )
then, how do we do physical join in physical layer ?
Do, we need to create 2 alias tables and join to my fact table ?
or, else can i use expression builder in the physical diagram..physical join ?

Hi,
This is why you go for alias tables ..
To set up multiple tables, each with different keys, names, or joins, when a single data source table needs to serve in different semantic roles. Setting up alias tables in this case is a way to avoid triangular or circular joins.
For example, an order date and a shipping date in a fact table may both point to the same column in the time dimension data source table, but you should alias the dimension table so that each role is presented as a separately labeled alias table with a single join. These separate roles carry over into the business model, so that "Order Date" and "Ship Date" are part of two different logical dimensions. If a single logical query contains both columns, the physical query uses aliases in the SQL statement so that it can include both of them.
You can also use aliases to enable a data source table to play the role of both a fact table, and a dimension table that joins to another fact table (often called a "fan trap").
To include best practice naming conventions for physical table names. For example, you can prefix the alias table name with the table type (such as fact, dimension, or bridge), and leave the original physical table names as-is. Some organizations alias all physical tables to enforce best practice naming conventions. In this case, all mappings and joins are based on the alias tables rather than the original tables.
Now for creating joins you can make use of expression builder to have Primary Key and Foreign Key Relationships OR you can also have Complex Joins here over nonforeign key and primary key columns. When you create a complex join in the Physical layer, you specify the expression for the join. Like
Employee.employeeID=Fact.EmployeeId
and Dim table.deptname <> 'ABC'
You, can also have case statements here...
Hope this clears your funda regarding Alias Tables & Joins. Expression Builder is just the utility for developers to select the table, columns, expressions, variables and may other functions available.

Similar Messages

  • Joining tables across databases in OBIEE Physical Layer

    I was facing this problem of joining tables across databases in Physical layer of OBIEE admin tool.
    I had a requirement to combine two tables from 2 different databases A and B respectively. I had created one database object (OBIEE Object) in the physical layer and I had created two connection pools under that pointing to the required databases. I was able to view the data (right click on the table object --> popup menu option "View Data" ) though I had to go through the "Select connection Pool" window and select the required connection pool. I was able to join the tables and was able to complete the star schema in BMM and bring them up to the presentation layer. Conistency check was also successful. Everything went fine so far.
    But when I started building the report, I started getting error whenever I chose the table which was supposed to be queried by using the second connection pool. The error message was something like "table or view does not exist at OCI call OCIStmtExecute". I assume that this was happening because the systm was not able to understand which connection pool to choose (because there were two pools defined under one database object) and by default the server was choosing the first one. If anybody is having a different opinion or definite information about this, kindly update with your reply.
    I could resolve this problem after creating a separate database object with a separate connection pool defined under it, which points to the second database. Imported the required table under this database object. (Infact it was reverse. When I re-imported the table, OBIEE Admin tool, by default created its own database object and the connection pool separately for the imported table).
    Once this was done then I went ahead as usual by joining the tables across these two different database objects and modelling was already done (ofcourse with a little more tweaking since the mapping had to be redone between BMM and Physical layers). Now I could build the report in the reporting layer without encountering any error.
    Appreciate and welcome any further additions/updations/corrections regarding this issue(?).
    -MMishra.
    Edited by: user13483341 on Nov 29, 2011 8:20 AM
    Edited by: user13483341 on Nov 29, 2011 8:20 AM
    Edited by: user13483341 on Nov 29, 2011 8:24 AM

    Hi Deepak, Thanks for your reply.
    Appreciate if you can help me with another thread "possibility of multi-currency in OBIA 7.9.6.2 financial anlytics".
    - MMishra.

  • 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

  • Creating views in Physical Layer of OBIEE Administration Tool

    Hello,
    I am doing a proof of concept of creating an OBIEE repository using the Administration Tool to make a model for an in house sandbox OLTP system. Because this POC isn't using a warehouse that is built nicely with everything I need, I am having to import the OLTP tables into the Physical Layer and then create a few extra views (by creating a new physical table object and selecting "Table Type: Select") to add some new columns I will need.
    My problem is that once I have created two views 'ViewA' and 'ViewB', I want to then create a third view 'ViewC' that is the union of 'ViewA' and 'ViewB'. But when I create ViewC from these two views and try to then update row count or view data in newly created ViewC, I get an error message of the effect:
    Message 208: Invalid object name 'DBO.ViewA'
    Message 208: Invalid object name 'DBO.ViewB'
    When I try and create ViewC with DBO.OriginalTableA and DBO.OriginalTableB, however, it works just fine. And I am also able to successfully update row count and view data in ViewA and ViewB independently. So it seems to me like a view initialization problem when trying to have ViewC be created from A and B.
    Am I trying to do something that is not allowed in the Physical Layer of the BI Admin Tool? I would think that I should be able to work with views just like actual physical tables from my OLTP. Maybe not.
    Any help or insight would be greatly appreciated. Many thanks.

    Hi Hammett81 ,
    I think, I have given configured connection pool correct. (following Oracle guidelines: 'In the Connection Pool dialog box, on the General tab, verify that the call interface is set to Default (OCI 10g) and change the data source name to the appropriate tnsnames.ora entry ( ORCL in this example). Please note that this is the TNS service name, not the ODBC DSN. ' )
    I tried to give ODBC DSN (SH) as call interface, which resulted in an Error dialogue, implying, previous configuration was correct.
    So, I reverted back.
    Regards,
    Deeba

  • Not able to update row count in Physical Layer..connection failed in OBIEE 11g

    Hi Guys,
    I am not able to do Update Row count in the Physical Layer, i am getting an error The Connection has failed. This is in OBIEE 11g Linux env.
    I have put the tnsnames.ora file in the below path:
    /*****/pkgs/linux/intel/OBIEE_DIT/MW_HOME/Oracle_BI1/network/admin/
    I do not have admin under
    /****/pkgs/linux/intel/OBIEE_DIT/MW_HOME/oracle_common/network/
    But if i put the whole TNS entry in the Data Source Name i am able to connect:
    (DESCRIPTION =(ADDRESS = (PROTOCOL= TCP) (HOST= xxx.xxx.com) (PORT= 1671))(CONNECT_DATA = (SERVICE_NAME = US1OBIEE)))
    I am not able to understand the issue..
    Thanks,
    Amit

    Looks like rpd is looking for local tns config... try to use as hostname:port/ServiceName
    This should work, just in case not working! stop doing so since it is know issue.
    If helps mark

  • How to use BETWEEN Operator in physical layer in OBIEE 11g

    Hi Experts,
    How do I do the BETWEEN Operator functionality in Physical layer if my requirements is like this?
    TABLE_1.COLUMN_1 = TABLE_2 is between COLUMN_2 and COLUMN_3
    Below is the syntax for BETWEEN Operator function when I am trying to insert them.
    <<expression>> BETWEEN <<Upper Bound>> AND <<Lower Bound>>
    Thanks,
    Edited by: OBIEE/BIP Forumer on Nov 3, 2012 11:37 PM

    Below is an example diagram, as you can see, FACT TABLE have a join (an arrow one) towards TABLE_1 and TABLE_3. AS for the TABLE_3, this table is the one which I implement with the BETWEEN Operators function in Physical Layer. Also, the arrow in FACT TABLE and TABLE_3 is a red one with no arrow head line.
    TABLE_2
    ^
    l
    l
    l
    FACT TABLE ---------> TABLE_1
    l
    l
    l
    TABLE_3
    Edited by: OBIEE/BIP Forumer on Nov 4, 2012 2:33 AM

  • Physical layer design in obiee 11g

    Hi,
    I need a clarification regarding physical layer degin in obiee 11g,I imported Oracle Apps reports ,but could not find any keys there at table level.So should i create keys on the imported table level or at the alias level of the imported tables.
    Thanks-Bhaskar

    If you import a transaction table you may have keys imported in physical layer but when you going with warehouse table you may not have keys at database level, you define them using join in physical layer.
    We have surrogate keys in dwh.
    Hope this clear your doubt, if helps pls mark

  • OBIEE Administrator: bug in Physical Layer import fo Sybase IQ?

    Hi!
    In OBIEE Administrator, in the Physical Layer, I defined a Database Object (as a Syabase IQ 12.7) and its connection pool for a Sybase IQ 12.6 Database. I created the ODBC driver (for Sybase IQ 12.5 and also tried with IQ 12.7 drivers) in Windows and used it in the connection pool.
    When I use the Import functionality, to read the tables and columns, it works fine...apparently. At least, the Physical Layer appears filled with all the tables I selected. But the "+" sign (which denotes that the table has columns, right?) appears only for some tables. And when expand those tables, the columns appear. However, for those tables (and any other table) when I right-click and select either Update Row Count or View Data, OBIEE Administrator shows an error message saying that the table does not exist:
    [nQSError: 16001] ODBC Error state: S0002 code: -141 message: [Sybase][ODBC Driver][Adaptive Server IQ]Table 'EVENTS' not found.
    If I edit the table properties in the Physical Layer and prefix its name with the schema name (ex.: instead of "EVENTS" I rename it to "rpt.EVENTS') it works fine...
    But I only have this problem for these table of Sybase IQ. I imported tables from an SQL Server 200 database, and all works fine: a "+" sign for all tables, I select view data and it returns results, etc.
    HELP!!!!
    Thanks.

    hi!
    Problem solved. Here is the solution:
    - You want to access a Sybase IQ 12.6 database through ODBC, in Oracle BI Administrator, in the Physical Layer, in order to import tabes and columns and keys and etc, don't user neither Sybase IQ ODBC driver version 12.5 nor version 12.7. Use version 12.6! :)

  • OBIEE | Using Dynamic Session Variable in Physical Layer

    Hi All,
    Any idea if we can use Dynamic Session Variables (I think they are also called Repository Variables) in our physical layer. I basically need to set the value of this variable from dashboard when a link is clicked, and then use this in my SELECT query at physical layer so that OBIEE does not pull all the data from the database tables.
    Regards
    Adeel Javed
    Edited by: user10642426 on Apr 6, 2009 2:03 AM

    Christian,
    Thanks for the quick response, ok we have actually moved to a different solution now, we are actually using Direct Database Request because one of our reports is supposed to be accessing direct transactional system i.e. for this report we are using OBIEE as a reporting tool. We are able to do that and even create links between different reports i.e. based on prompt in Report A filter Report B, but the scenario now is that we need to set a presentation variable from Report A when a navigation link gets clicked, because so far according to our knowledge direct SQL only allows presentation variables in its WHERE clause. So, any ideas how can we set a presentation variable when a navigation link is clicked. Thanks.
    Regards
    Adeel Javed
    Edited by: adeeljaved on Apr 6, 2009 11:43 PM

  • OBIEE RPD Descriptions in Physical Layer

    Is there anyway to auto-populate the Descriptions in the Physical Layer of the RPD. For example. all the Physical Tables and Columns allow for Descriptions. We'd like to keep these descriptions synced with what we have in our DB/ETL platforms. I don't think you could use variables with this option but didn't know of any way that may allow us to automatically push the descriptions into the RPD.
    The Presentation Layer has the Externalize Strings which is a great option on that side, however, anyone know of an applicable feature for the Physical Layer object descriptions?

    Dont think there is an option to import comments directly, nqudmlgen / XMLAPI approach is the best way. repeatable process may help to update description periodically
    hope this helps..
    Edited by: Kasyap on Mar 23, 2013 4:11 PM

  • OBIEE 11g - complex join in physical layer

    Hi, I need to create a complex join in the physical layer with join criteria like the following:
    fact.fiscal_year = dim.fiscal_year and fact.accounting_period <= dim.accounting_period
    Every time I try to do this, I get the nQSError: 37005 Transaction Update Failed message. Any ideas what is going on?
    Thanks,
    Scott

    Actually, I (finally) got it to work - wow logical joins are a big pain in the butt in 11g. First off, I had to edit the RPD offline, couldn't get it to work (at all) online.
    Next I had to delete the existing joins...there appears to be no way to change an existing FK join into a logical join.
    Next created the logical joins as stated in my original post - but had to fiddle with it for about 15 minutes to get it to work. You can NOT click the two columns on the dim side, two columns on the fact side, and then just edit the default formula (which defaults to have = sign between the expressions) - because it creates a FK join, and then you start getting errors. Instead, I had to build the expression from scratch.
    All in all, 11g has gotten much less flexible and easy to use in this regard.
    Scott

  • OBIEE 11g: Physical Layer acting as level of abstraction against ddl change

    Does anyone know of a way to insulate the RPD physical layer from DDL changes on the database. So, for instance a column name changes. Currently we use physical views (PVs) to provide a layer of abstraction but want to see if there is another solution. If the database team changes the name of a column, we want it to be seemless and not require changes within the RPD. There is the physical update in the utility box but this is manual so would not be a solution unless it could be automated. Any ideas on how to handle would be appreciated.
    Thanks,

    I don't think so there is any utility which captures the column name changes as such.
    However you can do these things if your modelling comprises of views or Mviews.
    You can ask your DBA to change the actual table column names but not Mviews or Views name.
    In your view query you always use alias for each of the column in that way you can retain view columns even if base table column changes.
    How ever you should change your view as and when your column name changes..
    Please mark helpful or correct if it answers your question.
    Regards,
    Veeresh Rayan

  • Unable to view data in Physical layer of RPD

    I have OBIEE installed on my local machine using Oracle 10g as the database installed on a remote machine. I am able to create the DSN and test the connection pool on my local machine.
    The Call interface is OCI 10g in the connection pool. I am able to import tables into the database in the Physical layer of the repository but when I try to VIEW Data in the physical layer, it throws me an error stating,
    ORA-12514: TNS:listener does not currently know of service requested in connect descriptor at OCI call OCILogon.
    nQsError: 17014 Could not connect to Oracle Database.
    I have oracle 10g client installed on my local machine. I am able to view the tables and the data from SQL PLus. In OBIEE i am able to import tables but cannot view data.
    Any suggestions on what could be causing this?

    Sounds like one of my common issues. After you do the import, go back and check the connection pool. What I typically run into is that it has switched to the OCI connection rather than the ODBC connection used for the import, but it is still using the name of the ODBC DSN that was used for the import. Change it to the TNS name or the host:port/service and try again.
    Rgds/Mark M

  • How to define join in physical layer between cube and relational table

    Hi
    I have a aggregated data in essbase cube. I want to supplement the information in the cube with data from relational source.
    I read article http://community.altiusconsulting.com/blogs/altiustechblog/archive/2008/10/24/are-essbase-and-oracle-bi-enterprise-edition-obiee-a-match-made-in-heaven.aspx which describes how to do it.
    From this article I gather that I have to define a complex join between the cube imported from essbase to my relational table in physical layer.
    But when I use Join Manager I am only able to define jooin between tables from relation source but not with the imported cube.
    In My case I am trying to join risk dimension in the cube based on risk_type_code (Gen3 member) with risk_type_code in relation table dt_risk_type.
    How can I create this join?
    Regards
    Dhwaj

    Hi
    This has worked the BI server has joined the member from the oracle database to cube. So Now for risk type id defined in the cube I can view the risk type code and risk type name from the relational db.
    But now if I want to find aggregated risk amount against a risk type id it brings back nothing. If I remove the join in the logical model then I get correct values. Is there a way by which I can combine phsical cube with relational model and still get the aggregated values in the cube?
    I have changed the column risk amount to be sum in place of aggr_external both in logical and phsical model.
    Regards,
    Dhwaj

  • Issue adding a new column to OBIEE presentation layer

    Hi,
    I am pretty new to OBIEE so this may be a silly question. I am facing some problems trying to add a new column from a physical table the OBIEE presentation layer.
    Below are the steps I followed:
    Task: add a product category set to the presentation layer.
    Steps:
    1) First verified that the product category set is being populated in the W_PROD_CAT_DH table in the datawarehouse. this was done by running the following sql
    SELECT W_PROD_CAT_DH.TOP_LVL_PRODCAT_NAME
    FROM W_PROD_CAT_DH, W_INVENTORY_PRODUCT_D
    WHERE W_PROD_CAT_DH.integration_id = W_INVENTORY_PRODUCT_D.INV_PROD_CAT1
    This sql gave the right category value.
    2) created a "Alias" of the table W_PROD_CAT_DH in the OBIEE Admin tool physical layer. (done by right clicking W_PROD_CAT_DH >>New Object>> Alias)
    3) named the Alias of W_PROD_CAT_DH as "Dim_W_INV_MKT_CAT" and created a key of the alias named "integration id" on the column "integration_id"
    4) opened the pre-existing alias of W_INVENTORY_PRODUCT_D the alias was called "Dim_W_INVENTORY_PRODUCT_D" and added a key called "MKT_CAT" on the column "INV_PROD_CAT1" in this alias (Dim_W_INVENTORY_PRODUCT_D of the table W_INVENTORY_PRODUCT_D)
    5) in the alias of the "W_INVENTORY_PRODUCT_D" called "Dim_W_INVENTORY_PRODUCT_D" added a "Foreign Keys" the expression of the key is following: ("Oracle Data Warehouse"."Catalog"."dbo"."Dim_W_INV_MKT_CAT"."INTEGRATION_ID" = "Oracle Data Warehouse"."Catalog"."dbo"."Dim_W_INVENTORY_PRODUCT_D"."INV_PROD_CAT1")
    Logical layer
    6) Opened the existing logical folder called "Dim - Inventory Product" and clicked on "Sources" tab then double clicked the source "Dim_W_INVENTORY_PRODUCT_D" and added a new mapping under "Map to these tables" under "General" tab. The column that was added was the physical alias "Dim_W_INV_MKT_CAT"
    7) added a new column mapping to the same logical table source (Dim_W_Inventory_PRODUCT_D) this new mapping was a column from the alias "Dim_W_INV_MKT_CAT" (column name "TOP_LVL_PRODCAT_NAME")
    Presentation Layer
    8) dragged the newly added column (TOP_LVL_PRODCAT_NAME) from the logical layer "Dim - Inventory Product" to the presentation layer "Product" folder.
    ISSUE
    after adding everything and checking global consistency and save and checking-in my work when i login from the front end presentation services. I see the newly added column is showing under the "Product" folder. on dragging the column by itself to the Ad-Hoc analysis I can see the different values of the category. On adding a second column from the same logical folder (Dim - Inventory Product in logical layer) i still see the right product name and corresponding category. BUT when I drag any other column from any other folder (such as "Day" from "Time" or any fact values) the result does not fetch any data (message: The specified criteria didn't result in any data.)
    I am not sure if I am missing any step but I know I am mapping the new table alias to the inventory_product_d since i see right results on creating analysis of columns in those two folders. but no other folders give me any data.
    I also know that the logical folder "Dim - Inventory Product" is joined with other tables as I can see results when i do not add the newly added catagory column but other folder and other columns of "Dim - Inventory Product"
    I would really appreciate any insight to this very much. we are using OBIEE 11.1.1.6 with the Oracle 11.5.10 Adaptor (SDE_ORA11510_Adopter)
    I will try to upload some screenshots if needed but presently not sure if its something really simple.

    Hi Prassu,
    thanks for the responce. and Apologies for the delay in getting back to you.
    1) 1.First of all set the logging level to 3 in the admin tool save it.
    You can get the SQL query from here
    settings(Answers right top)-->Administration-->manage sessions-->view log
    When I try to do this I get the following message. and no log files.
    Error
         Log Could Not Be Retrieved
    Odbc driver returned an error (SQLExecDirectW).
    Error Details
    Error Codes: OPR4ONWY:U9IM8TAC
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 27002] Near <3790667783>: Syntax error [nQSError: 26012] . (HY000)

Maybe you are looking for

  • A battery error has occured, the battery cannot be charged, replace the battery

    I have a T61, bought 10/07.  I got this message out of the blue after i unplugged my laptop and it shut itself off.  Only turns back on when plugged in.  The orange battery light is flashing despite it saying the battery is fully charged, i called le

  • IWAY Adapter(siebel): Error while using Applicaiton Explorer

    Hi, I tried configuring iway adapter(Siebel) for XI to connect to Siebel system. <b>Steps followed</b> Deployed iWay Connector for XI, JCA TestTool and Deployed Application Explorer. Configured iWay business service engine (File Repository). When I u

  • Switched to Verizon from US Cellular- text issues

    I just switched from US Cellular to Verizon on 6/25/14. Kept my same number but got a new phone and now can't receive text from US Cellular customers. My two boys also switched and got new I phones, they get their texts on their old phones yet. They

  • Payments to Vendors Ageing Report query

    Hi - Require a report that for each vendor, calculates the total payments made to them but split into aged columns. Example is  total payments made to the vendor in the last month, in the last 3 months, 6 months, 9 months and the last year. There see

  • Pages freezing, losing work?

    Recently, Pages has been freezing on me frequently.  That might be annoying, but shouldn't be a big deal, I go back to the home menu, double click to get the active applications, close pages, and then restart the app.  But, the last couple of times i