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
Dave1972
Helper I
Helper I

Need support on DAX calculate function with multiple filters

Hi All,

I hope you ncan help me out....I have fact table with the following information and columns.

 

measure = sum of loadloadgroup_codeunloadgroup_codetype of shipment
...blank / empty blank / empty blank / empty 
...111
...222
...333
...444
...1blank / empty8

 

I want to create 3 measures Sum of load for:

  1. P = loadgroupcode = 2 AND unloadgrupcode is not 2 or not blank / empty AND Type of Shipment is not 2 or not blank / empty
  2. E = loadgroupcode = 3 AND Type of Shipment is not blank / empty
  3. Z = loadgroupcode = 1 AND unloadgrupcode is not 1 or not blank / empty AND Type of Shipment is not blank / empty
  4. And in addition one measure P+ E+ Z for the for the sum of load for the combination of P + E + Z.

I started like DAX formula below but is not giving me the correct filter... and cannot find solution in community.

P = CALCULATE([sum of load],

    'Table'[Loadgroup_code] IN { "2" } && 'Table'[Unloadgroup_code] IS <> "2" && 'Table'[Unloadgroup_code] IS <> BLANK && 'Table'[Type of Shipment] IS <> "2" && 'Table'[Type of Shipment] IS <> BLANK
)
 
Pse can someone help to explain how to write the 4 measure in total (3 for each group and 1 total). Thanks in advance, appreciated
2 ACCEPTED SOLUTIONS
v-eqin-msft
Community Support
Community Support

Hi @Dave1972 ,

 

In DAX, you could use <>  to replace "is not" , && to replace "and" , || to replace "or",  

So please try the following formula:

P =
CALCULATE (
    [Sum of Load],
    FILTER (
        'Table',
        'Table'[loadgroup_code] = "2"
            && ( 'Table'[unloadgroup_code] <> "2"
            || 'Table'[unloadgroup_code] <> "blank / empty" )
            && ( 'Table'[type of shipment] <> "2"
            || 'Table'[type of shipment] <> "blank / empty" )
    )
)
E =
CALCULATE (
    [Sum of Load],
    FILTER (
        'Table',
        'Table'[loadgroup_code] = "3"
            && 'Table'[type of shipment] <> "blank / empty"
    )
)
Z =
CALCULATE (
    [Sum of Load],
    FILTER (
        'Table',
        'Table'[loadgroup_code] = "1"
            && ( 'Table'[unloadgroup_code] <> "1"
            || 'Table'[unloadgroup_code] <> "blank / empty" )
            && 'Table'[type of shipment] <> "blank / empty"
    )
)
P+E+Z = [P]+[E]+[Z]

The final output is shown below:

P+E+Z.PNG

Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

v-eqin-msft
Community Support
Community Support

Hi @Dave1972 ,

 

It depends on the data type of columns. I have built a data sample for you to easily understand the difference in DAX.

 

1.If data type of these columns are Text, use "" to replace "blank /empty"

Data type is Text = CALCULATE(SUM(Test[Load]),FILTER('Test','Test'[Text]<>""))

2. If data type of these columns are Number, use BLANK() to replace "blank /empty"

Data type is Number = CALCULATE(SUM('Test'[Load]),FILTER('Test','Test'[Number]<>BLANK()))  

The final output is shown below:

Text or Number.PNG

 

Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
v-eqin-msft
Community Support
Community Support

Hi @Dave1972 ,

 

It depends on the data type of columns. I have built a data sample for you to easily understand the difference in DAX.

 

1.If data type of these columns are Text, use "" to replace "blank /empty"

Data type is Text = CALCULATE(SUM(Test[Load]),FILTER('Test','Test'[Text]<>""))

2. If data type of these columns are Number, use BLANK() to replace "blank /empty"

Data type is Number = CALCULATE(SUM('Test'[Load]),FILTER('Test','Test'[Number]<>BLANK()))  

The final output is shown below:

Text or Number.PNG

 

Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Dave1972
Helper I
Helper I

Hi @Eyelyn9, 

 

Thanks so much. It works now fine, however how do I handle instead of text "blank /empty" the fact that this cell is just empty....
Best regards, Dave

 

v-eqin-msft
Community Support
Community Support

Hi @Dave1972 ,

 

In DAX, you could use <>  to replace "is not" , && to replace "and" , || to replace "or",  

So please try the following formula:

P =
CALCULATE (
    [Sum of Load],
    FILTER (
        'Table',
        'Table'[loadgroup_code] = "2"
            && ( 'Table'[unloadgroup_code] <> "2"
            || 'Table'[unloadgroup_code] <> "blank / empty" )
            && ( 'Table'[type of shipment] <> "2"
            || 'Table'[type of shipment] <> "blank / empty" )
    )
)
E =
CALCULATE (
    [Sum of Load],
    FILTER (
        'Table',
        'Table'[loadgroup_code] = "3"
            && 'Table'[type of shipment] <> "blank / empty"
    )
)
Z =
CALCULATE (
    [Sum of Load],
    FILTER (
        'Table',
        'Table'[loadgroup_code] = "1"
            && ( 'Table'[unloadgroup_code] <> "1"
            || 'Table'[unloadgroup_code] <> "blank / empty" )
            && 'Table'[type of shipment] <> "blank / empty"
    )
)
P+E+Z = [P]+[E]+[Z]

The final output is shown below:

P+E+Z.PNG

Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

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.