Forum Discussion
SQL to DAX Conversion
Hi Experts,
Looking to translate the below into DAX, but I have little experience. Any ideas? Thanks in advance.
CASE WHEN [ReSignedMembers] is missing THEN 0 ELSE [ReSignedMembers] END +
CASE WHEN [ConversionMembers] is missing THEN 0 ELSE [ConversionMembers] END +
CASE WHEN [NewMembers] is missing THEN 0 ELSE [NewMembers] END +
CASE WHEN [MaintenanceMembers] is missing THEN 0 ELSE CASE WHEN [MaintenanceMembers] < 0 THEN 0 ELSE [MaintenanceMembers] END END)
THEN (25000) ELSE (
CASE WHEN [ReSignedMembers] is missing THEN 0 ELSE [ReSignedMembers] END +
CASE WHEN [ConversionMembers] is missing THEN 0 ELSE [ConversionMembers] END +
CASE WHEN [NewMembers] is missing THEN 0 ELSE [NewMembers] END +
CASE WHEN [MaintenanceMembers] is missing THEN 0 ELSE CASE WHEN [MaintenanceMembers] < 0 THEN 0 ELSE [MaintenanceMembers] END END
) END
Hi RonSwanson ,
The whole dax code may like this:
A = IF ( 25000 < IF ( ISBLANK ( [ReSignedMembers] ), 0, [ReSignedMembers] ) + IF ( ISBLANK ( [ConversionMembers] ), 0, [ConversionMembers] ) + IF ( ISBLANK ( [NewMembers] ), 0, [NewMembers] ) + IF ( ISBLANK ( [MaintenanceMembers] ), 0, IF ( [MaintenanceMembers] < 0, 0, [MaintenanceMembers] ) ), 25000, IF ( ISBLANK ( [ReSignedMembers] ), 0, [ReSignedMembers] ) + IF ( ISBLANK ( [ConversionMembers] ), 0, [ConversionMembers] ) + IF ( ISBLANK ( [NewMembers] ), 0, [NewMembers] ) + IF ( ISBLANK ( [MaintenanceMembers] ), 0, IF ( [MaintenanceMembers] < 0, 0, [MaintenanceMembers] ) ) )Best Regards,
Yingjie LiIf this post helps then please consider Accept it as the solution to help the other members find it more quickly.
5 Replies
- amitchandakSuper User
RonSwanson , it would be a combination of switch true and if. Setup a small example
Switch (true(),
25000 < if(isblank( [ReSignedMembers] ) , 0 , [ReSignedMembers] ) +
if(isblank( [ConversionMembers] ) , 0 , [ConversionMembers] ) +
/// Try to do rest
CASE WHEN [NewMembers] is missing THEN 0 ELSE [NewMembers] END +
CASE WHEN [MaintenanceMembers] is missing THEN 0 ELSE CASE WHEN [MaintenanceMembers] < 0 THEN 0 ELSE [MaintenanceMembers] END END)
THEN (25000) ELSE (
CASE WHEN [ReSignedMembers] is missing THEN 0 ELSE [ReSignedMembers] END +
CASE WHEN [ConversionMembers] is missing THEN 0 ELSE [ConversionMembers] END +
CASE WHEN [NewMembers] is missing THEN 0 ELSE [NewMembers] END +
CASE WHEN [MaintenanceMembers] is missing THEN 0 ELSE CASE WHEN [MaintenanceMembers] < 0 THEN 0 ELSE [MaintenanceMembers] END END
) - vanessafvgCommunity Championyou need the switch() statement
https://powerpivotpro.com/2015/03/the-diabolical-genius-of-switch-true/ - AnonymousNot applicable
Hi RonSwanson ,
Try using SWITCH () statement
https://www.youtube.com/watch?v=-ykkaAtlCMc&vl=en
Regards,
Harsh Nathani
Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button) - Greg_DecklerCommunity Champion
RonSwanson Not really enough information to go on, please first check if your issue is a common issue listed here: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882
Also, please see this post regarding How to Get Your Question Answered Quickly: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
The most important parts are:
1. Sample data as text, use the table tool in the editing bar
2. Expected output from sample data
3. Explanation in words of how to get from 1. to 2. - v-yingjlCommunity Support
Hi RonSwanson ,
The whole dax code may like this:
A = IF ( 25000 < IF ( ISBLANK ( [ReSignedMembers] ), 0, [ReSignedMembers] ) + IF ( ISBLANK ( [ConversionMembers] ), 0, [ConversionMembers] ) + IF ( ISBLANK ( [NewMembers] ), 0, [NewMembers] ) + IF ( ISBLANK ( [MaintenanceMembers] ), 0, IF ( [MaintenanceMembers] < 0, 0, [MaintenanceMembers] ) ), 25000, IF ( ISBLANK ( [ReSignedMembers] ), 0, [ReSignedMembers] ) + IF ( ISBLANK ( [ConversionMembers] ), 0, [ConversionMembers] ) + IF ( ISBLANK ( [NewMembers] ), 0, [NewMembers] ) + IF ( ISBLANK ( [MaintenanceMembers] ), 0, IF ( [MaintenanceMembers] < 0, 0, [MaintenanceMembers] ) ) )Best Regards,
Yingjie LiIf this post helps then please consider Accept it as the solution to help the other members find it more quickly.