Table of Contents

添加度量值和其他计算对象

自 2017 年初发布 Tabular Editor 2.x 以来,能够在多个度量值上快速修改 DAX 表达式一直是该工具最受欢迎的功能。结合后退/前进导航、复制/粘贴操作、DAX 依赖关系可视化以及撤销/重做支持,这款工具一直是处理大型且复杂 Data model 的用户的首选,因为能够快速完成多处小幅修改往往至关重要。

Tabular Editor 2.x 用户在这方面唯一的抱怨,是缺少 DAX Code Assist 功能(有时也称为“IntelliSense”)。尤其是当你对 DAX 还没做到 100% 熟练(说实话,几乎没人能做到!)时,让 DAX 代码编辑器帮你记住语法、函数参数等,会非常有用。

Tabular Editor 3 使用的新 DAX 代码编辑器已将这些问题全部解决。

编辑复杂的 DAX 表达式

本文其余部分将介绍如何创建度量值和其他计算对象,以及如何修改这些对象上的 DAX 表达式。想详细了解 DAX 代码编辑器的众多功能,可以查看 DAX编辑器。

添加度量值

当你已将一些表导入模型,并在它们之间创建了关系之后,就该添加一些包含业务逻辑的显式度量值了。

Tip

从技术角度来说,在 Power BI Report 里可视化数据之前,你不必先在模型里添加显式度量值。不过,最佳实践是始终这样做,因为基于 MDX 的客户端工具(例如 Excel 和 Tabular Editor 3 的 Pivot Grid)要求显式定义度量值。此外,计算组 仅适用于显式度量值。

要使用 Tabular Editor 添加新的度量值,请在要添加度量值的表上单击右键,然后选择 创建 > 度量值(ALT+1)。

添加新度量值

添加新的度量值后,该度量值的名称将处于可编辑状态。为度量值输入名称后,按 Enter 键。你随时都可以在 属性 视图中编辑名称,也可以在 TOM Explorer 中选中该度量值后按 F2 键。

表达式编辑器 视图用于为度量值提供 DAX 表达式。输入代码时,注意 DAX 编辑器会提供代码建议,甚至会为语法或语义错误加下划线提示。

添加度量值并编辑 Dax

表达式编辑器 左上角的下拉框用于在当前所选对象的不同 DAX 属性之间切换。例如,在较新版本的 Analysis Services 中,度量值既有 Expression 属性,也有 Detail Rows Expression。其他类型的对象可能有不同的属性用于承载 DAX 代码。例如,KPI 有三个不同的 DAX 属性。要在 Tabular Editor 中添加 KPI,右键单击某个度量值,然后选择 创建 > KPI。

编辑 Kpis

如果你希望隐藏度量值,只需右键单击并选择 设为不可见(CTRL+I)。同样,你也可以通过选择 设为可见(CTRL+U)来取消隐藏度量值。

其他度量值属性

除了 Name、Expression 和 Hidden 属性之外,你还可以使用 属性 视图来查看并编辑 TOM Explorer 中当前所选对象(一个或多个)的所有属性值。例如,对于度量值,你可以在这里设置 Format String。更多信息请参阅 属性视图。

添加计算列

要添加计算列,请右键单击要添加该列的表,然后选择 创建 > 计算列(ALT+2)。为该列命名,并使用 表达式编辑器 编辑其 DAX 表达式,方式与上面创建度量值时类似。

Important

连接到 Power BI Desktop 模型时,此选项默认不可用。这是因为 Power BI Desktop 对外部工具支持的限制。单击链接了解更多信息。

Note

当计算列的 DAX 表达式发生更改后,必须先刷新该列所在的表,才能在 Report 中使用该列。更多信息请参阅刷新、预览与查询数据。

添加计算表格

要添加计算表格,请在模型或“Tables”文件夹上右键单击,然后选择 创建 > 计算表格 (ALT+6)。为表格命名,并使用 表达式编辑器 编辑其 DAX 表达式,方式与我们在上面创建度量值时类似。注意,当你修改 DAX 表达式时,表中的列会自动更新。如果其他 DAX 表达式引用了该表格,或某些列被用在层次结构中,这可能会产生连锁影响。

Important

连接到 Power BI Desktop 模型时,此选项默认不可用。这是因为 Power BI Desktop 对外部工具支持的限制。点击链接了解更多。

Note

当计算表格的 DAX 表达式发生更改后,必须先刷新该表格,才能在 Report 中使用。更多信息见 刷新、预览与查询数据。

添加计算组

要添加计算组,请在模型或“表”文件夹上单击右键,然后选择 创建 > 计算组 (ALT+7)。为计算组命名。另外,建议为默认的 Name 列另取一个名称。

Important

此选项仅适用于兼容级别为 1470 或更高的模型。 Analysis Services 从兼容级别 1500 起支持计算组。

要添加计算项,请在新建的计算组上右键单击,然后选择 创建 > 计算项。为计算项命名,并使用 表达式编辑器 编辑其 DAX 表达式,方式与我们在上面创建度量值时类似。

你可以在 TOM Explorer 中拖动计算项来调整显示顺序,或在 属性 视图中设置 Ordinal 属性。

Note

在计算组中添加、重命名或删除计算项后,必须先刷新计算组,才能在 Report 中使用。更多信息见 刷新、预览与查询数据。

常见建模操作

复制/粘贴

TOM Explorer 中的所有对象都可以使用 Tabular Editor 进行复制和粘贴。你甚至可以在不同的 Tabular Editor 实例之间复制和粘贴,也可以在 Tabular Editor 2.x 和 Tabular Editor 3 之间复制和粘贴。你可以使用熟悉的键盘快捷键:

  • 编辑 > 复制 (CTRL+C)
  • 编辑 > 剪切 (CTRL+X)
  • 编辑 > 粘贴 (CTRL+V)
Tip

如果你想用另一张表替换某张表,同时保留与该表之间现有的所有关系,请先把一张表复制到剪贴板,然后在 TOM Explorer 中选择要替换的表并粘贴。系统会提示你是否要用剪贴板中的表替换所选表。

撤销/重做

在 Tabular Editor 中,只要对对象或属性进行了更改,就会记录完整的更改历史,让你可以撤销所做的每一次更改。你可以使用熟悉的键盘快捷键:

  • 编辑 > 撤销 (CTRL+Z)
  • 编辑 > 重做 (CTRL+Y)
Note

Tabular Editor 3 中的每个文本编辑器都有各自的撤销历史记录。当光标位于文本编辑器中时,Ctrl+Z 和 Ctrl+Y 会分别撤销和重做该编辑器中的输入操作。要撤销对模型所做的更改,请先单击 TOM Explorer,或在 Edit 菜单中选择模型的撤销条目。另请参阅 文本编辑器中的撤销。

导航

当光标停留在 DAX 编辑器中的对象引用上时,右键单击并选择 转到定义 (F12),即可快速跳转到该对象。当然,你也可以使用 TOM Explorer 在对象之间导航。

你可以使用 表达式编辑器 右上角的箭头按钮,在已访问的对象之间快速前后跳转。

DAX 依赖项

要查看对象之间的 DAX 依赖项,请在 TOM Explorer 中选择一个对象,然后右键单击并选择 显示依赖项(Shift+F12)。这会打开 DAX 依赖项 视图,其中显示所选对象的依赖项。在树中双击对象即可跳转到该对象;也可以右键单击,选择 转到项、复制为文本 或 复制为 JSON。

Dax 依赖项与 Tom Explorer

该视图一次只显示一个方向。使用单选按钮选择要显示的方向:

选项 显示
依赖于此对象的对象 如果更改或删除所选对象,哪些对象会失效
此对象依赖的对象 所选对象会从哪些对象中读取内容
从此表开始的关系 从所选表出发的关系。选择列时,此项显示为 从此列开始的关系

勾选 显示非活动 以纳入非活动关系。

跟随 TOM Explorer 选择

无需依次对每个对象都使用 显示依赖项,勾选 跟踪 TOM Explorer 后,视图就会跟随树中当前选中的内容。勾选后,会立即显示当前_已_选中的对象的依赖项,而无需等到下一次选择更改后才显示。

跟踪仅适用于单个选定对象。如果同时选择多个对象,或未选择任何对象,视图会被清空,而不会显示不完整的结果。

显示文件夹

当模型里的度量值数量增长到一定规模后,用显示文件夹来组织它们会更方便。在 Tabular Editor 中,要创建显示文件夹,可以在 属性 视图中编辑 Display Folder 属性;或者右键单击度量值(可多选),然后选择 创建 > 显示文件夹。

你还可以在显示文件夹之间剪切/复制/粘贴对象,或通过拖放移动对象。

后续步骤