在指标视图中重命名对象
这篇操作指南演示如何重命名指标视图中的字段。同样的模式适用于 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"]会找到上面重命名后的字段。即使重命名仅改变大小写,也仍然值得这样做,因为这会刷新存储的名称。 - 重命名会应用到内存中的对象模型。 要将其写出,请序列化该视图。