Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Multiple IF Calculation

Hello,

 

I have two datasets as follows:

 

Dataset 1

IDErect HoursDismantle Hours
11020
2510

 

Dataset 2 

IDJob Type% CompleteBurned
1Erect100%12
2Erect100%5
2Dismantle100%10
2Day Work Mod 5
2Star Rate Mod100%4.5

 

Relationship has been created between ID in both datasets. 

 

I need to create a DAX measure as follows:

 

If job type is 'Erect' then (% complete * erect hours) 
If job type is 'Dismantle' then (% complete * dismantle hours) 

If job type is 'Star Rate Mod' then (% complete * 4.5)

If job type is 'Day Work Mod' then (sum burned)

 

Is the above logic possible in one DAX statement?

  • Anonymous , A new column in dataset2

     

    new column =

    var _1 = sumx(filter(dataset1, dataset1[ID] = dataset2[ID]) ,[Erect Hours])

    var _2 = sumx(filter(dataset1, dataset1[ID] = dataset2[ID]) ,[Dismantle Hours])

    return

    Switch([Job Type],

    "Erect", [% complete]*_1,

    "Dismantle", [% complete]*_2,

    "Star Rate Mod", [% complete]*.45,

    "Dismantle", [Burned]

    )

     

2 Replies

  • Anonymous , A new column in dataset2

     

    new column =

    var _1 = sumx(filter(dataset1, dataset1[ID] = dataset2[ID]) ,[Erect Hours])

    var _2 = sumx(filter(dataset1, dataset1[ID] = dataset2[ID]) ,[Dismantle Hours])

    return

    Switch([Job Type],

    "Erect", [% complete]*_1,

    "Dismantle", [% complete]*_2,

    "Star Rate Mod", [% complete]*.45,

    "Dismantle", [Burned]

    )

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks for answering my questions.

       

      Is there anyway I can use the below formular but reference columns from another table in the highlighted section of your code?

       

      new column =

      var _1 = sumx(filter(dataset1, dataset1[ID] = dataset2[ID]) ,[Erect Hours])

      var _2 = sumx(filter(dataset1, dataset1[ID] = dataset2[ID]) ,[Dismantle Hours])


      These highlighted columns come from another table that is connect via a many to many relationship. 

       

      Many thanks,