使用 Crosstable 前置詞
跨維度資料表是一種常見的表格類型,在兩個標頭資料的正交清單之間具有值矩陣。每當擁有資料的跨維度資料表時,您都可以使用 Crosstable 前置詞轉換資料,並建立所需的欄位。
Crosstable 前置詞
在下面的 Product 表格中,每個月有一個資料行,每個產品有一列。
產品 | Jan 2014 | Feb 2014 | Mar 2014 | Apr 2014 | May 2014 | Jun 2014 |
---|---|---|---|---|---|---|
A | 100 | 98 | 100 | 83 | 103 | 82 |
B | 284 | 279 | 297 | 305 | 294 | 292 |
C | 50 | 53 | 50 | 54 | 49 | 51 |
載入表格時,在輸出的表格中,一個欄位用於 Product,然後每個月份各一個欄位。
如果您想要分析此資料,最好將所有數字放到一個欄位,所有月份放到另一個欄位。在此情況下,在擁有三個資料行的表格中,每個類別 (Product, Month, Sales) 都有一個欄位。
Crosstable 前置詞將資料轉換為表格,一個資料行表示 Month,另一個表示 Sales。另一種表達方式為它採用了欄位名稱並將其轉換為欄位值。
請執行下列動作:
- 建立新的應用程式並稱之為進階指令碼教學課程。
- 在資料載入編輯器中新增新的指令碼區段。
- 命名區段 Product。
-
在右側功能表的 DataFiles 之下,按一下選取資料。
- 上傳然後選取 Product.xlsx。
- 在從以下項目選取資料視窗中選取 Product 表格。
- 按一下插入指令碼。
- 按一下載入資料。
- 開啟資料模型檢視器。資料模型應如下所示:
- 在資料載入編輯器中,按一下 Product 索引標籤。
- 在 LOAD 陳述式之上輸入下列內容:
- 按一下載入資料。
- 開啟資料模型檢視器。資料模型應如下所示:
您的指令碼應如下所示:
CrossTable(Month, Sales)
請注意,輸入資料通常只有一個作為限定詞欄位的資料行;作為內部索引鍵 (在上方範例中為 Product)。但是您可以擁有多個。如果是這種情況,所有符合條件的欄位必須在 LOAD 陳述式屬性欄位前面列出,並且 Crosstable 前置詞的第三個參數必須用於定義符合條件欄位的數量。您不能在 Crosstable 關鍵字前面放置前置 LOAD 或前置詞。不過,您可以使用自動串連。
在 Qlik Sense 的表格中,資料呈現如下:
例如,您現在可以使用資料建立條形圖:
數值解譯無法用於屬性欄位。也就是說,如果您的資料行標頭是月份,系統不會自動解譯。解決方法是使用 Crosstable 前置詞建立一個臨時表格,並執行第二次通過來解譯,如以下範例所示。
請注意,這只是範例。在 Qlik Sense 中沒有要完成的附帶活動。
清除記憶體快取
您可以刪除您建立的表格,以清除記憶體快取。當您如之前章節所述載入臨時項目時,您應在不再需要該表格時將其捨棄。例如︰
您也可以拖放欄位。例如︰
如您所見,關鍵字 TABLE 和 FIELD 可以是單數或複數。