Как передать отфильтрованную таблицу в RankX - PullRequest
0 голосов
/ 03 апреля 2019

Я бы хотел, чтобы RankX оценивал товары для Var2 и рассматривал / смотрел только те товары, которые имеют значение для Var1 (поэтому только A и B, а не C).

Вот пример модели данных, включающей в себя сводную таблицу enter image description here

А вот меры, которые я использую:

SUM Value = SUM ( Data[Value] )

Var1 Check = CALCULATE ( COUNTROWS ( Data ), Variable[Variable] = "Var1" )

RankX = RANKX ( ALL ( 'Product' ), [SUM Value] )

RankX Filter = IF ( ISBLANK ( [Var1 Check] ), BLANK (), [RankX] )

Идея состоит в том, что моя отфильтрованная функция RankX (фильтр RankX) показывает 2 вместо 3 для продукта B, так как следует учитывать только A и B.

Используя DAX Studio, мне удалось соответствующим образом отфильтровать таблицу продуктов, но я не знаю, является ли это правильным подходом и как передать эту отфильтрованную таблицу в функцию RankX.

FILTER (
    ADDCOLUMNS (
        'Product',
        "Var1Check", CALCULATE ( COUNTROWS ( Data ), Variable[Variable] = "Var1" )
    ),
    [Var1Check] = 1
)

1 Ответ

1 голос
/ 03 апреля 2019

Вы просто должны иметь возможность отфильтровать таблицу в качестве первого аргумента в вашей функции RANKX.Что-то вроде этого:

RANKX ( FILTER ( 'Product', Variable[Variable] = "Var1" ), [SUM Value] )
...