Table of Contents

在指标视图中重命名对象

这篇操作指南演示如何重命名指标视图中的字段。同样的模式适用于 Metric View 中的每个集合:Fields、Measures、Dimensions 和 Joins。

Note

这些操作指南适用于 Tabular Editor 3.26.2 及更高版本。较早版本不支持此处所示的 v1.1 指标视图功能。

为这些代码示例加载示例 Metric View

开始前,请确保你已打开 Tabular Editor 3,并已打开一个表格模型;如果没有,也可以新建一个模型。

本操作指南使用一个示例电商 Metric View 来表示销售数据,其中三个维度表(product、customer、date)连接到一个事实表(orders)。使用下面任一方法来加载它(“下载并加载”或“复制并反序列化”),然后继续阅读本操作指南的其余内容。你可以在与本示例其余部分相同的 C# Script 中运行任一命令;也可以先在单独的 C# Script 中运行该命令,再在另一个 C# Script 中运行本示例的其余部分。

下载 sample-metricview.yaml 然后按路径加载:

SemanticBridge.MetricView.Load("C:/path/to/sample-metricview.yaml");

重命名字段

将其赋值给对象的 Name 属性。对象的其他所有内容(其表达式、注释、显示名称、同义词和格式)都保持不变,同时它在集合中的位置也不会改变。

var view = SemanticBridge.MetricView.Model;

view.Fields["order_month"].Name = "Order Month";

var sb = new System.Text.StringBuilder();
sb.AppendLine("Fields:");
foreach (var field in view.Fields)
{
    sb.AppendLine($"  {field.Name}");
}
Output(sb.ToString());

输出:

Fields:
  product_name
  product_category
  customer_segment
  order_date
  order_year
  Order Month

集合的名称索引会随该对象一起更新,因此可以立即通过新名称访问该字段:

var field = view.Fields["Order Month"];

规则

  • 名称在其所属集合内必须保持唯一。 如果将某个字段重命名为另一个字段已在使用的名称,则会引发 ArgumentException,并且对象和集合都不会发生更改。
  • 名称匹配不区分大小写,与 Databricks SQL 保持一致。 view.Fields["ORDER MONTH"] 会找到上面重命名后的字段。即使重命名仅改变大小写,也仍然值得这样做,因为这会刷新存储的名称。
  • 重命名会应用到内存中的对象模型。 要将其写出,请序列化该视图。

后续步骤

另见