Сравнение версий
Версия | Старая версия 1 | Новая версия 2 |
---|---|---|
Изменения, внесенные | ||
Сохранено |
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
В Visiology 3представлена новая схема моделирования данных. С вы можете моделировать данные с помощью формул, в которых используются DAX функции, вы можете производить -функции. Эти функции позволяют выполнять сложные вычисления, результатом которых будут становятся новые данные, которые вы можете затем данные. Полученные данные можно использовать для углубленного анализа данных и создания более информативных дашбордов. Таким образом, научившись создавать формулы DAX, вы сможете наиболее эффективно использовать свои данные, получая нужную информацию для решения различных бизнес-задач.
В данном разделе представлены функции DAX, которые вы можете использовать в текущей версии платформы. Каждая функция сопровождается примером. Наши примеры основываются на модели данных построенной по схеме “звезда“, таблицей фактов в которой является factonlinesales:

DAX (Data Analysis Expressions) - это мощный язык формул и выражений, предназначенный для работы с данными в различных инструментах анализа данных. С помощью DAX можно создавать меры (measures) и выполнять сложные аналитические операции, что делает его незаменимым инструментом для анализа больших объемов данных.
Одной из ключевых концепций DAX является контекст вычислений. Контекст определяет, как интерпретируются и вычисляются формулы в зависимости от условий. В DAX выделяют два основных типа контекстов:
Контекст строки
Этот контекст определяет, как данные обрабатываются в пределах текущей строки таблицы. Например, при использовании функцииSUMX
происходит итерация по каждой строке таблицы, и указанное выражение применяется к каждой строке отдельно. Контекст строки позволяет работать с данными на уровне отдельных записей, что особенно полезно для построения агрегаций или вычислений, зависящих от значений в конкретных строках.Контекст фильтра
Этот контекст определяет, какие данные учитываются при выполнении вычислений. Он применяется в дополнение к контексту строки и позволяет сузить область вычислений до определенных значений. Например, фильтры, примененные в отчете или заданные с помощью функций, влияют на результат вычислений. Контекст фильтра часто используется в таких функциях, какCALCULATE
,FILTER
,RELATED
,ALL
и других. Например, функцияCALCULATE
позволяет изменять контекст фильтра для выполнения вычислений с учетом дополнительных условий.
Понимание контекстов - ключ к эффективному использованию DAX. Правильное применение контекста строки и фильтра позволяет создавать гибкие аналитические решения, адаптированные под конкретные бизнес-задачи.
Рассмотрим несколько примеров, которые демонстрируют данную концепцию.
Пример 1 (контекст строки)
Предположим, компания хочет рассчитать прибыль для каждого бренда в таблице продаж. Прибыль рассчитывается как разница между выручкой и себестоимостью для каждой строки (бренда). Для этого используется следующая формула DAX:
Блок кода |
---|
Прибыль = SUMX (Продажи, Продажи[Выручка] - Продажи[Себестоимость]) |
В данной формуле Продажи[Выручка]
и Продажи[Себестоимость]
– это столбцы в таблице Продажи
. Формула применяется к каждой строке таблицы, вычисляя прибыль для каждого бренда.

Пример 2 (контекст фильтра)
Теперь предположим, что компания хочет рассчитать общую выручку только для определенного региона (например, "Северный регион"). Для этого нужно применить фильтр по региону:
Блок кода |
---|
Выручка_Северный_регион =
CALCULATE(
SUM(Продажи[Выручка]),
FILTER(Регионы, Регионы[Регион] = "Северный регион")
) |
где
SUM(Продажи[Выручка])
– суммирует выручку.CALCULATE
– изменяет контекст фильтра, добавляя условиеРегионы[Регион] = "Северный регион"
, чтобы учитывать только данные для указанного региона.Image Added
Пример 3 (комбинация контекста строки и фильтра)
Далее компания хочет рассчитать среднюю прибыль по брендам, но только для тех, которые были проданы в текущем году. Для этого можно использовать следующую формулу:
Блок кода |
---|
Средняя_прибыль_текущий_год =
CALCULATE(
AVERAGEX(Продажи, Продажи[Выручка] - Продажи[Себестоимость]),
FILTER(Продажи, Продажи[Год] = YEAR(TODAY()))
) |
где
AVERAGEX
– функция, которая итерируется по каждой строке таблицыПродажи
и вычисляет среднее значение прибыли (Выручка - Себестоимость
).CALCULATE
– добавляет фильтр, чтобы учитывать только данные за текущий год (Продажи[Год] = YEAR(TODAY())
).Image Added
Для ознакомления с поддерживаемыми функциями, пройдите по ссылке ниже:
Смотрите также
Нужна дополнительная помощь?