Forum Discussion

Irina's avatar
Irina
New Contributor III
10 days ago
Solved

Transformation Rules for Time dimension

Hi, all,

Could you please advise why we need to add each base time dimension member on Transformation Rules table when source and target base time member are the same? 

 

  • Irina, I don't have a super technical explanation for why this is needed—but yeah, it is.đŸ˜ƒ

    I usually just create a generic Time Transformation Rule Group to reuse across my Transformation Rule Profiles.

    Maybe they added this so you can control which periods are available for loading? Like, to prevent loading into future periods. I know there are other ways to handle that, but this seems like a good fit... even though I've never actually used it for that.

  • Irina's avatar
    Irina
    New Contributor III

    Simon,

    Am I right that you mean column Time on tabs xfd, which are used for loading data in OneStream. Now we indicate Time as the below example:

    On tab OS_POV we show the same time member 

     

    • SimonHesford's avatar
      SimonHesford
      Contributor

      Yes, Change T#:[2024M12] to T.C# so the Current Workflow time is picked up when you import the data from Excel. You should not need to have a Time transformation group defined with this approach 

  • Excel files have the field mapping associations set in hidden metadata rows in the file template not the Data Source. You would need to change the metadata header for your Time column to use the metadata tag T.C# which will use the current  POV time. Then you shouldn't require any Time dimension transformation rules 

  • Irina's avatar
    Irina
    New Contributor III

    Dear Simon,

    Thank you for clarification! I applied both highlighted data types options in DataSource but faced with the same message (No valid DataKeys), when pressed Process in workflow. I loaded Excel file using the workflow (excel file contains time base member and I loaded it to the same month in workflow). Maybe I need to do something else.

  • Irina's avatar
    Irina
    New Contributor III

    Dear victortei,

    Thank you! Good idea!

  • victortei's avatar
    victortei
    New Contributor III

    Irina, I don't have a super technical explanation for why this is needed—but yeah, it is.đŸ˜ƒ

    I usually just create a generic Time Transformation Rule Group to reuse across my Transformation Rule Profiles.

    Maybe they added this so you can control which periods are available for loading? Like, to prevent loading into future periods. I know there are other ways to handle that, but this seems like a good fit... even though I've never actually used it for that.

  • Irina's avatar
    Irina
    New Contributor III

     

    Dear Simon,

    If I remove time base member from transformation rules group (for example 2025M1) and load data on period 2025M1 I see below error message (in loaded package time member is the same as in application 2025M1):

     

    • SimonHesford's avatar
      SimonHesford
      Contributor

      Hi Irina,

       

      Perhaps I should have clarified in my original post, if you are setting the time in the Data Source using either of the 2 highlighted options

      then you do no need to have Time transformations defined for time in the Transformation Rules Profile. Likely to be the case when loads are performed by the end user using the workflow.

  • Hi,

    You don't have to define a transformation rule group and add it to the transformation profile, for Time, if the source time value does not need to be transformed or you are referencing the time from the Workflow.

    Regards,

    Simon