Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

conditional relationship between tables

Hi, I need to create a complex relationship between two tables, AGGR and OFF based on dates. Basically the relationship between AGGR[COD_PROM] and OFF[codprom] should only occur if AGGR[date]>= OFF[s...
  • Alex87's avatar
    2 years ago

    Hello,

    In terms of modelling, I am using a simple star schema with 1 to many relationship between a dimension table that contains Cod_Prom - you can create this table by duplicating one of the tables and keeping only this column without duplicates

     

    in terms of measure you can create the following:

    Solution = 
    IF(
        MAX(AGGR[date]) >= MAX(OFF[startdate]) && MAX(AGGR[date]) <= MAX(OFF[enddate]), 
            CALCULATE(
                SELECTEDVALUE(AGGR[date]),
                TREATAS(VALUES(AGGR[cod_prom]), OFF[Codprom])))

    the result is the following (cod prom coming from the dimension and the measure created above)

     

    I tested the scenario when the condion is not met. The date will not appear as shown below

    If it answers your question, please mark my reply as the solution. Thanks!