measure other measures

When you want to measure other measures, you need the iterative functions (a.k.a the “X” functions).
In this case they wanted COUNTX().
I threw together an example PBIX with some random data. I have 4 data measurements each day (M1 – M4), each ranging from 1 – 99. I created a measure named GreaterThan50 as
GreaterThan50 = IF(HASONEVALUE(Data[Date]) && HASONEVALUE(Data[Attribute]), IF (VALUES(Data[Value]) > 50, "Y", "N"), BLANK())
I then created a calculated column on the data table named GT, which stored the values of this measure. The data was unpivoted, so each row has a single measurement and a single date. That ensured that the measure wasn’t blank.
I took this column and used the VALUES() function to create a new table, MeasureValues.
MeasureValues = VALUES(Data[GT])
This gave me a table of all of the measure values of the data. In this case it was just “Y” and “N”, but it could have been any number of different values, depending on how they defined the original measure.
I then created the measure MeasureCounts:
MeasureCounts =
VAR MeasureValue = SELECTEDVALUE(MeasureValues[GT])
RETURN COUNTX(FILTER(Data, [GreaterThan50] = MeasureValue), [GreaterThan50])
Then with a matrix visualization, I added Date as the row, GT as the column, and MeasureCounts as the Values.
We then have what we are looking for.