Страницы: 1
RSS
DAX Создание расчетной таблицы через Summarize с переменным условием
 
По DAXу отдельного форума не нашел, смотрю все в эксель пишут, поэтому и я сюда же напишу.
Напишу скорее всего непонятно, но во вложенных примерах все видно и понятно.
Есть 2 несвязанных таблицы. В первой таблице (Заявки) столбцы "Номер заявки" и 3 столбца с датами: дата поступления заявки, дата подписания заявки и дата передачи в лизинг.
Создаю вычисляемую таблицу SlicerTable, с помощью которой можно было бы делать аналог связанных выпадающих списков: типа говоришь "хочу данные по дате поступления заявки", и тебе в срезе показываются только годы, которые есть в столбце "дата поступления заявки". Говоришь "хочу данные по дате подписания договора", и тебе в срезе только годы, которые есть в столбце "дата подписания договора", и т.д.
Сделал SliserTable, вывел 2 среза на лист, все работает.

Дальше есть таблица "Регионы". В ней есть поле с годом. Хочу, чтоб при выборе года в созданном срезе по годам у меня выводились на лист данные из "Регионы" только по выбранному году (напомню, что связи между таблицами нет. Можно конечно сделать костыль через дополнительную таблицу с уникальными годами, но я хочу понять как это без костыля сделать).
Создаю сводную вычисляемую таблицу из таблицы "Регионы", где говорю, что выведи мне регионы, кол-во заявок и сумму для этих регионов, но с условием, что год должен быть равен выбранному году на ранее выведенном срезе по годам. И вот эта операция не работает. Т.е. если я просто создаю сводную таблицу и в условие какой год показывать вбиваю статичную цифру (например, 2020), то сводная строится и все ок. Если же я ей в условие говорю что постройся только по году, равному году в срезе (SELECTEDVALUE), то таблица выводится пустой.
Во вложении эксель и pbix, там все должно быть понятно.

Вопросы:
1. Видимо существует какое-то правило, что в вычисляемой таблице условиями вычисления не могут быть переменные?
2. Как можно это обойти, не строя костыльную таблицу для связывания SlicerTable и "Регионы" по годам?
 
Здрасьте. Вам, товарищ VasiliY_Seryugin, модель данных переделать нужно. Не городите эти таблицы-слайсеры, а создайте единственное нужно измерение -   справочник календарь. При создании связи по дате  с таблицей "заявки" у Вас будет одна активная связь, например по столбцу "дата поступления заявки". И 2 неактивных с другими столбцами с датами. И будет у Вас один срез с годом, а меру напишите так, что в зависимости от фильтра ("какие годы показывать") она сама будет выбирать нужную связь. Далее с Регионом: его привязывать к календарю не надо, т.к. уровень гранулярности - год, а в справочнике-календаре это день. Поэтому тоже пишите чутка усложненную меру, которая смотрит год из слайсера (календаря) и по нему уже делает расчет.
Сделайте модель данных по данной схеме и попробуйте меры написать, если не получится - поможем. А пока по текущей модели данных нет никакого желания городить костыли.
Делайте сразу по феншую.
Изменено: Vladimir Chebykin - 11.06.2021 13:35:23
 
Владимир, спасибо за ответ/совет. Так и сделаю.
Я просто хотел понять, действительно ли сводная таблица не может создаваться с внешним условием и каждый раз пересчитываться, когда внешнее условие (фильтрация несвязанной таблицы через срез) меняется.
Сейчас еще почитал немного документации у майкрософт, видимо действительно так нельзя, создаваемой сводной таблице по всей видимости плевать на контексты фильтров чего либо, кроме фильтров той таблицы, из которой она собственно строится.
Страницы: 1
Наверх