Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I calculate an average value, but not all rows are filled in the original data. These I want to filter this and only return rows containing data in all columns.
Here the data after the caluculation of the average:
I can achieve this by setting a filter in the "filter pane" in the Desktop App.
But, how can I do this in DAX?
Here my code:
LocalCountOfAccicentsAvg =
VAR Known =
FILTER (
SELECTCOLUMNS (
ALLSELECTED ('Date'[Date]),
"Known[X]", 'Date'[Date],
"Known[Y]", CALCULATE(sum(KpiData[LocalCountOfAccidents]))
),
AND (
NOT ( ISBLANK ( Known[X] ) ),
NOT ( ISBLANK ( Known[Y] ) )
)
)
VAR Count_Items =
COUNTROWS ( Known )
VAR Sum_X = SUMX ( Known, Known[X] )
VAR Sum_X2 = SUMX ( Known, Known[X] ^ 2 )
VAR Sum_Y = SUMX ( Known, Known[Y] )
VAR Sum_XY = SUMX ( Known, Known[X] * Known[Y] )
VAR Average_X = AVERAGEX ( Known, Known[X] )
VAR Average_Y = AVERAGEX ( Known, Known[Y] )
VAR Slope = DIVIDE (
Count_Items * Sum_XY - Sum_X * Sum_Y,
Count_Items * Sum_X2 - Sum_X ^ 2
)
VAR Intercept = Average_Y - Slope * Average_X
VAR AllData = SUMX ( DISTINCT ( 'Date'[Date] ),
Intercept + Slope * 'Date'[Date])
RETURN AllData
Thanks!
I think the only issue with your code is not having the [ ] around your table names in the ISBLANKs. I would not use [] in your virtual column names, to simplify things. I would just use "KnownY" and "KnownX" when naming your columns in the SELECTCOLUMNS.
Regards,
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
User | Count |
---|---|
25 | |
12 | |
8 | |
6 | |
6 |
User | Count |
---|---|
26 | |
12 | |
11 | |
10 | |
6 |