Скажите пожалуйста, есть русскоязычные источники где можно посмотреть какие формулы в каком контексте работают. И еще было бы неплохо разобраться с этими контекстами, а то я до конца не понимаю
Power BI, Power pivot контекст запроса контекст фильтра DAX
07.09.2018 13:50:41
|
|
|
|
07.09.2018 14:11:28
Из того что видел в рунете,
Можете еще И вот еще совершенно забесплатно
Изменено:
Вот горшок пустой, он предмет простой...
|
|
|
|
07.09.2018 18:52:31
Вообще с определением контекстов даже у мелкософта проблемы: Формулы бывают в мерах и вычисляемых столбцах, а контекстов бывает несколько, все вместе они создают общий контекст вычисления. Внешний, или контекст запроса: включает в себя все фильтры, заданные явно или неявно используемыми столбцами (полями) и фильтрами/срезами сводной (полями визуального элемента Power BI), в общем, все фильтры, которые приходят в формулу "снаружи" (должны примениться к формуле и существуют/установлены ДО её вычисления). Контекст фильтра - полный набор всех фильтров, применяемых к набору данных, в том числе модифицированных (измененных, добавленных или удаленных) внутри самой формулы. Контекст строки: работает в вычисляемых столбцах и функциях-итераторах (типа SUMX или FILTER) - о нем чуть ниже. В вычисляемых столбцах есть контекст строки. Контекст строки - это значения каждого столбца текущей строки (если чуть упрощать). В этом контексте простое обращение к столбцу понимается как обращение к значению столбца в текущей строке (мы хотим получить конкретное скалярное значение). Однако если мы используем в вычисляемом столбце не просто формулу типа Таблица[Столбец1]+Таблица[Столбец2], а какую-то функцию, и эта функция на вход принимает не скалярное значение, а столбец, то и будет рассматриваться то, что запрошено: столбец таблицы целиком. Самый простой пример: функция SUM требует своим аргументом столбец, и при создании вычисляемого столбца с формулой =SUM(Таблица[Столбец]) она возьмет в рассмотрение весь столбец. Если мы используем в формуле вычисляемого столбца функцию CALCULATE, то она преобразует контекст строки в контекст фильтра - значение КАЖДОГО столбца текущей строки становится самостоятельным фильтром для данных этой таблицы. То есть формула =CALCULATE(SUM(Таблица[Столбец])) посчитает сумму столбца только в текущей строке (или, если несколько строк дублируются полностью, посчитает сумму столбца по всем дублирующимся строкам). Использование меры в расчете вычисляемого столбца равнозначно использованию CALCULATE. Эта история называется перенос контекста. Аналогично работает контекст строки и перенос контекста в виртуальных таблицах (например, внутри функции SUMX мы перебираем строки виртуальной таблицы и для каждой строки делаем какие-то вычисления - почти как вычисляемый столбец в обычной таблице). Но вообще всё просто:
В DAX вообще всё просто: есть таблицы и есть примененные к ним фильтры, и больше, в общем, ничего там особенного нет. Другое дело, что удержать в голове все пересечения и модификации фильтров может быть тяжело без привычки.
F1 творит чудеса
|
|||
|
|
28.09.2018 10:02:39
мне понравились
1й - фильтры для столбца, СТОЛБЦЫ в Сводной 2й - фильтры для строки, СТРОКИ в Сводной 3й - фильтры для ячейки (каждой), ЗНАЧЕНИЯ в Сводной ... имхо
Изменено:
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
|
|||||
|
|
28.09.2021 13:35:36
Присвоит трудно, кажется это дело много очен много численный практики
|
||||
|
|
|||