在 DAX 中,如何从 DAX Table 变量(通过 ADDCOLUMN 创建)中 RETURN 计算列的总和?
In DAX, how do I RETURN the sum of a calculated column from a DAX Table Variable (created via ADDCOLUMN)?
我有一个多步骤过程,阶段 table 变量汇总基础 tables 以匹配谷物。
过程(简而言之):
- 删除选定的日期过滤器
- 使用计算值创建过滤器
- 然后对新过滤的 table 进行汇总以使颗粒匹配
- 结果 tables 被连接起来形成覆盖范围 table
- 为此,我使用 ADDCOLUMNS 创建计算列
- 其中,计算使用现有列、标量变量加上标量成本(通过 LOOKUP)
最后,我有一个 table 和一个新列,其中包含我需要 RETURN 的值。我很高兴我可以将 table 的内容复制并粘贴到 Excel 中并验证数据。它产生正确的结果。
...但是,鉴于该值包含在 table 变量的新列中,它在基础 table 中没有等效值,我被卡住了。 如何 RETURN 这个 table 变量列的值?
(注意:DAX 确实允许我使用 SUMX 将 table 变量列求和到一个新变量和 return 该变量中,但 SUMX 转发原始行上下文,然后将结果过滤到最初选择的时间段,该时间段覆盖我计算的日期范围。这确实允许我 "EVALUATE" DAX Studio 中的 SUM,但是当我将代码放入 Tabular 并使用它时,我得到过滤后的结果。)
您可以通过 SUMX 函数访问先前定义的 table 变量的列变量。
Measure =
var DaxTable = ADDCOLUMNS(...)
var result =
CALCULATE(
SUMX( DaxTable , [amount])
)
return
result
我有一个多步骤过程,阶段 table 变量汇总基础 tables 以匹配谷物。
过程(简而言之):
- 删除选定的日期过滤器
- 使用计算值创建过滤器
- 然后对新过滤的 table 进行汇总以使颗粒匹配
- 结果 tables 被连接起来形成覆盖范围 table
- 为此,我使用 ADDCOLUMNS 创建计算列
- 其中,计算使用现有列、标量变量加上标量成本(通过 LOOKUP)
最后,我有一个 table 和一个新列,其中包含我需要 RETURN 的值。我很高兴我可以将 table 的内容复制并粘贴到 Excel 中并验证数据。它产生正确的结果。
...但是,鉴于该值包含在 table 变量的新列中,它在基础 table 中没有等效值,我被卡住了。 如何 RETURN 这个 table 变量列的值?
(注意:DAX 确实允许我使用 SUMX 将 table 变量列求和到一个新变量和 return 该变量中,但 SUMX 转发原始行上下文,然后将结果过滤到最初选择的时间段,该时间段覆盖我计算的日期范围。这确实允许我 "EVALUATE" DAX Studio 中的 SUM,但是当我将代码放入 Tabular 并使用它时,我得到过滤后的结果。)
您可以通过 SUMX 函数访问先前定义的 table 变量的列变量。
Measure =
var DaxTable = ADDCOLUMNS(...)
var result =
CALCULATE(
SUMX( DaxTable , [amount])
)
return
result