Страницы: 1
RSS
dax RANKX по подкатегориям
 
Добрый день.
Никак не могу понят как правильно расчитать ранг в зависимости от подкатегории

Вводные:
Имеется таблица: 2021
Поля: [Reason] , [Competitor],[Unit]

Имеется мера которая корректно расчитывает по полю [Unit] необходимое значение в зависимости от подкатегории:
Код
Units = CALCULATE(MAX('2021'[Units]),ALLEXCEPT('2021','2021'[Reason],'2021'[Competitor]))
А вот ранг от значения этой меры у меня не получается посчитать((
Код
Ранг = 
    RANKX(ALLEXCEPT('2021','2021'[Reason]),    
        [Units],,DESC)
Вроде бы пробовал разные итерации с оператором ALL но ничего не выходит(

Как видно на скрине (во вложении) по столбцу ранг считает ерунду какую-то.

(верхний уровень иерархии на скрине это [Reason], более низкий это [Competitor])

Прошу посодействовать в решении проблемы
Изменено: sitro - 20.04.2022 23:52:42
 
sitro, попробуйте так:
Код
Ранг =
RANKX ( ALL ( '2021'[Competitor] ), [Units] )
Изменено: surkenny - 21.04.2022 07:18:26
 
Вроде как такая конструкция должна корректно отрабатывать:
Код
Ранг = 
    RANKX(ALLSELECTED( '2021'[Competitor]),    
        [Units],,DESC)
 
Если нужно, чтобы ранг внутри Reason "сохранялся", даже если Reason не выведен в визуализацию, то вариант:
Код
rang2 :=
RANKX (
    VAR CurReason =
        MIN ( '2021'[Reason] )
    VAR compValues =
        CALCULATETABLE (
            VALUES ( '2021'[Competitor] ),
            ALL ( '2021'[Competitor] ),
            '2021'[Reason] = CurReason
        )
    RETURN
        compValues,
    [Units]
)

В файле показал отличие.
 
,Спасибо Большое все сработало.
Единственное бывают пропуски типа 1,2,3,4,..7,8,..10
Но я чуть дошаманил модель и вроде бы пока работает
Страницы: 1
Наверх