Россия Нет

Функции округления в DAX: INT, TRUNC, ROUND, ROUNDDOWN, ROUNDUP, MROUND, FLOOR, CEILING, ISO.CEILING в Power BI и Power Pivot

 Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):


Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы разберем обширную группу функций в DAX, производящих округление чисел. А именно, функции INT, TRUNC, ROUND, ROUNDDOWN, ROUNDUP, MROUND, FLOOR, CEILING, ISO.CEILING в Power BI и Power Pivot.

Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.

Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».

 

DAX функция INT в Power BI и Power Pivot

INT () — производит округление числа до ближайшего целого в сторону уменьшения.

Синтаксис:

INT (число)

Где, число — числовое значение или столбец с числовыми значениями.

Для демонстрации округления дробных чисел функцией INT, рассмотрим примеры формул на основе исходной таблицы в Power BI Desktop, содержащей разные положительные и отрицательные числовые значения:

 

Создадим в этой таблице вычисляемый столбец на основе DAX функции INT по следующей формуле:

Пример INT = INT ([Числа])

Результатом выполнения этой формулы будет создан столбец с округленными исходными числами:

 

Из скриншота мы видим, что INT, действительно, округлила числа до ближайшего целого числа в меньшую сторону, то есть, число 233,786 округлилось до 233, а — 233,786 уже округлилось до -234.

 

DAX функция TRUNC в Power BI и Power Pivot

TRUNC () — округляет число до целого, обрезая его дробную часть

Синтаксис:

TRUNC (Число; ТО)

Где:

  • Число — числовое значение или столбец с числовыми значениями
  • ТО — (необязательный параметр) число, задающее точность округления. По умолчанию = 0. Если ТО положительное, то оно отсекает дробную часть, если отрицательное, то округляет правую часть целого числа относительно запятой, если равно 0, то возвращает само целое число, без дроби

Рассмотрим примеры формул с участием DAX функции TRUNC на основе все той же исходной таблицы в Power BI:

Пример TRUNC (1) = TRUNC ([Числа]; 1)
Пример TRUNC (0) = TRUNC ([Числа]; 0)
Пример TRUNC (-1) = TRUNC ([Числа]; -1)
Пример TRUNC (-2) = TRUNC ([Числа]; -2)
Пример TRUNC (-3) = TRUNC ([Числа]; -3)

 

Как мы видим из примера, при значении точности округления 1, отсекается дробная часть и от нее остается 1 цифра, если ТО равно 0, то отсекается полностью вся дробь, и если отрицательная, числа по правую сторону от запятой округляются до нуля.

 

DAX функция ROUND в Power BI и Power Pivot

ROUND () — производит математическое округление числа до указанной точности округления.

ROUND очень похожа на функцию TRUNC, только TRUNC — просто обрезает дробную часть, а ROUND именно округляет математически.

Синтаксис:

ROUND (Число; ТО)

Где:

  • Число — числовое значение или столбец с числовыми значениями
  • ТО — число, задающее точность округления. Если ТО положительное, то оно математически округляет дробную часть, если отрицательное, то округляет правую часть целого числа относительно запятой. Если равно 0, то возвращает математически округленное целое число, без дроби

Рассмотрим примеры формул с участием DAX функции ROUND на основе все той же исходной таблицы в Power BI:

ROUND (2) = ROUND ([Числа]; 2)
ROUND (1) = ROUND ([Числа]; 1)
ROUND (0) = ROUND ([Числа]; 0)
ROUND (-1) = ROUND ([Числа]; -1)
ROUND (-2) = ROUND ([Числа]; -2)
ROUND (-3) = ROUND ([Числа]; -3)

 

DAX функция ROUNDDOWN в Power BI и Power Pivot

ROUNDDOWN () — производит округление числа вниз до указанной точности округления.

ROUNDDOWN похожа на функцию ROUND, но ROUND — производит математическое округление (и вверх, и вниз), а ROUNDDOWN, исходя из названия — округляет всегда вниз.

Также, ROUNDDOWN похожа на функцию INT, так как INT, также, округляет число вниз, но всегда только до целого числа, в то время как, ROUNDDOWN может округлять не только до целого числа, но и до дробного, управляя точностью округления.

Синтаксис:

ROUNDDOWN (Число; ТО)

Где:

  • Число — числовое значение или столбец с числовыми значениями
  • ТО — число, задающее точность округления. Если ТО положительное, то оно округляет дробную часть, если отрицательное, то округляет правую часть целого числа относительно запятой, если равно 0, то возвращает округленное целое число, без дроби

Рассмотрим примеры формул с участием DAX функции ROUNDDOWN на основе все той же исходной таблицы в Power BI:

ROUNDDOWN (1) = ROUNDDOWN ([Числа]; 1)
ROUNDDOWN (0) = ROUNDDOWN ([Числа]; 0)
ROUNDDOWN (-1) = ROUNDDOWN ([Числа]; -1)
ROUNDDOWN (-2) = ROUNDDOWN ([Числа]; -2)
ROUNDDOWN (-3) = ROUNDDOWN ([Числа]; -3)

 

DAX функция ROUNDUP в Power BI и Power Pivot

ROUNDUP () — производит округление числа вверх до указанной точности округления.

ROUNDUP похожа на функцию ROUNDDOWN, но ROUNDDOWN — производит округление только вниз, а ROUNDUP, исходя из названия — округляет всегда вверх.

Синтаксис:

ROUNDUP (Число; ТО)

Где:

  • Число — числовое значение или столбец с числовыми значениями
  • ТО — число, задающее точность округления. Если ТО положительное, то оно округляет дробную часть, если отрицательное, то округляет правую часть целого числа относительно запятой, если равно 0, то возвращает округленное целое число, без дроби

Рассмотрим примеры формул с участием DAX функции ROUNDUP на основе все той же исходной таблицы в Power BI:

ROUNDUP (2) = ROUNDUP ([Числа]; 2)
ROUNDUP (1) = ROUNDUP ([Числа]; 1)
ROUNDUP (0) = ROUNDUP ([Числа]; 0)
ROUNDUP (-1) = ROUNDUP ([Числа]; -1)
ROUNDUP (-2) = ROUNDUP ([Числа]; -2)
ROUNDUP (-3) = ROUNDUP ([Числа]; -3)

 

DAX функция MROUND в Power BI и Power Pivot

MROUND () — выполняет округление числа, кратно заданному значению точности.

Синтаксис:

MROUND (Число; Кратное)

Где:

  • Число — числовое значение или столбец с числовыми значениями
  • Кратное — число, задающее значение, кратно которому будет округляться исходное число

! — Исходное число и кратное число, входящие в параметры функции MROUND должны быть одного знака — или оба положительные, или оба отрицательные, иначе возвратится ошибка.

Рассмотрим примеры формул с участием DAX функции MROUND на основе все той же исходной таблицы в Power BI, но отрицательные и положительные значения которой, мы разделим на две отдельные таблицы, так как исходные числа и кратные числа в параметрах MROUND должны быть с одним знаком:

MROUND (5) = MROUND ([Числа]; 5)
MROUND (2) = MROUND ([Числа]; 2)
MROUND (0,5) = MROUND ([Числа]; 0,5)
MROUND (0,2) = MROUND ([Числа]; 0,2)
MROUND (0) = MROUND ([Числа]; 0)

 

MROUND (-5) = MROUND ([Числа]; -5)
MROUND (-2) = MROUND ([Числа]; -2)
MROUND (-0,5) = MROUND ([Числа]; -0,5)
MROUND (-0,2) = MROUND ([Числа]; -0,2)
MROUND (0) = MROUND ([Числа]; 0)

 

Как мы можем наблюдать из примеров в Power BI, действительно, округление происходит кратно значению, указанному во втором параметре MROUND (например, -233,786 округляется кратно -5, как итог = -235)

 

DAX функция FLOOR в Power BI и Power Pivot

FLOOR () — выполняет округление числа в меньшую к нулю сторону, кратно заданному значению точности.

Синтаксис:

FLOOR (Число; Кратное)

Где:

  • Число — числовое значение или столбец с числовыми значениями
  • Кратное — число, задающее значение, кратно которому будет округляться исходное число

! — Если исходное число положительное, то кратное число, входящее в параметры функции FLOOR, также, должно быть положительным. Если исходное число отрицательное, то кратное число может быть как отрицательным, так и положительным.

! — Кратное число не может раняться 0

Рассмотрим примеры формул с участием DAX функции FLOOR на основе все той же исходной таблицы в Power BI, но, как и в случае с примером функции MROUND, отрицательные и положительные значения исходной таблицы мы разделим на две отдельные таблицы:

FLOOR (2) = FLOOR ([Числа]; 2)
FLOOR (1) = FLOOR ([Числа]; 1)
FLOOR (0,1) = FLOOR ([Числа]; 0,1)
FLOOR (0,01) = FLOOR ([Числа]; 0,01)

 

И примеры с отрицательными исходными значениями:

FLOOR (-0,1) = FLOOR ([Числа]; -0,1)
FLOOR (-1) = FLOOR ([Числа]; -1)
FLOOR (-2) = FLOOR ([Числа]; -2)

 

DAX функция CEILING в Power BI и Power Pivot

CEILING () — выполняет округление числа в большую сторону до ближайшего целого, кратно значению из второго параметра.

Синтаксис:

CEILING (Число; Кратное)

Где:

  • Число — числовое значение или столбец с числовыми значениями
  • Кратное — число, задающее значение, кратно которому будет округляться исходное число

! — Если исходное число положительное, то кратное число, входящее в параметры функции CEILING, также, должно быть положительным. Если исходное число отрицательное, то кратное число может быть как отрицательным, так и положительным.

! — Если исходное число отрицательное и кратное число, также, отрицательное, то округление происходит в меньшую сторону.

Рассмотрим примеры формул с участием DAX функции CEILING на основе все той же исходной таблицы в Power BI, но, отрицательные и положительные значения исходной таблицы мы разделим на две отдельные таблицы:

CEILING (0) = CEILING ([Числа]; 0)
CEILING (1) = CEILING ([Числа]; 1)
CEILING (2) = CEILING ([Числа]; 2)

 

CEILING (2) = CEILING ([Числа]; 2)
CEILING (1) = CEILING ([Числа]; 1)
CEILING (0) = CEILING ([Числа]; 0)
CEILING (-1) = CEILING ([Числа]; -1)
CEILING (-2) = CEILING ([Числа]; -2)

 

Как мы можем наблюдать из примера, действительно, в обычной ситуации CEILING округляет число в большую сторону до ближайшего целого кратно значимости второго параметра. Но, когда исходное значение отрицательное и кратное тоже отрицательное, округление происходит в обратную (меньшую) сторону.

 

DAX функция ISO.CEILING в Power BI и Power Pivot

ISO.CEILING () — выполняет округление числа в большую сторону до ближайшего целого, кратно значению из второго параметра.

Синтаксис:

ISO.CEILING (Число; Кратное)

Где:

  • Число — числовое значение или столбец с числовыми значениями
  • Кратное — число, задающее значение, кратно которому будет округляться исходное число

ISO.CEILING — по всем параметрам идентична функции CEILING, за исключением того фактора, когда исходное число отрицательное и кратное число, также, отрицательное — ISO.CEILING, в отличие от CEILING, округление производит в большую сторону.

Рассмотрим примеры формул с участием DAX функции ISO.CEILING на основе все той же исходной таблицы в Power BI:

ISO.CEILING (2) = ISO.CEILING ([Числа]; 2)
ISO.CEILING (1) = ISO.CEILING ([Числа]; 1)
ISO.CEILING (0) = ISO.CEILING ([Числа]; 0)
ISO.CEILING (-1) = ISO.CEILING ([Числа]; -1)
ISO.CEILING (-2) = ISO.CEILING ([Числа]; -2)

 

На этом, с разбором функций округления в языке DAX: INT, TRUNC, ROUND, ROUNDDOWN, ROUNDUP, MROUND, FLOOR, CEILING, ISO.CEILING в Power BI и Power Pivot, все.

Пожалуйста, оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(8 голосов, в среднем: 5 из 5 баллов)
[Экспресс-видеокурс] Быстрый старт в языке DAX

 
 
Антон БудуевУспехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
 
 
 
 

Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
 
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.

 
Понравился материал статьи?
Избранные закладкиДобавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D

Автор статьи:
Категория: Язык функций и формул DAX для Power BI и Excel (Power Pivot)

Добавить комментарий

* Заполняя форму отправки комментария своими персональными данными (имя, email, сайт и др.), Вы автоматически подтверждаете свое согласие на обработку своих персональных данных