Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

DAX Code Explanation

Hi Experts,

 

I couldnt able to understand what does this DAX code means?

 

Anyone, Please help.

 

Thank you

  • Anonymous , if there is no value for sum, then give 0. It will create a left join with dimension

     

    same as

    sum('Financial Overview'[balance]) +0

  • Anonymous 

     

    A DAX Measure can't be fully defined until you provide the context - so to truly explain what it gives you need to know what table/visual you're using it in, but I'll do my best.

     

    Let's break it into parts. We have

    SUM('Financial Overview'[Balance])

    in there twice, so I'm going to call that [TotalBalance]:

    [TotalBalance]  = SUM('Financial Overview'[Balance])

     

    The [TotalBalance] is just adding up the value from the Balance column in the Financial Overview table. If you put this in a Card visual, it gives the Grand Total Balance. If you put this in a visual by Year, Month, it will filter the Financial Overview table for that year and month, and then add up all the values in the Balance column for those dates. 

     

    Looking at the rest of the measure, now that we have defined [TotalBalance], we can then rewrite the measure as: 

     

    Sum of Balance = IF( [TotalBalance] = BLANK() , 0, [TotalBalance] )

     

    Which hopefully makes it a little easier to see that if the [TotalBalance] is blank (in other words there was no row in the Financial Overview table for that Year and Month), then replace it with 0, otherwise give the [TotalBalance]. This forces ALL months and years to be shown in the table visual, even if there was no balance record in the Financial Overview table on that month/year.

     

    Does that help?

     

    You could simplify this a bit by writing: 

    Sum of Balance = 0 + SUM('Financial Overview'[Balance])

     

    and you'll still get the same result.

     

2 Replies

  • Anonymous , if there is no value for sum, then give 0. It will create a left join with dimension

     

    same as

    sum('Financial Overview'[balance]) +0

  • AllisonKennedy's avatar
    AllisonKennedy
    Community Champion

    Anonymous 

     

    A DAX Measure can't be fully defined until you provide the context - so to truly explain what it gives you need to know what table/visual you're using it in, but I'll do my best.

     

    Let's break it into parts. We have

    SUM('Financial Overview'[Balance])

    in there twice, so I'm going to call that [TotalBalance]:

    [TotalBalance]  = SUM('Financial Overview'[Balance])

     

    The [TotalBalance] is just adding up the value from the Balance column in the Financial Overview table. If you put this in a Card visual, it gives the Grand Total Balance. If you put this in a visual by Year, Month, it will filter the Financial Overview table for that year and month, and then add up all the values in the Balance column for those dates. 

     

    Looking at the rest of the measure, now that we have defined [TotalBalance], we can then rewrite the measure as: 

     

    Sum of Balance = IF( [TotalBalance] = BLANK() , 0, [TotalBalance] )

     

    Which hopefully makes it a little easier to see that if the [TotalBalance] is blank (in other words there was no row in the Financial Overview table for that Year and Month), then replace it with 0, otherwise give the [TotalBalance]. This forces ALL months and years to be shown in the table visual, even if there was no balance record in the Financial Overview table on that month/year.

     

    Does that help?

     

    You could simplify this a bit by writing: 

    Sum of Balance = 0 + SUM('Financial Overview'[Balance])

     

    and you'll still get the same result.