Forum Discussion

prashantg364's avatar
prashantg364
Helper II
3 years ago

DAX

I Have a table as shown below and I want to have a calculated column in the last to show the pass KPI count.
input table

AreaKPI1KPI2KPI3KPI4KPI5KPI6KPI7KPI8KPI9KPI10
sdcpasspasspasspasspasspassfailpasspassfail
sdfpassfailfailfailpasspasspasspasspassfail
gfrpasspassfailpasspasspasspasspasspassfail
ertpasspasspasspasspasspasspasspasspasspass
yuipasspassfailpasspasspasspasspassfailfail
mnhpasspasspasspassfailpasspasspassfailfail
gfdpasspasspasspassfailpasspasspasspassfail

 

output table

AreaKPI1KPI2KPI3KPI4KPI5KPI6KPI7KPI8KPI9KPI10Pass KPI count
sdcpasspasspasspasspasspassfailpasspassfail8
sdfpassfailfailfailpasspasspasspasspassfail6
gfrpasspassfailpasspasspasspasspasspassfail8
ertpasspasspasspasspasspasspasspasspasspass10
yuipasspassfailpasspasspasspasspassfailfail7
mnhpasspasspasspassfailpasspasspassfailfail7
gfdpasspasspasspassfailpasspasspasspassfail8

1 Reply

  • ppm1's avatar
    ppm1
    Solution Sage

    You should consider unpivoting your data into KPI and Result columns and just create a measure where the Result = "pass". That would be best practice. You could easily recreate the pivoted view in a matrix visual by putting the KPI column on columns in the matrix.

     

    However, if you still want a calculated column, you could do it in the query editor with Record.ToList(_) and then counting the ones that are "pass" with List.Select. Or you could create a virtual table in a variable in DAX with {[KPI1], [KPI2], ... } and then use COUNTROWS and FILTER on that table where [Value] = "pass'.

     

    Pat