Я экспериментирую с отчетами с разбивкой на страницы PowerBI и считаю, что опыт почти идентичен разработке SSRS.
Поэтому я возвращаю набор данных, заимствованный из существующего решения Power BI. Я хотел бы создать параметр для фильтрации результатов. Поэтому я создаю некоторый DAX для чтения только уникальных комбинаций двух полей из набора данных для значения и отображения.
Я хотел бы воспроизвести старый трюк, когда в SQL я просто объединял строку с такими полями, как «Все» или «Без фильтра». Хотя я могу построить этот аналог в DAX Studio, похоже, он плохо переносится на отчеты с разбивкой на страницы.
EVALUATE
(
UNION (
ROW ( "Plant Number", "ALL", "Plant Name", "All Plants" ),
SUMMARIZE ( 'PLANT PR1', 'PLANT PR1'[Plant Number], 'PLANT PR1'[Plant Name] )
)
)
Это DAX, который я могу использовать в студии DAX, но когда я помещаю его в отчеты с разбивкой на страницы в качестве источника данных для моего параметра «Завод», я получаю кучу нулей в раскрывающемся списке. Любые идеи о том, как я могу улучшить это, чтобы работать в отчетах?
Возвращаясь к этому, оказалось, что это всего лишь небольшая проблема с разбором Report Builder. Я заменил SUMMARIZE
на ALL
, так как это казалось более подходящим для того, что я делал, но проблема, с которой я столкнулся, на самом деле была связана с пробелом, который был вставлен функцией DAX Studio «format DAX». Report Builder не любит этот пробел между ключевым словом EVALUATE
и начальными открывающими скобками. Как только я прижал открытую скобку до конца EVALUATE
, все заработало нормально.
EVALUATE(
UNION (
ROW ( "Plant Number", "All", "Plant Name", "<All Plants>" ),
ALL ( 'PLANT PR1'[Plant Number], 'PLANT PR1'[Plant Name] )
)
)
ORDER BY [Plant Name]