Oracle 11 RPD: Create 2 Logical Tables Based on 1 Physical Table

Hello,
I have a date dimension table in the physical layer. From that I need to create 2 date dimension tables in the BMM layer. One is for order date and the other is for shipped date. There is a ship_date_key and an order_date_key in my fact table that I'm trying to use as my foreign key.  Seems I can create a joined ship date logical table or a joined order date logical table but not both.
Very new to OBI Admin tool.  Any help would be greatly appreciated.

If you create only one alias from Date dimension in Physical Layer then you can get only one data either Ship Date or Order date details.
The data from Date dimension gets retrieved on the basis of the Join i.e on which key it was joined to the Fact.
To solve the above ambiguity you should create two separate alias tables in physical layer, hence you will have two logical tables in BMM Layer
Create Dim_Ship_Date and Dim_Order_Date from Date dimension.
And now, you can join the fact with these two aliases on different keys. This practice is usually followed.
If found useful mark the answer
Srikanth

Similar Messages

  • How to create an ODS based on a particular table

    Can Anybody tell me how to create an ODS based on a particular table and what are the basic requirements for that

    Hi Priya,
    If my understanding is right, you want to create an ODS based on a database table.
    Here, I will assume that you already know how to create an ODS. Otherwise, do let me know so that I can guide you on how to do it.
    Basically, an ODS consists of two important sections i.e.
    1. Key Fields
    2. Data Fields
    First, we must identify what are the field(s) in the table that make its records unique. You can think of this as database's primary key(s) e.g. Document Number. These field(s) must be inserted in ODS' Key Fields section. You can only insert Characteristics in Key Fields and the InfoObjects in this section will uniquely identify an ODS record or line item.
    Next, you can include the rest of the fields (either Characteristics and Key Figures) in ODS' Data Fields and activate the ODS.
    Having done that, you have already successfully create an ODS based on a database table.
    Hope that helps.
    Best wishes,
    Syuhair.

  • How to Create a Validation based on a Z table

    I want to create a validation for t-code FB50 so that for any line item that contains a GL Account listed in a table, the validation would then check to see if the field Trading Partner is populated.
    My question is How do I set up the validation so that the values in the table are referenced?  I don't want to have to continually update the valid GL accounts in a set. I want the table to hold the values.  The business users have a custom t-code to update the values in the Z table.
    The Z table contains the field HKONT (GL Account).  The table contains 1 record (it could contain more) with GL Account 123456.
    My attempt was to create a set (Z_TP_ACCTS) that was based on the Z table and the corresponding field.  I then set up my validation to compare the value entered in FB50 (BSEG-HKONT) to look at the set.  My understanding is that the value would be compared to the values in the table, but my tests are failing.  I did not enter any values in the set.
    Any advice / help would be appreciated.

    Hi
    You will have to use an user exit to call up the Z Table to check for your requirement. There are lot of postings on SDN to use an user exit in FI Validations. The standard module pool provided by SAP is RGGBR000 for FI Validations. You can write a form in this.
    Additionally you also have the option of using a BTE for this. The one I can recollect are 00001011 or 00001085
    Thanks & Regards
    Sanil Bhandari

  • How to create a Form based on a dynamic table?

    Hello,
    The Select statement below creates a table based on a string (string is a value of an item):
    select * from table (pkg_util.fn_get_table (:P18_VALUE))I need to create a region on a page with a Form based on this table.
    I was able to create a Report, but not a Form.
    I need to create a Form, which would return updated string to the page item.
    How can I solve this please?

    Hello Gentlemen,
    I have created a Tabular Form, based on APEX_ITEM API, as you suggested, here is the code below:
    SELECT apex_item.checkbox (30,
                               CATALOG_ID,
                               'onclick="highlight_row(this,' || ROWNUM || ')"',
                               NULL,
                               'f30_' || LPAD (ROWNUM, 4, '0')
                              ) delete_checkbox,
           CATALOG_ID,
              apex_item.hidden (31, CATALOG_ID)
           || apex_item.text (32,
                              LANG,
                              80,
                              100,
                              'style="width:100px"',
                              'f32_' || LPAD (ROWNUM, 4, '0')
           || apex_item.hidden (33, wwv_flow_item.md5 (LANG, DESCRIPTION)) LANG,
           apex_item.text (34,
                           DESCRIPTION,
                           80,
                           100,
                           'style="width:255px"',
                           'f34_' || LPAD (ROWNUM, 4, '0')
                          ) DESCRIPTION
      FROM V_SYSTEM_CATALOGS_PR
    UNION ALL
    SELECT     apex_item.checkbox
                              (30,
                               TO_NUMBER(9900 + LEVEL),
                               'onclick="highlight_row(this,' || ROWNUM || ')"',
                               NULL,
                               'f30_' || TO_NUMBER (9900 + LEVEL)
                              ) delete_checkbox,
               NULL,
                  apex_item.hidden (31, NULL)
               || apex_item.text (32,
                                  NULL,
                                  80,
                                  100,
                                  'style="width:100px"',
                                  'f32_' || TO_NUMBER (9900 + LEVEL)
               || apex_item.hidden (33, NULL) LANG,
               apex_item.text
                                               (34,
                                                NULL,
                                                80,
                                                100,
                                                'style="width:255px" '  ,
                                                'f34_'
                                                || TO_NUMBER (9900 + LEVEL)
                                               ) DESCRIPTION
          FROM DUAL
         WHERE :P180_TEMP = 'ADD_ROWS1'
    CONNECT BY LEVEL <= 1however, the update process doe not work on that form:
    DECLARE
      lc_string VARCHAR2(4000);
    BEGIN
      FOR i IN 1..APEX_APPLICATION.G_f*30*.COUNT
      LOOP
          lc_string := lc_string|| '[' ||APEX_APPLICATION.G_f*32*(i) || '|' || APEX_APPLICATION.G_f*34*(i) || ']';
      END LOOP;
      --Database processing using the concatenated string here
    END;Can you please see what's wrong with the code?
    Also, I tried to set a temp. item with the value, to see if the process returns something, like that:
    DECLARE
      lc_string VARCHAR2(4000);
    BEGIN
      FOR i IN 1..APEX_APPLICATION.G_f*30*.COUNT
      LOOP
          lc_string := lc_string|| '[' ||APEX_APPLICATION.G_f*32*(i) || '|' || APEX_APPLICATION.G_f*34*(i) || ']';
      END LOOP;
         :p18_temp := lc_string;
    END;and it did not work.
    Also, it is the second Tabular Form on this page. The first one is created using wizard, and it works perfect, with the same update process:
    DECLARE
      lc_string VARCHAR2(4000);
    BEGIN
      FOR i IN 1..APEX_APPLICATION.G_f*01*.COUNT
      LOOP
          lc_string := lc_string|| '[' ||APEX_APPLICATION.G_f*03*(i) || '|' || APEX_APPLICATION.G_f*04*(i) || ']';
      END LOOP;
      --Database processing using the concatenated string here
    END;Also, both forms are opening in a modal pop-up dialog window.
    I use a Dialog Region plug-in for that.
    May be this is causing a problem?
    But still, the first form works fine!?

  • APEX  How do I create a Form based on a Database Table from other schema

    My APEX schema is WISEXP. I have a database table that resides in WISDW schema on the same database. I want to create Tabular form based on this table.
    I am not able to create a FORM based on the table from WISDW schema. I am able to create a FORM based on SQL though from this table in WISDW schema - but it does not do any action on Update/Insert rows.
    Appropriate Synonyms and grants are created. Is there a limitation or am I missing something? Please advise.
    thanks
    Rupen

    If Rupen is using 2.2 or 2.2.1, it is likely he is running into the bug described here: Re: Workspace to Schema Assignments
    In that case, it may be a necessary and sufficient workaround to assign the foreign schema to the workspace.
    Scott
    Message was edited by:
    sspadafo

  • Creating logical/virtual connection object  from physical connection

    Can anybody help me what is creating logical/virtual connection object and how to create it from physical connection in java ??
    Thanks in advance...

    WHile you are waiting for an answer, you might want to review the related Oracle documentation:
    For 10g, all docco is at http://www.oracle.com/pls/db102/portal.portal_db?selected=3 and docco I suspect will help you is "Java Developer's Guide" and "JDBC Developer's Guide and Reference"

  • How to update standard table based on the custom table

    Hi,
    I have requirement , I have custom table whatever changes done to the custom table must be updated in the standard table
    i have tried the table maintenance events but unable to handle delimit , what is the base solution for this.
    1) create
    2) change
    3) delimit
    4) delete
    6)copy

    the table im updating is t710
    the custom table is same as the standard table except for one field . whatever the user maintains the values in custom table except for the one field everything should update back to the standard table. Im able to update when we create delele but the problem is delimition. when im delimiting the record in custom table its just changing the startdate and it is not actually delimiting the record itself .I want both records the latest one and previous one and should be update back into the standard table same as the custom table

  • 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

  • Data Source created by Infoset based in two joined tables

    Hi Forum,
    I want to do a segmentation in the Segment Builder based in a attribute list.
    The tablas i join are: BUT000 and ADRC. Everything is ok when the infoset is created and generated.
    Well, the next step i do is create the DATA SOURCE. When i edit source data  i fill these fields:
    Origin type --> 03 Infoset
    Name of Infoset --> ZINFOSET
    BP --> BUT000-PARTNER
    FM --> ZCONVERSION_MKT (this function convert the guid of my partners in a marketing guid, it works because the segmentation based in a infoset with a table works)
    Sampling Infoset --> ZINFOSET
    Sample --> BUT000-PARTNER
    Object --> BUT000-PARTNER_GUID ¿?¿?¿?¿?¿
    Partner Function --> Empty
    Description --> my description
    So, when i save this data...appears an error with this description:
    Techn. Name (BUT000) of InfoSets "ZDEF2" is not transparent table
    with this diagnosis:
    Each InfoSet in the IObject scenario must have a unique transparent retraction table assigned to it
    I need a object field, but i dont know what field choose...in the Segment Builder i choose the list and i create a few filter to try some queries but i doesnt work.
    Any suggestion or idea¿? or example?
    Regards,
    Mon
    Edited by:
    Mon

    Hi!
    It's solved. The mistake was on the connection of the tables:
    BUT000 - BUT020 - ADRC
    Thanks and regards,
    Mon

  • Create Materialized View  based on another database table using db link?

    SQL> SELECT sysdate
    2 FROM [email protected] ;
    SYSDATE
    21-NOV-12
    SQL> CREATE MATERIALIZED VIEW USERCBR.V_T24_COUNTRY1
    2 REFRESH COMPLETE
    3 START WITH SYSDATE NEXT SYSDATE + (5/24)
    4 AS
    5 SELECT sysdate
    6 FROM [email protected] ;
    CREATE MATERIALIZED VIEW USERCBR.V_T24_COUNTRY1
    ERROR at line 1:
    ORA-04052: error occurred when looking up remote object [email protected]
    ORA-00600: internal error code, arguments: [ORA-00600: internal error code,
    arguments: [qksfroFXTStatsLoc() - unknown KQFOPT type!], [0], [], [], [], [],
    ORA-02063: preceding line from CBRLINK

    It works for me:orcl>
    orcl> CREATE MATERIALIZED VIEW scott.V_T24_COUNTRY1
      2  REFRESH COMPLETE
      3  START WITH SYSDATE NEXT SYSDATE + (5/24)
      4  AS
      5  SELECT sysdate
      6  FROM [email protected] ;
    Materialized view created.
    orcl> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for 32-bit Windows: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    orcl>so there is no problem with the code. HTH.

  • Create another table based on data from table above

    Hi all am using EJB 3.0 as technology.
    I have a table where user insert records.
    The field are as below
    TableId, projectId, TaskId, TOdate, duration, comments.
    I need to traverse this table and create another table that will display duration perday.
    for example
    Monday Tuesday Wednesday Thursday Friday
    6hr 8hr 7hr 8hr 9hr
    Thank you for your help regards
    Lutchumaya

    How-to information added to the example page.
    I experimented (not altogether to my satisfaction) with APEX 4.0 sub-regions which won't be usable anywhere else at present, so haven't said anything about region layout. In earlier versions you could use 2 or 3 regions with suitable choices of region templates according to your preference.

  • Sort Internal table based on another internal table

    Hello All,
    My Requirement is :
    I have two internal tables itab1 and itab2. itab1 has partner_number along with some more fields/columns. Based on the partner_numbers of the itab1 i write a query to get the values for partner_last_name and central_block_flag from the table but000 and i fill these values into a new itab2.
    Sort itab2 by partner_last_name and central_block.
    Now how do I sort itab1 based on the sorted itab2-partner_number. I need to have itab1 sorted similar to the order in the itab2.
    How do i do this?
    Please let me know if you need more details.Looking forward for your support.
    Regards,
    Harish P M

    Hello Micky,
    Thank you for your early reply.
    I have this scenario wherein i need to sort a existing internal table itab1 of type 'bapibus1006_relations' based on the 'Partner last name ' and 'Inactive/Active Flag'. These two fields are not available in this itab1 and so i need to create itab2 after a query on table but000.
    Sorting itab2 is , first sort itab2 based on the 'Active flag' and then sort this itab2 again by 'Partner last name'(ascending order).
    Finally when i get my sorted itab2 i would have to ensure that my objective of sorting itab1 is obtained.
    I guess i sound better now.
    Would be helpful if you could reply.
    Regards,
    Harish P M

  • Find missing values in third table based on two other tables

    Hi- I have tried to do this on my own but the answer eludes me. Can someone please point me in a better direction? We have a table project_categories with project_IDs and related project category_IDs. We have another table contact_categories with contact_IDs and related contact category_IDs. We use these two tables to link contacts to projects by at least one category_ID. It works well for email notifications. We have a third table for "planholders" who are interested in particular projects. The planholder table has contact_IDs and related project_IDs. I want to find contacts who have expressed interest in a project, by inserting a row in the planholder table, but they have not selected any of the project categories in contact categories. This would be an unusually rare exception, so to test it I added myself as a contact 100010 and as a project "planholder", but deliberately did not select any of the related project categories in contact categories.
    select ph.contact_id, ph.project_id, pc.category_id, cc.category_id
    from purchasing_planholder ph, purchasing_project_categories pc, purchasing_contact_categories cc
    where ph.project_id=pc.project_id
    and ph.contact_id=cc.contact_id
    and ph.contact_id||ph.project_id||cc.category_id
    not in (select ph.contact_id||pc.project_id||pc.category_id
    from purchasing_planholder ph, purchasing_project_categories pc, purchasing_contact_categories cc
    where ph.project_id=pc.project_id
    and ph.contact_id=cc.contact_id)
    and ph.contact_id=100010
    This gives me every category for the test contact and every category for the project. I want to find contacts in the planholder table who have not selected any of the categories related to the specific project they selected in the planholder table. I tried minus, outer joins, etc. Does this require PL/SQL and a temp table, or can I find the exceptions with a report? Or do I need a different approach? The ideal answer would display one row with the contact_ID and the project_ID, where the contact has not selected any of the project categories. This would be used to alert them that they need to select at least one of the project categories on the contact form. Thanks for any feedback.
    Peter
    CONTACT_ID PROJECT_ID CATEGORY_ID CATEGORY_ID
    100010 701 1 19
    100010 701 1 18
    100010 701 16 19
    100010 701 16 18
    100010 701 21 19
    100010 701 21 18
    100010 701 24 19
    100010 701 24 18
    8 rows selected

    Hi User,
    When you Post a Question in Forum, Please be clear of the Inputs to be given, the expected output and the tries you made,
    the errors/results you faced.
    Also, see this link of BluShadow.
    SQL and PL/SQL FAQ
    Please enclose the query or programs in code tags for a formatted code.
    Just Try something like this,
    SELECT *
      FROM emp c
    WHERE NOT EXISTS (SELECT *
                         FROM emp a
                        WHERE EXISTS (SELECT *
                                        FROM emp b
                                       WHERE a.empno = b.empno));In the Inner Query, the conditon checked is empno same in both the tables, and for example some rows are obtained, other than
    this rows all other results are obtained from the outer query.
    In the above case no rows are returned.
    Thanks,
    Shankar

  • Creating multiple tables based on existing tables

    Hi,
    I have to create 60 tables based on existing 60 tables. Instead of creating one by one how can I create all 60 at once.
    The current 60 tables are named FY11_ACC1, FY11_ACC2, FY11_SALES1, FY11_SALES2 ...... , but all 60 tables start with FY11. I need to create the same structured tables but with FY12 names like FY12_ACC1, FY12_ACC2, FY12_SALES1, FY12_SALES2 .....
    Currently I am using "create table FY12_ACC1 as select * from FY11_ACC1 where 1=0". Is there a way I can write all of them in one query?
    Thanks for your time and help.

    ssk1974 wrote:
    Hi,
    I have to create 60 tables based on existing 60 tables. Instead of creating one by one how can I create all 60 at once.
    The current 60 tables are named FY11_ACC1, FY11_ACC2, FY11_SALES1, FY11_SALES2 ...... , but all 60 tables start with FY11. I need to create the same structured tables but with FY12 names like FY12_ACC1, FY12_ACC2, FY12_SALES1, FY12_SALES2 .....
    Currently I am using "create table FY12_ACC1 as select * from FY11_ACC1 where 1=0". Is there a way I can write all of them in one query?
    Thanks for your time and help.Well, i'm assuming FY = Fiscal Year and 11 = 2011 and then ACC1 = Account #1.
    From the sounds of things, your design isn't likely "correct'.
    If you'd care to delve in to the requirements a little bit ... what you have and what you need (business speak wise) there are no shortage of experts here that i'm sure would be happy to help you.
    If you're stuck with what you've got (or don't care to change your 'design') and all you care about is achieving that please disregard this message.

  • 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.

Maybe you are looking for

  • Html content download as text file

    In PL/SQL region, i get the result set like this <shesh> <deepak> <date> venkat sekar shanmuga when i try to export it as txt format, I get value like this "venkat" "sekar" "shanmuga" I get the values for <shesh>,<deepak>,<date> as double quotes only

  • How to mute volume in i pad

    how to mute volume in ipad

  • Adobe forms :Layout

    Hi Gurus, I am using Adobe forms for the first time. My requrement is to adjust Adobe form layout. Ihave changed the width of Daat field and compliled but still i am not getting desired output. My text is overlapping with neighbouring text. Plz sugge

  • Why does it say face time failed on my iPad every time I try to make a call???

    Why does it say "face time failed" every time I try to make a call?

  • One person doesn't recieve my texts

    I have a 5 and my friend use to have a 4s. We had no problems with sending/receiving texts with one another. A few weeks ago he changed to the Samsung S4. Again, no problems. Since I've downloaded ios7, I can no longer send him texts. It says undeliv