Powerbi 添加列时如何重新使用计算函数中使用的筛选器
我尝试使用计算函数在DAX中添加一些列,如下所示:Powerbi 添加列时如何重新使用计算函数中使用的筛选器,powerbi,dax,Powerbi,Dax,我尝试使用计算函数在DAX中添加一些列,如下所示: ADDCOLUMNS( Summarize( CALCULATETABLE( 'MY TABLE' 'MY TABLE'[Year] = 2019, 'MY TABLE'[Month] = January, 'MY TABLE'[Flag] = "N", ), 'MY TABLE'[Column
ADDCOLUMNS(
Summarize(
CALCULATETABLE(
'MY TABLE'
'MY TABLE'[Year] = 2019,
'MY TABLE'[Month] = January,
'MY TABLE'[Flag] = "N",
),
'MY TABLE'[Column 1],
'MY TABLE'[Column 2],
'MY TABLE'[Column 3],
"Calculation", 'MY TABLE'[My Measure],
),
"My Calculation With Filters 1", CALCULATE('MY TABLE'[My Measure 1],[Status]="Open",[Flag]="N"),
"My Calculation With Filters 2", CALCULATE('MY TABLE'[My Measure 2],[Status]="Open",[Flag]="N"), --Same filters as above
"My Calculation With Filters 3", CALCULATE('MY TABLE'[My Measure 3],[Status]="Open",[Flag]="N"), --Same filters as above
"My Calculation With Filters 4", CALCULATE('MY TABLE'[My Measure 4],[Status]="Open",[Flag]="N"), --Same filters as above
"My Calculation With Filters 5", CALCULATE('MY TABLE'[My Measure 5],[Status]="Open",[Flag]="N"), --Same filters as above
)
我想知道当过滤器相同时,哪一个是最佳实践。我的意思是,有没有办法避免在每个计算函数中添加相同的过滤器?我希望能够共享过滤器,这样我就不会重复代码
谢谢 函数
CALCULATE
允许将表作为筛选器传递,因此您可以将其定义为VAR
并重用它
CalculatedTable =
VAR FilteredTable =
FILTER (
'MY TABLE',
'MY TABLE'[Status] = "Open" && 'MY TABLE'[Flag] = "N"
)
VAR Summary =
SUMMARIZE (
CALCULATETABLE (
'MY TABLE',
'MY TABLE'[Year] = 2019,
'MY TABLE'[Month] = January,
'MY TABLE'[Flag] = "N"
),
'MY TABLE'[Column 1],
'MY TABLE'[Column 2],
'MY TABLE'[Column 3],
"Calculation", 'MY TABLE'[My Measure]
)
RETURN
ADDCOLUMNS (
Summary,
"My Calculation With Filters 1", CALCULATE ( [My Measure 1], FilteredTable ),
"My Calculation With Filters 2", CALCULATE ( [My Measure 2], FilteredTable ),
"My Calculation With Filters 3", CALCULATE ( [My Measure 3], FilteredTable ),
"My Calculation With Filters 4", CALCULATE ( [My Measure 4], FilteredTable ),
"My Calculation With Filters 5", CALCULATE ( [My Measure 5], FilteredTable )
)
感谢您的回答,但这将不起作用,因为我需要根据过滤器进行计算,而不是对结果应用过滤器。我需要得到一个过滤表的摘要,然后在该表中添加一些基于其他过滤器的计算,所有这些过滤器都是相同的。您的建议将进行总结,然后添加计算(但不是基于我的过滤器),然后应用过滤器,这不是我需要的。您能否提供一个包括表、过滤器和表达式在内的示例?很难在摘要中回答。请现在看一下代码(我编辑了它)。我希望现在看起来更清楚。谢谢。试试我的编辑。如果将
Summary
表格设置为变量,则它是固定的,不会受到ADDCOLUMNS
部分中附加过滤器的影响。CALCULATE
函数可以将表格作为过滤器。您可以将筛选表定义为变量,然后在每个添加的列中重用它。请参阅我的编辑。