Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Good afternoon!
I have a measure which calculates sales MTD, QTD or YTD and depends on slicer SalesDateSlicer value:
MyMeasure :=
var Result =
SWITCH
(
SELECTEDVALUE(SalesDateSlicer[Period]),
"MTD", CALCULATE(SUM('Sales'[Sales]),
FILTER(ALL('Sales'),
DATESMTD('Sales'[Date]))
),
"QTD", CALCULATE(SUM('Sales'[Sales]),
FILTER(ALL('Sales'),
DATESQTD('Sales'[Date]))
),
"YTD", CALCULATE(SUM('Sales'[Sales]),
FILTER(ALL('Sales'),
DATESYTD('Sales'[Date]))
)
)
RETURN Result However, when I try to use my measure in a matrix it fails with error "A table of multiple values was supplied where a single value was expected". How to fix that?
Hi @darkmetrics
Please try
MyMeasure :=
VAR Result =
SWITCH (
SELECTEDVALUE ( SalesDateSlicer[Period] ),
"MTD",
CALCULATE (
SUM ( 'Sales'[Sales] ),
DATESMTD ( 'Sales'[Date] ),
ALL ( 'Sales' )
),
"QTD",
CALCULATE (
SUM ( 'Sales'[Sales] ),
DATESQTD ( 'Sales'[Date] ),
ALL ( 'Sales' )
),
"YTD",
CALCULATE (
SUM ( 'Sales'[Sales] ),
DATESYTD ( 'Sales'[Date] ),
ALL ( 'Sales' )
)
)
RETURN
Result
However, this is not guaranteed to work as time intelligence functions require standard date table with homogeneous date column. It is always a good idea to use a dimension date table.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 19 | |
| 13 | |
| 9 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 30 | |
| 26 | |
| 17 | |
| 11 | |
| 10 |