Forum Discussion

Dave1972's avatar
Dave1972
Icon for Helper I rankHelper I
5 years ago
Solved

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 load loadgroup_code unloadgroup_code type of shipment ... blank / ...
  • Anonymous's avatar
    Anonymous
    5 years ago

    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:

    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.

  • Anonymous's avatar
    Anonymous
    5 years ago

    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:

     

    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.