Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
darko861
Resolver II
Resolver II

Dax Measure with if statement and columns from different tables

Hi community,

 

I have the following visual:

darko861_0-1618992265477.png

I want to add a measure that calculates the difference like this:

Diff = SUM(v_rpt_apticcustom_Employee_Time_Billingv6[Worked Hours]) -SUM('apticproject view_workedtime'[Worked.1])
 
Unfortunately, it created a lot of duplicates:
 
darko861_1-1618992719110.png

 

Both columns Worked.1 and Worked Hours come from two different tables that are connected through a relationship. Is there another way to add a difference column in the Visual that keeps the same layout as the first picture, and does not create duplicates of the users?

 

The table 'apticproject view_workedtime' looks like this:

 

darko861_2-1618993629844.png

 

the table v_rpt_apticcustom_Employee_Time_Billingv6 looks like this:

 

darko861_3-1618993848050.png

 

 

My end goal is to create another column in the visual that uses a measure and looks something like this =IF([Diff]>=0,[[Worked Hours]],[[Worked.1]]). How can I write this measure properly? Or should a calculated column be used instead of a measure?

2 ACCEPTED SOLUTIONS

Hi @amitchandak I managed to solve the issue, I had a department column that was causing the duplications, so I removed that. The department column was from the employee table but it was not connected to any other table.

 

darko861_0-1619000069522.png

looks much better now:

darko861_1-1619000435985.png

 

Now I want another column in the visual that uses a measure and looks something like this =IF([Diff]>=0,[Worked Hours],[Worked.1]). How can I write this measure properly? Or should a calculated column be used instead of a measure?

View solution in original post

This measure worked for me:

Worked Hours2 = IF([Diff]>=0,SUM(v_rpt_apticcustom_Employee_Time_Billingv6[Registered_Hours]),SUM('apticproject view_workedtime'[Worked.1]))

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User

@darko861 , How these tables are joined. From where the Employee name column (first column) is coming.

is it Many -Many ?

Hi @amitchandak I managed to solve the issue, I had a department column that was causing the duplications, so I removed that. The department column was from the employee table but it was not connected to any other table.

 

darko861_0-1619000069522.png

looks much better now:

darko861_1-1619000435985.png

 

Now I want another column in the visual that uses a measure and looks something like this =IF([Diff]>=0,[Worked Hours],[Worked.1]). How can I write this measure properly? Or should a calculated column be used instead of a measure?

This measure worked for me:

Worked Hours2 = IF([Diff]>=0,SUM(v_rpt_apticcustom_Employee_Time_Billingv6[Registered_Hours]),SUM('apticproject view_workedtime'[Worked.1]))

hi @amitchandak, it's a one to many relationship

 

darko861_0-1618995818525.png

the yellow highlighted at the top is worked time table, the bottom left is the employee table and the bottom right is the user table which connects the tables based on userid (worked time) and memberid (employee table)

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.