如何将经过过滤的表传递给RankX

时间:2019-04-03 10:04:56

标签: dax powerpivot

我希望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筛选器)对于产品B显示2而不是3,因为应该只考虑A和B。

使用DAX Studio,我设法相应地过滤了我的产品表,但是我不知道这是正确的方法还是不知道如何将过滤后的表传递给RankX函数。

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

1 个答案:

答案 0 :(得分:1)

您应该只可以将过滤后的表格作为第一个参数放在RANKX函数中。遵循以下原则:

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