Filter DAX聚合和动态过滤器

Filter DAX聚合和动态过滤器,filter,filtering,powerbi,aggregation,dax,Filter,Filtering,Powerbi,Aggregation,Dax,我试图计算响应切片器选择的聚合数据(按级别1)(在级别2上) 具体示例: 数据 Level1 Level2 Level3 Data A z q 1 A zz q 2 A zzz r 3 A zzzz r 4 B z q 10 B zz q 20 B zzz

我试图计算响应切片器选择的聚合数据(按级别1)(在级别2上)

具体示例:

数据

Level1  Level2  Level3 Data
A         z       q      1
A         zz      q      2
A         zzz     r      3
A         zzzz    r      4
B         z       q      10
B         zz      q      20
B         zzz     r      30
B         zzzz    r      40
按级别1聚合数据

备选案文1。 使用GroupBy创建表,并使用Level1(在“关系”选项卡中)连接表

备选案文2。使用表1中的过滤器

AggL1_Filter = 
    Calculate(
    sum(Table1[Data]),
    FILTER(
        Table1,
        Table1[Level1]= EARLIER(Table1[Level1])
        )
)  
结果汇总工作

但是,使用Level2切片器进行过滤不起作用

聚合数据“AggL1_”仍然显示10和100,其中我希望看到5(A)和50(B)

非常感谢你的帮助,我已经被困在这上面很久了

提前感谢,


dusiod

我想你只需要使用


编辑:如果只需要按
Level1
分组(忽略其他可能级别的筛选上下文),则需要进行调整

AggMeasure = CALCULATE(SUM(Table1[Data]),
                 FILTER(ALLSELECTED(Table1),
                     Table1[Level1] IN VALUES(Table1[Level1])))
这之前使用了<代码>所有选定的函数来保存切片器的选择,但是添加了一个条件,我们只考虑与当前<代码> Leal1匹配的行。对于
A
行中的任何内容,
值(表1[Level1])
仅返回
A
,因为这是它在过滤器上下文中看到的全部内容。(总计行删除所有筛选器上下文,因此返回两者之和。)

您可以使用
=MAX(…)
=MIN(…)
=LASTNONBLANK(…)
代替值(…)中的


我想你只需要使用


编辑:如果只需要按
Level1
分组(忽略其他可能级别的筛选上下文),则需要进行调整

AggMeasure = CALCULATE(SUM(Table1[Data]),
                 FILTER(ALLSELECTED(Table1),
                     Table1[Level1] IN VALUES(Table1[Level1])))
这之前使用了<代码>所有选定的函数来保存切片器的选择,但是添加了一个条件,我们只考虑与当前<代码> Leal1匹配的行。对于
A
行中的任何内容,
值(表1[Level1])
仅返回
A
,因为这是它在过滤器上下文中看到的全部内容。(总计行删除所有筛选器上下文,因此返回两者之和。)

您可以使用
=MAX(…)
=MIN(…)
=LASTNONBLANK(…)
代替值(…)
中的


我想这就解决了问题

0Measure = 
CALCULATE(
    SUM(Table1[Data]),
    FILTER(ALLSELECTED(Table1),Table1[Level1]=MAX(Table1[Level1]))
)
但是有人能解释一下为什么过滤条件有效吗

Table1[Level1]=MAX(Table1[Level1])

尤其是MAX的文档中指出,函数忽略逻辑值和文本

我认为这解决了问题

0Measure = 
CALCULATE(
    SUM(Table1[Data]),
    FILTER(ALLSELECTED(Table1),Table1[Level1]=MAX(Table1[Level1]))
)
但是有人能解释一下为什么过滤条件有效吗

Table1[Level1]=MAX(Table1[Level1])

尤其是MAX的文档中指出,函数忽略逻辑值和文本

嗨,亚历克西斯,谢谢你的建议,我检查了一下,我原来的例子太简单了。您的解决方案之所以有效,是因为级别1是calc可以分段的唯一剩余维度。我已经更新了示例,以更紧密地反映复杂性级别。i、 e.视图中还有其他维度(级别3),但我们只希望按级别1分组/分段。在本例中,上述解决方案按级别和级别3进行细分。您的示例似乎太少。请看我的编辑。嗨,亚历克西斯,谢谢你的建议,我检查过了:我原来的例子太简单了。您的解决方案之所以有效,是因为级别1是calc可以分段的唯一剩余维度。我已经更新了示例,以更紧密地反映复杂性级别。i、 e.视图中还有其他维度(级别3),但我们只希望按级别1分组/分段。在本例中,上述解决方案按级别和级别3进行细分。您的示例似乎太少。请看我的编辑。我很确定最近的更新允许
MAX
处理文本和布尔值。我不确定您指的是什么文档,但我认为它对于Power BI的最新版本来说已经过时了。我很确定最近的更新允许
MAX
处理文本和布尔值。不确定您所指的是什么特定文档,但我认为它对于Power BI的最新版本来说已经过时了。