Страницы: 1
RSS
Динамическая колонка Power BI DAX
 
Всем привет!

В эту ветку призываются гуру DAX и Power BI !

Столкнулся с такой проблемой: как сделать динамическую (управляемую пользователем) колонку в таблице в Power BI

Исходные данные такие, всего одна табличка: магазин - заказ - выручка


Далее нужно каждому магазину присвоить категорию в зависимости от его продаж, если продажи >= 400, то категория1, если >=200, то категория2, иначе категория3.
Для этого я создаю отдельную табличку DimStoreCategory таким образом:
Код
DimStoreCategory = ADDCOLUMNS(
    SUMMARIZE ( data , [Store] )
    , "SalesByStore", calculate ( sum ( data[Sales] ) )
    , "StoreCategory"
    , switch ( true,
        calculate ( sum ( data[Sales] ) ) >= 400 , "Category1"
        ,calculate ( sum ( data[Sales] ) ) >= 200 , "Category2"
        , "Category3"
    )
)



И соединяю ее с исходным данными отношением один ко многим:



Теперь я хочу, чтобы, например, пользователь мог сделать так, чтобы у категория1 было другое правило, пусть продажи >= 500 (или любое другое число)
По идее, для этого можно создать параметр и вывести его как single select фильтр на страничку


Вопрос, как сделать так, чтобы этот выбор фильтра влиял на колонку StoreCategory в табличке DimStoreCategory ?

Все попробовал (min, max, selectedvalue), но выглядит так, как будто бы значение фильтра параметра на страничке вообще не влияет на эту колонку


Может, кто сталкивался с подобными проблемами или решал их принципиально другим способом?
Изменено: CEMEH_OBCEEB - 14.01.2025 13:56:12
 
Цитата
CEMEH_OBCEEB написал:
Может, кто сталкивался с подобными проблемами или решал их принципиально другим способом?
значение параметра можно передать в меру, но никак не в вычисляемый столбец таблицы. Поэтому этот путь решения проблемы не сработает. Вы сейчас присваиваете категорию магазину заранее, а нужно сделать так, чтобы категория присваивалась динамически. Это непростая задача, к сожалению времени сделать ее за вас у меня нет. Но суть такая: отдельно создаете таблицу категорий, но связи делать НЕ нужно. Теперь в матрицу бросаете категории и магазины. Конечно, у Вас будет дублирование всех магазинов в каждой категории, но тут Вы должны написать меру, которая в виртуальной таблице распределит магазины по категориям и если категория совпадает с нужной, то выводите результат, если нет - blank(). В мере Вы сможете делать расчет от параметра.
Изменено: Vladimir Ch - 14.01.2025 14:35:07
 
Vladimir Ch
Спасибо, похоже такое решение действительно не подойдет

Наткнулся на вот такое решение:
https://community.fabric.microsoft.com/t5/Desktop/Dynamic-Calculated-Column-as-Visual-dimension/td-p...

Но с обилием мер и категорий в реальном проекте тут придется, скажем так, потрудиться

Похоже, делать нечего, буду делать так (ваше предложение в принципе совпадает с той идеей по ссылке)

Может забить на этот Power BI и просто все реализовать на Python?
Изменено: CEMEH_OBCEEB - 14.01.2025 14:44:32
Страницы: 1
Наверх