本文翻译自Marco Russo & Alberto Ferrari的文章—《Optimizing SWITCH
on slicer selection with Group By Columns》来源:SQLBI 本文介绍了如何使用Group
By Columns属性,通过使用SWITCH函数中的相同列来存储切片器的选择,以优化查询性能。
几个月前,我们写了一篇关于DAX和Power BI中SWITCH优化的文章。我们解释说,当被分析的列在查询中被静态筛选时,引擎会产生SWITCH的最佳执行计划。翻译成Power BI工件,这意味着当你有一个切片器来选择参数时,SWITCH函数应该准确地使用切片器中显示的列,而不是用排序顺序的基础列(或同一表中的任何其他列)。
例如,考虑以下报告,其中切片器显示了一个度量列表,该列表控制在选定指数度量的矩阵中显示什么。

选定的指数度量是这样定义的:
销售表中的度量值
Selected Index =
SWITCH (
SELECTEDVALUE ( Options[Index] ),
1, [Sales Amount],
2, [Margin],
几个月前,我们写了一篇关于DAX和Power BI中SWITCH优化的文章。我们解释说,当被分析的列在查询中被静态筛选时,引擎会产生SWITCH的最佳执行计划。翻译成Power BI工件,这意味着当你有一个切片器来选择参数时,SWITCH函数应该准确地使用切片器中显示的列,而不是用排序顺序的基础列(或同一表中的任何其他列)。
例如,考虑以下报告,其中切片器显示了一个度量列表,该列表控制在选定指数度量的矩阵中显示什么。
选定的指数度量是这样定义的:
销售表中的度量值
Selected Index =
SWITCH (
SELECTEDVALUE ( Options[Index] ),
1, [Sales Amount],
2, [Margin],
