Forum Discussion

OlaWidera's avatar
OlaWidera
New Contributor
2 years ago

composite mapping rule by period

Hello, I am new to Onestream and trying to solve something that seemed easy but it doesn't work:(

We need to map an account by the entity and by the time. I used composite mapping. to be exact;

A#[651200]:E#[8*]:T#2019M12} has to be mapped to account A

A#[651200]:E#[8*]:T#[2019M3] has to be mapped to the account B -  also all other instnaces of #651200 for all other entities are mapped to the acount B.

I have only composite mapping for this account. It doesn't work. It totally ignores the time dimension. 

Any tips?

thank you,

Ola

 

 

 

  • MarcusH's avatar
    MarcusH
    Valued Contributor

    Pick out a dimension that is not being used for mapping ie the current maps have a Mask map * goes to None. Let's call it UD7.

    Write a Business Rule that gets the Time POV and save that to UD7. Steps: on the Data Source for UD7 add a Logical Operator which is a Business Rule which returns the current Time POV. This saves the current Time member to the Stage data against every record. The source values in UD7 are ignored because everything maps to None.

    Add a composite map that looks at UD7 instead of the Time dimension.

    • OlaWidera's avatar
      OlaWidera
      New Contributor

       It worked. I ddin't have to use another dimension but your replies made me realize that in our source data we set Time as Current DataKey and that's why my inital mapping didn't work. However we have column in the data file that already refers to the time so I used business rule to convert it to the time and period and changed Data Type from Current to DataKey and then after reloading my original Composite mapping worked! Thank you!

  • Hi Ola,

    What I'd treat that case with "M12" in the data source in a way that you can identify this case and create a link for sending the data point to account A. For the cases related to the transformation to account B, I'd use a mask function.

    Best regards