你们认为如果我为在计算表度量中用作 VAR 的切片器提供动态值,为什么下面的代码不起作用?
更新: 该计算适用于硬编码索引(如 1.151),但如果使用切片器和动态度量则不会 SelectedPowerIndex = (SELECTEDVALUE(powerIndexes[pt_index]).
我分两步创建了一个计算表。代码示例只是一个简短的过滤,产生了相同的问题。
计算表很快 (1) CALCULATETABLE( SELECTCOLUMNS( 最后使用 selected_index 变量,(2) GROUPBY( 使用步骤 1 中创建的表中的 X 行聚合。
结果是一个 3 列表,显示与索引给出的分组行一样多的行。例如,索引为 1.151,如果硬编码则有效,如果动态则无效。
如果我使用dimension-table(powerIndexes)的切片器选择1.151,则不会显示计算表。 切片机还可以,如果选择切片机,卡片上显示的是1.151。
产生相同问题的简短示例代码 第二个没有返回任何内容,但是表中的 16 行数据为 1.151。
thisWorks=
VAR filtered_table =
FILTER(
globalDatas,
globalDatas[pt_index] = 1.151
)
RETURN filtered_table
thisNotWorks= =
VAR selected_index = [SelectedPowerIndex]
VAR filtered_table =
FILTER(
globalDatas,
globalDatas[pt_index] = selected_index
)
RETURN filtered_table
我使用 SelectedPowerIndex = SELECTEDVALUE(powerIndexes[pt_index]) powerIndexes 是在 Power Query 中根据 globalDatas 表的 pt_index 列创建的单列表,并且在 Power BI 中 powerIndexes 和 globalDatas 之间存在一对多关系。
应该可以正常工作。该代码是一个计算表,但我用普通的 FILTER 函数重写了它,结果没有任何结果。
计算表不适用于切片器。计算表在刷新时计算。