Forum Discussion

Till's avatar
Till
Resolver II
6 years ago
Solved

Lookupvalue

Hi,

I want to transfer a value from one mapping table to another table using lookupvalue.
This value is date-dependent (valid from and valid to)
Mapping table:

 

Target Table:

 

The date from the target table should lie between the valid to an valid from.

 

I also have to consider that the valid from and valid to can change at the beginning of a month.
Then a new column with a new valid from and valid to will be added.
I hope that someone can help me.
Thanks already and Kind regards
Till

 

 



  • Till , Not Sure I got it

     

    you can move data from one table to another using multiple conditions like this

    New Column = maxx(filter(table2,table2[Col1]= table1[col1] && table2[Col2]= table1[col2] ),table2[required_col])

     

    Maxx can be replaced with sumx,countx etc

  • Till 

     

    If you have serveral conditions, you can use && to join all of them.

     

    Please try below measure

     

    New Column = maxx(filter(map_inv,map_inv[value_1]= v_inv_full[Aktivität] && map_inv[value_2]= v_inv_full[Ebene]&&,v_inv_full[Datum]>=map_inv[valid_from]&&v_inv_full[Datum]<=map_inv[valid_to] ),map_inv[value_3])
    

     

5 Replies

  • Till , Not Sure I got it

     

    you can move data from one table to another using multiple conditions like this

    New Column = maxx(filter(table2,table2[Col1]= table1[col1] && table2[Col2]= table1[col2] ),table2[required_col])

     

    Maxx can be replaced with sumx,countx etc

    • Till's avatar
      Till
      Resolver II

      Hi
      Thanks for your quick response.
      I've implemented your proposal.

      New Column = maxx(filter(map_inv,map_inv[value_1]= v_inv_full[Aktivität] && map_inv[value_2]= v_inv_full[Ebene] ),map_inv[value_3])

      It works fine.
      I now need to compare the date from the second table with the date from the first table.
      Date between valid from and valid to.
      See solution from ryan_mayu (Solution Sage) 

      MAXX(FILTER(map_inv,v_inv_full[Datum]>=map_inv[valid_from]&&v_inv_full[Datum]<=map_inv[valid_to]),map_inv[value_3])


      The two solutions would now have to be combined, which would be the solution

      Thanks, also to ryan_mayu 




      thanks for your help.

      Till

      • ryan_mayu's avatar
        ryan_mayu
        Super User

        Till 

         

        If you have serveral conditions, you can use && to join all of them.

         

        Please try below measure

         

        New Column = maxx(filter(map_inv,map_inv[value_1]= v_inv_full[Aktivität] && map_inv[value_2]= v_inv_full[Ebene]&&,v_inv_full[Datum]>=map_inv[valid_from]&&v_inv_full[Datum]<=map_inv[valid_to] ),map_inv[value_3])
        

         

  • Till 

     

    I am not sure if I understand your request clearly. Please see if below info is helpful for you.

    Column = MAXX(FILTER(TA,'TB'[date]>='TA'[validfrom]&&TB[date]<=TA[validto]),TA[project])