Основные функции DAX для создания мер в Power BI
В данной статье рассмотрим основные функции DAX,
которые помогут для создания формул и мер в Power BI.

Все представленные ниже функции ссылаются на официальный источник Microsoft, где описывается подробное описание каждой функции.
В данной статье представлены основные назначения функций DAX.

Математические функции
SQRT Возвращает квадратный корень числа.
POWER Возвращает результат возведения числа в степень.
SIGN Определяет знак числа, результата вычисления или значения в столбце. Функция возвращает значение 1, если число положительное, значение 0 (ноль), если число равно нулю, и значение -1, если число отрицательное.
QUOTIENT Выполняет деление и возвращает только целочисленную часть результата. Эта функция используется, если не нужно учитывать остаток от деления.
ABS Возвращает абсолютное значение числа.
INT Округляет число в меньшую сторону до ближайшего целого.
ROUND Округляет число до указанного количества разрядов.
ROUNDDOWN Округляет число вниз, к нулю.
ROUNDUP Округляет число в большую сторону, от 0 (нуля).
FLOOR Округляет число в меньшую сторону (к нулю) до ближайшего числа, кратного заданной значимости.
CEILING Округляет число в большую сторону до ближайшего целого или до ближайшего числа, кратного заданной значимости.
ISO.CEILING Округляет число в большую сторону до ближайшего целого или до ближайшего числа, кратного заданной значимости.
MROUND Возвращает число, округленное до кратного заданной значимости.
TRUNC Усекает число до целого, удаляя дробную часть.
RAND Возвращает случайное число, большее или равное 0 и меньшее 1, с равномерным распределением. Возвращаемое число изменяется каждый раз при пересчете ячейки, содержащей данную функцию.
RANDBETWEEN Возвращает случайное число, расположенное в интервале между двумя заданными числами.
PI Возвращает число pi с точностью до 15 знака.
LOG Возвращает логарифм числа по указанному основанию.
LOG10 Возвращает логарифм числа по основанию 10.
LN Возвращает натуральный логарифм числа. Натуральные логарифмы вычисляются по основанию ee.
EXP Возвращает значение выражения enen, где nn — заданное в параметрах число. Функция EXP обратна функции LN.
FACT Возвращает факториал числа.


Функции даты и времени
  • DATE Преобразует год, месяц, день, заданный в виде чисел в дату формате datetime.
  • TIME Преобразует часы, минуты и секунды, заданные в виде чисел, во время в формате datetime.
  • DATEVALUE Преобразует дату из текстового формата в дату в формате datetime.
  • TIMEVALUE Преобразует время из текстового формата во время в формате datetime.
  • TODAY Возвращает текущую дату без времени.
  • NOW Возвращает текущую дату и время.
  • YEARВозвращает для заданной даты год в виде четырехзначного числа от 1900 до 9999.
  • MONTHВозвращает месяц в виде числа от 1 до 12.
  • DAYВозвращает день месяца в виде числа от 1 до 31.
  • HOURВозвращает значение часа в виде числа от 0 до 23.
  • MINUTEВозвращает число минут от 0 до 59 по заданному значению даты и времени.
  • SECONDВозвращает для заданного значения времени число секунд в виде числа от 0 до 59.
  • WEEKDAYВозвращает число от 1 до 7, определяющее день недели для даты. По умолчанию дни недели считаются от воскресенья (1) до субботы (7).
  • WEEKNUMВозвращает номер недели для заданных даты и года в соответствии со значением тип возврата. Номер недели указывает числовую позицию недели относительно начала года.
  • DATEDIFF Возвращает интервал времени между двумя датами. (Тип интервала указывается в параметре Interval) Интервал может принимать следующие значения: second, minute, hour, day, week, month, quarter, year.
  • YEARFRAC Вычисляет долю года, представленную числом целых дней между двумя датами. Функция позволяет определить долю преимуществ или обязательств за целый год, приходящуюся на указанный срок.
  • EDATE Возвращает дату, отстоящую от заданной даты на указанное число месяцев (до или после). С помощью функции вычисляются сроки обязательств и платежей, приходящиеся на тот же день месяца, что и начало расчетного периода.
  • EOMONTH Возвращает дату окончания месяца (до или после указанного числа месяцев). С помощью функции вычисляются сроки обязательств и платежей, приходящиеся на конец месяца.
Логические функции

  • TRUE Возвращает логическое значение true.
  • FALSE Возвращает логическое значение false.
  • AND Проверяет значения аргументов и возвращает значение true, если оба аргумента имеют значение true. В противном случае возвращает значение false.
  • OR Проверяет, является ли один из аргументов true, и если да, то возвращает значение true. Функция возвращает значение false, если оба аргумента имеют значение false.
  • NOT Изменяет значение false на true, а true на false.
  • IF Проверяет выполнение условия, указанного в первом аргументе. Возвращает одно значение, если условие равно true, и другое значение, если условие равно false.
  • SWITCH Вычисляет выражение на основе списка значений и возвращает одно из нескольких возможных результирующих выражений.
Текстовые функции
  • UNICHAR Возвращает символ Юникод по его числовому значению. Работает аналогично функции Excel ЮНИСИМВ
  • LEN Возвращает число символов в текстовой строке.
  • SEARCH Возвращает номер позиции, начиная с которой обнаружена подстрока. Поиск идет слева на право без учета регистра и с учетом диакритических знаков.
  • FIND Возвращает начальный номер позиции, начиная с которой обнаружена подстрока. Поиск идет с учетом регистра.
  • MID Возвращает строку символов из середины текстовой строки с учетом начальной позиции и длины.
  • REPLACE Заменяет часть текстовой строки другой текстовой строкой на основе указанного числа символов.
  • SUBSTITUTE Заменяет существующий текст новым в текстовой строке.
  • EXACT Сравнивает две текстовые строки и возвращает true, если они полностью одинаковые, и false в противном случае. Функция учитывает регистр, но не учитывает отличия форматирования. Можно использовать функцию, чтобы проверить входящий в документ текст.
  • CONCATENATE Соединяет две текстовые строки в одну текстовую строку (Чаще удобнее использовать оператор &).
  • CONCATENATEX Функция работает над таблицей и возвращает текстовую строку. Сначала для каждой записи таблицы вычисляет выражение, а затем сводит все вычисленные записи таблицы в одну строку с учетом разделителя из параметров.
  • REPT Повторяет текст заданное количество раз.
  • LEFT Возвращает указанное количество символов с начала текстовой строки.
  • RIGHT Функция RIGHT возвращает последний символ или последние символы текстовой строки, в зависимости от указанного количества символов.
  • TRIM Удаляет все пробелы из текста, за исключением единичных пробелов между словами.
  • LOWER Преобразует все буквы в текстовой строке в нижний регистр.
  • UPPER Преобразует все буквы в текстовой строке в верхний регистр.
  • FORMAT Преобразует значение в текст в указанном числовом формате. (см. также предопределенные форматы чисел и даты и времени. Пользовательские форматы чисел и даты и времени)
  • FIXED Преобразует значение в текст в указанном числовом формате.
  • VALUE Преобразует текстовую строку, представляющую число, в число.
  • CURRENCY Вычисляет аргумент и возвращает результат как тип данных currency.
Информационные функции
  • ISBLANK Проверяет, пустое ли значение, и возвращает значение true или false.
  • ISEMPTY Возвращает значение true, если таблица пустая.
  • ISLOGICAL Проверяет, является ли значение ошибкой, и возвращает true или false.
  • ISTEXT Проверяет, является ли значение текстом, и возвращает true или false.
  • ISNONTEXT Проверяет, не является ли значение текстом (пустые ячейки не являются текстом), и возвращает true или false.
  • ISNUMBER Проверяет, является ли значение числом, и возвращает true или false.
  • ISEVEN Возвращает значение ИСТИНА, если число четное, и значение ЛОЖЬ, если нечетное.
  • ISODD Возвращает значение ИСТИНА, если число нечетное, и значение ЛОЖЬ, если четное.
  • ISFILTERED Возвращает значение true, если columnName фильтруется напрямую. Если для столбца не задан фильтр или если фильтрация происходит потому, что выполняется фильтрация другого столбца в той же или в связанной таблице, функция возвращает значение false.
  • ISCROSSFILTERED Возвращает значение true при фильтрации по столбцу columnName или другому столбцу в этой же или связанной таблице. [ISSUBTOTAL]() Возвращает значение true, если текущая строка содержит подытог для заданного столбца, в противном случае возвращает false.
  • ISONORAFTER Логическая функция, которая эмулирует поведение предложения Start At и возвращает true для строки, которая соответствует всем параметрам условия. Эта функция принимает переменное число аргументов кратное трем (т.н. троек), первые два аргумента в тройке - это сравниваемые выражения, а третий аргумент указывает порядок сортировки. Порядок сортировки по увеличению (по умолчанию) или уменьшению.
  • CONTAINS Возвращает значение true, если значения для всех столбцов, на которые имеются ссылки, существуют или содержатся в этих столбцах; в противном случае возвращает значение false.
  • CONTAINSROW Возвращает значение true, если существует по меньшей мере одна строка, в которой все столбцы имеют указанные значения.
  • HASONEFILTER Возвращает значение true, если число значений, отсортированных по columnName, равно одному; в противном случае возвращает значение false.
  • HASONEVALUE Возвращает значение true при фильтрации содержимого столбца columnName до одного уникального значения. В противном случае возвращается значение false.
  • USERNAMEВозвращает имя домена и имя пользователя из учетных данных, предоставленных системе при подключении.

Посмотреть также: