用于针对 Power BI 和 Analysis Services 模型执行 DAX 查询。 DAX Studio 适用于:

  • 查看数据模型的内容。

  • 编写和优化复杂的 DAX 公式和查询。


使用默认设置下载并安装 DAX Studio,连接到数据模型,然后开始处理查询。 安装 DAX Studio 后,也可以从 Power BI Desktop 功能区的“外部工具”选项卡启动它。

优化 DAX 查询


使用 DAX 的计算(度量值或列)是 DAX 查询的一部分,由 VertiPaq 中的两个引擎处理。 处理查询时,公式引擎会处理请求,向存储引擎请求数据,并执行必要的计算。 存储引擎检索并聚合公式引擎请求的数据。

在下图的步骤 1 和 2 中,DAX 查询发送到表格模型。 然后该请求由公式引擎处理并发送到存储引擎,如步骤 3 所示。 在步骤 4 中,存储引擎从模型中检索数据并将其存储在内存中(对于导入模式),或者将查询传递给数据源(对于 DirectQuery)。 对于导入模式,刷新数据将从源中检索数据。

Diagram of the VertiPaq engine process, beginning with a query that gets sent to the data source.

通过 DAX Studio 中的故障排除,可查看查询的服务器计时的详细统计信息。 可以查看查询在每个引擎中所占用的时间比例,然后可以相应地调整查询以提高性能。

让我们通过一个场景来了解如何使用 DAX Studio 优化查询。

你有一个报表,其中包含一个直观显示 6 个度量值的矩阵。 CEO 告知你,视觉对象呈现速度缓慢,因此报表不可用。 你开始深入挖掘原因并使用 Power BI Desktop 中的性能分析器确认了呈现时间缓慢。

然后,你复制该查询以在 DAX Studio 中查看,以便获取更多有关可能导致问题的信息。 在 DAX Studio 中,你清除了缓存 (1),打开服务器计时 (2),然后运行查询 (3)。

Diagram of the steps in DAX studio as described in the paragraph above.

从左上到右下,统计数据指示运行查询所花费的毫秒数,以及存储引擎 (SE) CPU 占用的持续时间。 在本例中,公式引擎 (FE) 占用了 73.5% 的时间,而 SE 占用了剩余的 26.5% 的时间。 有 34 个单独的 SE 查询和 21 个缓存命中。

Screenshot of server timings in DAX Studio.

在此处,可以调查度量值中的哪些因素可能导致问题。 这需要深入的 DAX 知识,有时需要反复试验。

你对这些度量值进行了试验,发现可通过将 DAX 中的复杂 IF 语句替换为变量和时间智能函数来改进销售度量值。 一种安全的试验方法是注释禁止度量值并返工。 可以通过在行首键入两个正斜杠 (//) 来注释禁止度量值。 对于多行注释,请在注释的开头使用 /* 并以 */ 结尾。

试验后,清除缓存并使用对度量值所做的更新再次运行查询。 你会发现更新后的度量值的性能要好得多,查询执行时间减少了近 50%。

Screenshot of improved server timings in DAX Studio.









B站UP主使用分享



https://www.bilibili.com/video/BV11d4y1n7yd/