How to update a fact table when a dimension table is reloaded

We have implemented BI Apps 796. Insertion into W_EMPLOYEE_D table which stores all the employee information had stopped one year back as some company security policy restricted the informatica worklfows to pick up the data. (PER_ALL_PEOPLE_F was a HRMS table and it contained sensitive information line SSN and salary, was inaccessible to the user which informatica uses and the SDE mapping used to return 0 rows).
Now we have the approval to see those rows and the dimension table is loaded with some 100 new employees who joined in last one year.
The ROW_WID of W_EMPLOYEE_D is referenced in lot of fact tables and for all those missing employees the WID in the fact table is 0.
Now that we have all employees, how to make the FACT table point to the correct WID and not store 0. Has anyone faced this problem before?? Writing an update statement will be a tedious task as there are so many fact tables that join to w_employee_d. Also our company uses Sales, Procurement, Finance modules of OB Apps (which constitutes atleast 20 fact tables)
Any guidance is appreciated. Thanks in advance

Hello Kostis,
thank you for your answer. I don't fully understand you. Can you show me short example, please? I create alias table for time dimension on Physical Layer - original table is TimeDayDim and I create aliases TimeDayDim1, TimeDayDim2, TimeDayDim3, TimeDayDim4. Then I create foreign key Fact.Time1 -> TimeDayDim1, Fact.Time2 -> TimeDayDim2, Fact.Time3 -> TimeDayDim3, Fact.Time4 -> TimeDayDim4. And what now? Must I create these table api Bussines Model and create new time dimensions at bussiness model????
I need in Answers ONE Time dimension. I think I must split my fact table to four tables ... (time1, place1 ...) (time2, place2 ...) (time3 place3...) (time4 place4...) then link those tables to Time dimension (but I dont know where I can split those tables - on Physical Layer or on Bussines Layer).
I suppose that I will have in Answers one time dimension and four facts tables and I will be able to query them. (for example: Time.Days, Fact1.Place1, Fact3.Speed, Fact4.Count Criteria: Time.Year = 2008)
Best Regards Vlada

Similar Messages

  • Resolving loops in a star schema with 5 fact tables and 6 dimension tables

    Hello
    I have a star schema, ie 5 FACT tables and 7 dimension tables, All fact tables share the same dimension tables, some FACT tables share 3 dimesnsions, while other share 5 dimensions.  
    I did adopt the best practices, and as recommended in the book, I tried to resolve them using Context, as it is the recommended option to Alias in a star schema setting.  The contexts are resolved, but I still have loops.  I also cleared the Multiple SQL Statement for each context option, but no luck.  I need to get this resoved ASAP

    Hi Patil,
    It is not clear what exactly is the problem. As a starting point you could set the context up so that it only covers the joins from fact to dimension.
    Fact A, joins Dim 1, Dim 2, Dim 3, and Dim 4
    Fact B, joins Dim 1, Dim 2, Dim 3, Dim 4 and Dim 5
    Fact C, joins Dim 1, Dim 2, Dim 3, Dim 4 and Dim 6
    Fact D, joins Dim 1, Dim 2, Dim 3, Dim 4 and Dim 7
    Fact E, joins Dim 1, Dim 2, Dim 4 and Dim 6
    If each of these are contexts are done and just cover the joins from fact to dim then you should be not get loops.
    If you could lay out your joins like above then it may be possible to specify the contexts/aliases that should work.
    Regards
    Alan

  • Multiple 'logical joins' between a fact table and one dimension table

    It appears that one cannot create multiple ‘logical joins’ between a fact table and one dimension table in OBIEE using the Oracle BI Administration Tool. For example, considering a Business Model with a dimension table TIMES and a fact table FACT containing START_TIME and END_TIME, we would like to create separate logical joins from FACT to TIMES for the START_TIMEs and END_TIMEs? Obviously, the underlying foreign keys can be created, but as far as I can tell the Oracle BI Administration Tool doesn’t support this. The workaround would be to replicate the TIMES table, but that’s ugly.
    I seek an alternative approach.

    Try this. Create an two aliases for the TIMES dimension (Start & End) in the Physical Layer and then remove foreign key to the "Parent" Times dimension. Create the Foreign Key in the Physical Layer to the new aliases and then create the complex joins in the BMM Layer to the new aliases as well. This will allow you to present both dates within the same table in the Presentation Layer. Not the most elegant solution but it works.

  • How to Update the oracle toad column value in table by using SSRS 2008

    Hi Team,
    How to update the oracle DB table column value by using SSRS 2008.
    Can any one help me on this.
    Thanks,
    Manasa.
    Thank You, Manasa.V

    Hi veerapaneni,
    According to your description, you want to use SSRS to update data in database table. Right?
    Though Reporting Services is mostly used for rendering data, your requirement is still can be achieved technically. You need to create a really complicated stored procedure. Pass insert/delete/update and the columns we need to insert/delete/update as
    parameters into the stored procedure. When we click "View Report", the stored procedure will execute so that we can execute insert/delete/update inside of the stored procedure. Please take a reference to two related articles below:
    Update Tables with Reporting Services – T-SQL Tuesday #005
    SQL Server: Using SQL Server Reporting Services to Manage Data
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • How to update Purchase Request automatically when update qty in sales order

    When we create a sales order, the PR will be automatically generated.
    Now we have a requirement to change the order qty for the sales order. also the PR should be automatically changed.
    With VA02, the process is perfect.
    But by using BAPI_SALESORDER_CHANGE  the SO is partly changed ( order qty is changed but the confirmed qty is not changed) and the PR is not changed.
    So can you advise me how to update the PR by using the BAPI_SALESORDER_CHANGE, which indicator should be defined?
    I've read the BAPI document but no such information.
    Regards,

    Hi Yang,
    Workflow is the best approach for any issue related to business objects.
    Since you want call FM BAPI_SALESORDER_CHANGE, it will change SO. It means everytime any SO is changed there will an event being triggered.
    object type: BUS2032
    event: Changed
    simple solution:
    1. Please create object type (SWO1) and its super type should be BUS2032.
    2. Add your own method and attach your custom FM which actually updates the qty & PR)
    3. Create Task (PFTC_INS)
    in basic data:
    - provide object type which you have created
    - provide method which you have added
    goto triggering events tab
    - Choose Object Category as BOR object type
    - provide object type (better give BUS2032)
    - provide event as CHANGED
    Please have look into very nice video blog which helps you to create your workflow.
    blog: [Creating your first SAP Business Workflow]
    Regards,
    Sukhbold Altanbat.

  • Reg How to Update DeleteFlag Image (Default N)  Value in Table

    Hi Friends,
    I have One Column Delete Button(Style Image) in Advanced Table So Based on That Delete Button Click I need to Update Value in Table(DeleteFlag =Y )
    So How to Update Value in Table(Data Base).
    Select empno,deleteflag from Emp where empno=:1
    I attached this EmpVO to Advance Table So How to update Delete Flag(Y) Value.
    Hint:::::: Iam Using Packages(Pl Sql) And Read Only VO's Only.
    With out Using Package & EOVO Update is Possible In OAF.
    Thanks & Regards
    San

    Okay ,
    Here we go ,
    Step 1 : Select the item in the table ( image) and go to property inspector and select fire action , give some name for Action .
    Step 2 : Capture the above event from your controller class ( ProcessFormRequest () ) and Implement SQL statement
    Use below code :
    Import the followings
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    if ("YourEventID".equals(pageContext.getParameter(EVENT_PARAM))) // replace your event id created above
    Inside if statement Add code to handle sql statement .
    try
    String Query = " "; // write any single SQL statement along with bind parameter inside " " , in your case it should be update statement
    PreparedStatement stmt = conn.prepareStatement(Query);
    stmt.setString(1,Paramtervalue); //set your bind parameter value here ( where clause paramter )
    catch(Exception exception)
    throw new OAException("Error in Staffing Query"+exception, OAException.ERROR);
    Keerthi
    Edited by: keerthioaf on Nov 27, 2012 1:47 AM

  • How to update the merged customer information in custom tables?

    The "Setup merge Dictionary" is provided only to register APIs that would be called to update the merged information for parties.
    Is there a similar feature for the account merge?
    If anyone has any ideas of how to update the columns like customer_id, cust_acct_site_id etc. in custom tables at the end of customer merge, please let me know. Any sample code would be of great help.
    Please let me know ASAP.
    Thanks in advance,

    There is one method which I have used. The crm side uses a file called jtf_hooks_data. There is no guarantee that it will work in the future and you will have to test it. The merge program uses this sql
    'SELECT hook_package, hook_api,product_code ' ||
    'FROM jtf_hooks_data '||
    'WHERE package_name = ''ARP_CMERGE_MASTER'' ' ||
    'AND api_name = ''MERGE_PRODUCTS'' ' ||
    'AND execute_flag = ''Y'' ' ||
    'ORDER BY execution_order ';
    Your procedures have to have the same signature as the one being called. Issues the select statement on your system and see what is returned.

  • How to update XML Facts in rule author

    Hi,
    since there is not a separate forum for the rules engine and this is tightly related to BPEL, so I thought I'd post the question here.
    what's the process to update XML Facts in the rule author and the BPEL process that is already using the rule repository for decisions?
    for example, if I change the data type on one of the elements in the XML Facts schema from string to int, what do I do next to put such change into the existing rule repository and update the BPEL side of things?
    I have tried re-importing the updated XSD into the rule repository (it's a WebDAV repository), I can see the change in the new definitions for the xsd, and I can also make use of the change to define new rules, in the words, the rule author side seems fine;
    then I copied the updated xsd into my BPEL project that calls the rules engine, and then what should I do next? I can't see any where in jDeveloper I can "update" the decision service partner link, so I just re-deployed the BPEL process with the updated xsd under the rule/xsd folder, but then the same call to the decision service starts failing with a "business exception, cx-fault-actor" but without any more details.
    I haven't added any new rules, only change of data type on one element.
    what am I missing?
    thanks.

    In ALDSP 2.5 (and ALDSP 3.0), non-XA data sources can be updated without writing an update-override. But if you want to do any special processing that is not handled by the default behaviour, or for data services not based on relational databases, in ALDSP 2.5, you can write an update-override.
    In ALDSP 3.0, the update model is somewhat different, I suggest that you peruse the ALDSP 3.0 documentation for a thorough discussion. The documentation is here http://edocs.bea.com/aldsp/docs30/index.html I suggest start with a search on 'update'.
    In ALDSP 3.0, I believe updateoverride feature still exists for the purpose of backwards compatibility (at least it turned up in a search of updateoverride in the 3.0 docs)

  • Joining Multiple facts to the multiple Dimension tables

    Hi All,
    We have multiple fact tables which are Joined to common Dimension tables. We join them in physical layer and maintain Left outer join in the BMM. I do not get any consistency errors. But when I run report I get error.
    "could not find level detailed enough for group by clause" any suggestion on the same.
    The join Strucutre is as follows.
    Facts - F1, F2, F3
    Dim - D1, D2, D3
    F1 --> D1, D2, D3
    F2--> D1, D2,
    F3--> D1, D2, D3
    We cannot combine F2, F3 into F1 using multiple Logical Table Source.
    What is the best way to achieve the above mentioned functionality.
    Please advice.
    Regards,
    Narendra Shetty.

    Check this
    OBI Error While Running Query
    Update us back with solution, if helps pls mark
    Edited by: Srini VEERAVALLI on Dec 20, 2012 7:13 AM

  • Fact table is GT Dimension table

    Hi All
    Where can i find the relation between Fact table and dimension table sizes. If i want to check whether my dimension table is greater than fact table then how?
    If i can use program " sap_infocube_designs" then when i am trying to execute it it is not working.
    regards
    Naga

    I dont think SAP_INFOCUBE_DESIGNS doesnt give u the size of the fact table rather the density and the row count in the cube.
    "density" in SAP_INFOCUBE_DESIGNS
    check the answer by pizzaman in this thread detailing the size of the fact tabe
    Fact table size of the cube

  • Issue using one 2 Fact tables with one dimension Table.

    Hi,
    I have 1 Dimension table X and 2 Fact tables A and B
    X is joined to Both A and B for Loan Amount ( with A) and for colleatral amount (with B) when I am selecting the X.Product_Name, A.Loan_Amt, B.Collateral Amount, it is giving an error message
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 15018] Incorrectly defined logical table source (for fact table EIP Collateral FACT) does not contain mapping for [EIP Reporting FACT.PD ID]. (HY000)
    Any clues???
    Is there a Inner or Outer join which needs to be created or set in the RPD to get the desired results???

    Ok..
    I have one table which is Porfolio Details which has Portfolio name, Product Category , Product Name, Product ID, Product sources code.- This is my Dimension table.
    I have another 2 set of fact tables : EIP Reporting FACT and EIP Collateral FACT..
    These two tables are joined to Portfolio Details table.
    EIP Reprting FACT gives portfolio wise Loan Amount
    and EIP Collateral FACT gives Portfolio wise Collateral Amount details for same set of customer..
    Now, I am selecting Portfolio Name, Product Category, Product Name,SUM( EIP Reporting FACT.LOAN_AMOUNT), SUM(EIP Collaetral FACT.Collateral_Amt) in a report
    Now, on selecting these columns I am getting that error message which is related to mapping.
    If I take any column from Portfolio details table and any column from EIP Reporting FACT- It works.
    If I take any column from Portfolio details table and any column from EIP Colletral FACT- It works.
    But if I take any column from portfolio table and columns from both FACT tables it gives mapping error...
    Hope I am able to explain the issue in a better way now..
    Edited by: help-required on Mar 11, 2010 6:53 PM
    Edited by: help-required on Mar 11, 2010 6:53 PM

  • #datasync error - could that come from merging on fields from fact tables instead of dimensions tables?

    I'm reporting out of two universes published by Epic
    1. Warehouse - Patient
    2. Warehouse - Transactions
    I wanted to join two queries based on the primary key for a hospital encounter. Following the tutorial seemed pretty straightforward until I got to displaying data from a merged query.
    The table displayed results from Query1, but adding fields from Query2 wiped out all the data in the table, leaving only #datasync in each field.
    My workaround to get fields from both queries displayed (see screenshot)
    1. Merge queries on *two* fields - primary key of hospital encounter and primary key of patient
    2. Create new variable
    3. Make variable type Detail
    4. Associate variable with hospital encounter key from Query1
    5. Set formula equal to a field from Query2
    I'm not sure why this workaround works or if what I'm experiencing is a symptom of something larger. Could this workaround be needed because I am merging on fields from a fact table instead of fields from a dimension table?
    Thanks in advance

    You have defined merged dimension on 'company code-Key' which is common in both the Bex-queries.
    You are able to bring the merged dimension and other objects from  Query_ One to report block without any issue but when adding objects from Query_Two you are getting the error #DATASYNC.
    In this case objects from Query_One are got sync with the merged dimension object without any issue because they got added first to it.
    Similarly when you add merged dimension and objects from Query_Two you find no issue, because objects from Query_Two go sync first.
    Once objects from a query(Query_One/Query_Two) got added to a merged dimension, when we try adding objects from other query we get #DATASYNC error. This is because data in the other query is not able to sync with the initial result set, this is a know behavior.
    There are two workarounds:
    1) Merging all common dimension/characteristic objects: Only merged dimensions data will sync with the initial query,  un-merged dimensions/characteristic objects will still give #DATASYNC error.
    2) Create detail objects/attribute objects at report level for all uncommon characteristic/dimension objects from query_two referring to merged dimension. Then add these newly created detail/attribute objects to the table block that is having initial query objects with merged dimension, with this you see result set of query_two in the table block  not #DATASYNC error.
    ~ Manoj

  • Help on  Setting logical Levels  in Fact tables and on Dimension tables

    Hi all
    Can any body provide any blogs or any king of material on what exactly is levelling .
    Like after creating the Dimensional hierarchies we need to set the logical levels for the LTS of fact tabels ri8 .So what is the difference between setting logical levels to fact tabels and also Setting levelling on Dimension tables .
    Any kind of help is appreciated
    Thanks
    Xavier.
    Edited by: Xavier on Aug 4, 2011 10:50 AM

    I have read these blogs ,but what my question is
    Setting the logical levels in LTS of Fact tables i understood .
    But we can also set the logical levels for dimensions also ri8 .I didn't understand why do we set the logical levels for dimensions .Is there any reason why we go with the levelling at dimensions
    Thanks
    Xavier
    Edited by: Xavier on Aug 4, 2011 2:03 PM
    Edited by: Xavier on Aug 4, 2011 2:32 PM

  • How to update Boot Camp drivers when you already install Boot Camp?

    The last time i install Windows 7 (Boot Camp) and drivers on my Mac was a bit long time ago, and i realise that there is some new drivers available for mine, so how can i update my Boot Camp drivers, please help me, and thanks!!!

    I have MacBook Pro Retina w/Lion (of course), installed Win 7 Pro 64-bit, using Boot Camp procedures and files that were issued June 14.  My BootCamp Assistant says it's 4.0.4.
    My question is:  how do I know when the Windows Support files (drivers) are updated by Apple?  I would have expected an update by now, but I just went into Boot Camp Assistant on Lion, re-downloaded the drivers, and I *think* they are all dated June 14th still.  (looked in WindowsSupport folder which is where it said it downloaded them)
    There doesn't seem to be a reasonable way to get notified if there are new drivers or not.
    My expectation was that I could run *something* either on the Windows or OS X side, and it would *tell me* that drivers needed updating, or at least say "you are running version X".
    It can't be that I have to re-download the drivers and check the dates on all the files every time I'm curious if there's updates available.  Can it?
    The files seem to be on some mysterious Apple server and the only thing I can do to that server is ask to download the support files.  No query, no "is an update available", ... ???
    It's not even clear to me that the Windows Support files have a version number. 

  • How to update a form after changing the underlying table

    Hi All,
    I have read a few posts on this, and I know that it would have been better to not do this, but I had to add a new column to a table in order to meet a new requirement.
    See this post:
    Design Question - Slowly Changing Dimensions (I think)
    I decided that I would store the 'price' with the 'mailed_item' - so I had the actual price at the time the item was mailed. And then the MST table could be updated as needed without impacting the historic records.
    Now my issue is: How do I add another field to the form (I was thinking hidden) that would reference the price from the Mail_Service_Type table?
    Mailed_Item
    ID
    MST_ID (Mail_Service_Type FK)
    Piece_Count
    Price (**New)
    Mail_Service_Type
    ID
    Name
    Weight
    Price
    Can this be done easily, or should I recreate the form? Is is just a simple PL/SQL or SQL statement? Or should I build another process (maybe a trigger) to get the value?
    Any thoughts would be appreciated...
    Corey

    Nahman,
    Typically it's enough to re-load data used: check binding of your UI controls on second tab to context attributes and depict what nodes are used. Then re-initialize these nodes: either just via invalidating them or via re-binding elements / re-executing queries + re-binding elements.
    Valery Silaev
    SaM Solutions
    http://www.sam-solutions.net

Maybe you are looking for