Table of Contents

支持撤销/重做

按 Ctrl+Z 撤销更改,按 Ctrl+Y 重做。撤销栈没有大小限制;当你从文件或数据库加载另一个模型时,撤销栈会被清空。一次会更改多个对象的操作(例如拖动文件夹、批量重命名或 Best Practice Analyzer (BPA) 修复)只算一个撤销步骤。

文本编辑器中的撤销

在 Tabular Editor 3 中,Ctrl+Z 和 Ctrl+Y 会对当前获得焦点的窗口部分生效。当焦点位于文本控件中时,这两个快捷键会撤销和重做该控件中的输入。文本控件包括 DAX 查询、DAX 脚本和 C# Script 文档、表达式编辑器,以及在 属性 视图中正在编辑的单元格。每个文本控件都有自己的撤销历史记录,与模型撤销堆栈相互独立。当焦点位于 TOM Explorer 或其他视图中时,这两个快捷键会撤销和重做模型更改。在 AI Assistant 聊天框中,Ctrl+Z 和 Ctrl+Y 不会撤销或重做模型更改。

运行 C# Script 或应用 DAX 脚本后,焦点仍会停留在脚本文档中。此时按 Ctrl+Z 会撤销你在脚本中的输入。如果脚本文本是一次性粘贴或插入的,按 Ctrl+Z 会一次撤销全部内容,而 Ctrl+Y 会将其恢复。

如果文本控件或 AI Assistant 聊天框当前具有焦点,而你想撤消模型更改,可以执行以下任一操作:

  • 点击 TOM Explorer,然后按 Ctrl+Z
  • 打开 编辑 菜单,然后选择名称与最近一次模型更改对应的命令,例如 撤销 C# Script (MCP)。当文本控件具有焦点时,此项会显示在菜单顶部,位于 撤销输入 上方。

删除对象

删除对象时,也会一并删除依赖于它的内容。对于列,Tabular Editor 会移除:

  • 使用该列的关系
  • 基于该列的层次结构级别
  • 其翻译和透视成员关系
  • 在 Tabular Editor 3 中,该列在日历和变体中的条目

在 Tabular Editor 3 中,还会清除由已删除列排序的列的 SortByColumn 属性。

执行撤销时,会一步还原该对象及依赖它的对象。

如果你删除的单个对象有其他对象依赖它,确认对话框会列出可能的影响:

  • 如果 DAX 表达式引用了该对象,这些表达式就会失效。
  • 如果该列被用于层次结构,相应的级别也会被删除。
  • 如果某些关系使用了该列,这些关系也会被移除。
  • 在 Tabular Editor 3 中,如果该列用于某些日历,则会将其从这些日历中移除。

一次删除多个对象时,总会显示确认对话框,但该对话框不会逐个列出每个对象的影响。

如果某个对象没有其他对象依赖它,删除时不会出现提示。在 Tabular Editor 3 中,如需在每次删除时都进行确认,请在 工具 > 偏好 > Tabular Editor > TOM Explorer 下的 删除 部分勾选 始终显示删除警告。

Note

删除对象不会改写引用它的 DAX 表达式。依赖它的表达式会保留该引用,并在 信息视图 中以错误形式进行 Report。重命名对象时,公式修复 会更新引用它的表达式。

撤销与未保存的更改

在 Tabular Editor 3 中,“未保存更改”指示器会与撤销栈保持同步。将操作撤销回上次保存的状态后,所有指示器都会消失;重做后又会重新显示。当撤销操作超过上次保存点时,被回退的对象上会显示指示标记。

还原会撤销一项更改,并保留之后的更改。它会将属性、对象、表或整个模型恢复到上次保存时的状态,同时保留其他未保存的更改;而且你还可以撤销还原操作。参见 @unsaved-changes。