导出的字段

如果您拥有一组关联的字段,或者如果字段包含在创建维度或度量时可以将其细分成更小部分的信息,则您可以创建用于生成导出字段的字段定义。其中一个示例为您可以从中导出多个属性的日期字段,如年、月、周数或天数。所有这些属性都可以使用 Qlik Sense 日期函数在维度表达式中进行计算,但另一种方法是创建可共同用于所有日期类型字段的日历定义。字段定义存储在数据加载脚本中。

备注: Qlik Sense 的默认日历字段定义包括在使用数据管理器加载的日期字段的 autoCalendar 中。有关更多信息,请参阅将数据添加至应用程序

声明日历字段定义

您可以使用 Declare 语句创建导出字段的定义。可以在此处定义字段的不同属性,在此例中为日期相关属性。每个字段均可描述为 <expression> As field_name tagged tag。设置一个或多个标记是可选的,但此设置会影响导出字段的排序顺序。使用 $1 来引用应根据导出的字段生成的数据字段。

警告: 请勿将 autoCalendar 用作日历字段定义的名字,因为该名称保留用于自动生成的日历模板。
Calendar: DECLARE FIELD DEFINITION TAGGED '$date' Parameters first_month_of_year = 1 Fields Year($1) As Year Tagged ('$numeric'), Month($1) as Month Tagged ('$numeric'), Date($1) as Date Tagged ('$date'), Week($1) as Week Tagged ('$numeric'), Weekday($1) as Weekday Tagged ('$numeric'), DayNumberOfYear($1, first_month_of_year) as DayNumberOfYear Tagged ('$numeric') Groups Year, Week, Weekday type drilldown as YearWeekDayName, Year, Month, Date type collection as YearMonthDate;
 

有关更多信息,请参阅Declare

使用 Derive 将数据字段映射到日历

下一步是使用 Derive 语句将现有数据字段映射到日历。这将会创建导出的字段。在数据加载脚本中可使用三种可选方式执行此操作:

  • 按字段名称映射特定字段。

    DERIVE FIELDS FROM FIELDS OrderDate,ShippingDate USING Calendar;
  • 使用一个或多个特定字段标记映射所有字段。

    DERIVE FIELDS FROM EXPLICIT TAGS '$date' USING Calendar;
  • 使用其中一个字段定义标记映射标记的所有字段(在上例中为 $date)。

    DERIVE FIELDS FROM IMPLICIT TAG USING Calendar;

在这种情况下,可以使用此处的三个示例中的任何示例。

有关更多信息,请参阅Derive

在可视化中使用导出的日期字段

如果您已创建日历定义并按照此处示例所示映射字段,Qlik Sense 将准备识别导出的日期字段。在字段资产面板的日期和时间字段部分中也提供了这些字段。在创建或编辑维度时,您也可以在表达式编辑器中找到所有导出的字段。

有关更多信息,请参阅日期和时间字段