Forum Discussion

Jit007's avatar
Jit007
Helper II
2 years ago
Solved

Need help with SUM calculation based on filter

Agent IDRequest#Parameter Q1Score
AARI001Yes15
AARI002Yes15
BBRI003No0
BBRI004No0

 

Total Checked Total YesTotal   NoAchieved %
42250%

 

I trying to get the Achieved result using calculate(SUM + Filter calculation but its not working- not sure whether i am going correctly to get that result. Please direct me to correct solution. I am new to DAX & still learning. Thanks

Here I need to calculate Total Yes divide by Total Checked 

 

  • Hi Jit007,

     

    Result:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnRU0lEK8jQwMATSkanFQNLQVClWB0nGCF3GyQkqYwyk/fKBhAGquAmSeCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Agent ID" = _t, #"Request#" = _t, #"Parameter Q1" = _t, Score = _t]),
        Ad_GroupHelper = Table.AddColumn(Source, "GoupHelper", each 1, Int64.Type),
        GroupedRows = Table.Group(Ad_GroupHelper, {"GoupHelper"}, {
            {"Total Checked", each Table.RowCount(_), Int64.Type},
            {"Total Yes", each Table.RowCount(Table.SelectRows(_, (x)=> x[Parameter Q1] = "Yes")), Int64.Type},
            {"Total No", each Table.RowCount(Table.SelectRows(_, (x)=> x[Parameter Q1] = "No")), Int64.Type} }),
        Ad_Achieved = Table.AddColumn(GroupedRows, "Achieved %", each [Total Yes] / [Total Checked], Percentage.Type),
        RemovedColumns = Table.RemoveColumns(Ad_Achieved,{"GoupHelper"})
    in
        RemovedColumns
  • Hi Jit007 

     

    My solution is in DAX.

     

    The measures are as follows:

     

    Total Checked = 
        CALCULATE(
            COUNTROWS( 'Table' ),
            ALL( 'Table' )
        )
    
    Total Yes = 
        CALCULATE(
            COUNTROWS( 'Table' ),
            'Table'[Parameter Q1] = "Yes"
        )
    
    Total No = 
        CALCULATE(
            COUNTROWS( 'Table' ),
            'Table'[Parameter Q1] = "No"
        )
    
    Achieved % = 
        DIVIDE(
            [Total Yes],
            [Total Checked]
        )
    

     

     

    Let me know if you have any questions.

     

    Jit007.pbix

     

2 Replies

  • dufoq3's avatar
    dufoq3
    Community Champion

    Hi Jit007,

     

    Result:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnRU0lEK8jQwMATSkanFQNLQVClWB0nGCF3GyQkqYwyk/fKBhAGquAmSeCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Agent ID" = _t, #"Request#" = _t, #"Parameter Q1" = _t, Score = _t]),
        Ad_GroupHelper = Table.AddColumn(Source, "GoupHelper", each 1, Int64.Type),
        GroupedRows = Table.Group(Ad_GroupHelper, {"GoupHelper"}, {
            {"Total Checked", each Table.RowCount(_), Int64.Type},
            {"Total Yes", each Table.RowCount(Table.SelectRows(_, (x)=> x[Parameter Q1] = "Yes")), Int64.Type},
            {"Total No", each Table.RowCount(Table.SelectRows(_, (x)=> x[Parameter Q1] = "No")), Int64.Type} }),
        Ad_Achieved = Table.AddColumn(GroupedRows, "Achieved %", each [Total Yes] / [Total Checked], Percentage.Type),
        RemovedColumns = Table.RemoveColumns(Ad_Achieved,{"GoupHelper"})
    in
        RemovedColumns
  • Hi Jit007 

     

    My solution is in DAX.

     

    The measures are as follows:

     

    Total Checked = 
        CALCULATE(
            COUNTROWS( 'Table' ),
            ALL( 'Table' )
        )
    
    Total Yes = 
        CALCULATE(
            COUNTROWS( 'Table' ),
            'Table'[Parameter Q1] = "Yes"
        )
    
    Total No = 
        CALCULATE(
            COUNTROWS( 'Table' ),
            'Table'[Parameter Q1] = "No"
        )
    
    Achieved % = 
        DIVIDE(
            [Total Yes],
            [Total Checked]
        )
    

     

     

    Let me know if you have any questions.

     

    Jit007.pbix