Declare
Declare 语句用于创建字段定义,您可以在其中定义字段或函数之间的关系。可以使用一组字段定义来自动生成可用作维度的导出字段。例如,您可以创建日历定义,并用它来从日期字段生成相关的维度,如年份、月份、周和日期。
您可以使用 Declare 设置新的字段定义,或者根据现有定义创建字段定义。
设置新的字段定义
语法:
definition_name:
Declare [Field[s]] Definition [Tagged tag_list ]
[Parameters parameter_list ]
Fields field_list
参数:
参数 | 说明 |
---|---|
definition_name |
字段定义的名称,以冒号为结尾。 警告注释请勿将 autoCalendar 用作字段定义的名字,因为该名称保留用于自动生成的日历模板。
示例: Calendar: |
tag_list |
以逗号分隔的标记列表,要应用到根据字段定义导出的字段。应用标记是可选的,但如果不应用用于指定排序顺序的标记,如 $date、$numeric 或 $text,则导出字段将默认按加载顺序排序。 示例: '$date'Thank you for bringing this to our attention, and apologies for the inconvenience. |
parameter_list |
以逗号分隔的参数列表。定义的参数的格式为 name=value 且已分配初始值,在重新使用字段定义时可以将其覆盖。可选。 示例: first_month_of_year = 1 |
field_list |
在使用字段定义时生成的以逗号分隔的字段列表。定义的字段的格式为 <expression> As field_name tagged tag。使用 $1 来引用应根据导出的字段生成的数据字段。 示例: Year($1) As Year tagged ('$numeric') |
示例:
现在,已经定义日历,您可以将其应用到已加载的日期字段,在此例中为使用 Derive 子句的 OrderDate 和 ShippingDate。
导出的字段 (完整示例)
重复使用现有的字段定义
语法:
<definition name>:
Declare [Field][s] Definition
Using <existing_definition>
[With <parameter_assignment> ]
参数:
参数 | 说明 |
---|---|
definition_name |
字段定义的名称,以冒号为结尾。 示例: MyCalendar: |
existing_definition |
在创建新的字段定义时要重复使用字段定义。新的字段定义与它基于的定义具有相同的功能,不包括如果您使用 parameter_assignment 更改在字段表达式中使用的值。 示例: Using Calendar |
parameter_assignment |
以逗号分隔的参数赋值列表。定义的参数赋值的格式为 name=value,并且将覆盖在基本字段定义中所设置的参数值。可选。 示例: first_month_of_year = 4 |
示例:
在此例中,我们重复使用在前面的示例中所创建的日历定义。在这种情况下,我们想要使用从四月份开始的财政年。这可以通过将值 4 赋给 first_month_of_year 参数来实现,这会影响到所定义的 DayNumberOfYear 字段。
下例假设您使用样本数据和前面示例中的字段定义。
当您重新加载数据脚本时,在表格编辑器中提供了所生成的字段,且名称为 OrderDate.MyCalendar.* 和 ShippingDate.MyCalendar.*。