Страницы: 1
RSS
DAX. Разбить числа по интервалам (аналог ф-и ПРОСМОТР для числе в Excel)
 
Добрый день! Подскажите, пожалуйста, если ли более красивое решение, чем вагон ифов для разбития чисел на интервалы?
Дано:
Столбец примерно от минус 100 до плюс 200 ДРОБНЫХ чисел.
Нужно создать столбец(?) для распределения этих чисел на интервалы, {до нуля, до 30, до 60, до 90 до 180, свыше 180}.
Есть какое-то элегантное решение для этого? В экселе это решалось ф-ей Просмотр...
Заранее благодарна!
Пример прикрепить, к сожалению не могу, на работе блокировка загрузки.
 
Вариант
 
А, все, разобралась, спасибо!
 
Если нужно столбец создать, можно и так (формула столбца)
Код
= VAR thisTable =     
UNION (
         ROW ( "Aggregation", "до 0", "From", -100, "To", 0 ),
         ROW ( "Aggregation", "до 30", "From", 0, "To", 30 ),
         ROW ( "Aggregation", "до 60", "From", 30, "To", 60 ),
         ROW ( "Aggregation", "до 90", "From", 60, "To", 90 ),
         ROW ( "Aggregation", "до 180", "From", 90, "To", 180 ),
         ROW ( "Aggregation", "свыше 180", "From", 180, "To", 1000 )
     ) 
RETURN
     SELECTCOLUMNS(
     FILTER ( thisTable,  [From] <= [Цена] && [Цена] < [To] ),
     "Result", [Aggregation])

Если со вспомогательной таблицей, то можно упростить формулу от mechanix 85

Код
= SELECTCOLUMNS(FILTER('Таблица2', [от] <= [Цена] && [Цена] < [до]),"Result",[Интервал])

Изменено: DrillPipe - 05.11.2021 01:04:09
 
DrillPipe, украл на вооружение))
 
mechanix 85,
только аккуратно с этим оружием:
- работает если результат  selectcolumns и filter возвращают единственное значение, умный DAX определяет его как скаляр
- функция filter является итератором и просматривает таблицу по-строчно, может долго отрабатывать фильтруемую таблицу при большом количестве строк
 
Цитата
DrillPipe написал:
может долго отрабатывать фильтруемую таблицу при большом количестве строк
когда выбора нет, то пусть отрабатывает долго

спасибо
Страницы: 1
Наверх