衍生的欄位

如果您有一組相關的欄位,或者如果欄位包含的資訊可在建立維度或量值時被分成相關的較小部分,您可以建立用於產生衍生欄位的欄位定義。比如說日期欄位,您可以從中衍生出多個屬性,例如年、月、週數或日名稱。所有這些屬性都可以使用 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');
 

如需詳細資訊,請參閱 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 即可識別衍生日期欄位了。它們在欄位資產面板的日期與時間欄位區段可用。當您建立或編輯維度時,您還會在運算式編輯器中發現所有衍生欄位。

如需詳細資訊,請參閱 日期與時間欄位