跳到主要內容 跳至補充內容

在資料載入指令碼中使用跨維度資料表

跨維度資料表是一種常見的表格類型,包含兩個標頭資料正交清單之間的值矩陣。如果您想要將資料關聯至其他表格,這通常並非最佳的資料格式。

本主題說明了您如何能夠取消樞紐跨維度資料表,即使用 crosstable 前置詞 (對資料載入指令碼中的 LOAD 陳述式) 將其部分轉置為列。

使用一個限定資料行取消樞紐跨維度資料表

一個跨維度資料表前面通常會有多個限定資料行,應該以直接的方式讀取這些資料行。在此情況中有一個限定資料行 Year,以及每個月的銷售資料矩陣。

含有一個限定資料行的跨維度資料表
YearJanFebMarAprMayJun
2008456578127822
2009112322224585
2010655622791256
2011452432785515
2012455635786882

如果此表格只是載入 Qlik Sense,結果會是一個欄位用於 Year,然後每個月份各一個欄位。這通常不是您想要的。您大概會偏好只產生三個欄位:

  • 此情況中的限定資料行 Year 在上述表格中以綠色標記。
  • 此情況中以月份名稱 Jan - Jun 表示的屬性欄位,以黃色標記。此欄位可適當命名為 Month
  • 資料矩陣值以藍色標記。在此情況中它們代表銷售資料,因此可適當命名為 Sales

例如,在 LOADSELECT 陳述式前面加上 crosstable 前置詞即可達到這個目的:

crosstable (Month, Sales) LOAD * from ex1.xlsx;

這樣會在 Qlik Sense 中建立下列表格:

含有 Crosstable 前置詞的表格已新增至 LOAD 或 SELECT 陳述式
YearMonthSales
2008一月45
2008二月65
2008三月78
2008四月12
2008五月78
2008六月22
2009一月11
2009二月23
.........

使用兩個限定資料行取消樞紐跨維度資料表

在此情況中,左邊有兩個限定資料行,後面接著矩陣資料行。

含有兩個限定資料行的跨維度資料表
SalesmanYearJanFebMarAprMayJun
A2008456578127822
A2009112322224585
A2010655622791256
A2011452432785515
A2012455635786882
B2008577790249034
B2009233534345797
B2010776834912468
B2011573644906727
B2012576847908094

限定資料行的數目可在 crosstable 前置詞中指定為第三個參數,如下所示:

crosstable (Month, Sales, 2) LOAD * from ex2.xlsx;

這樣會在 Qlik Sense 中建立下列結果:

含有限定資料行的表格可在 crosstable 前置詞中指定為第三個參數
銷售員YearMonthSales
A2008一月45
A2008二月65
A2008三月78
A2008四月12
A2008五月78
A2008六月22
A2009一月11
A2009二月23
............

瞭解更多資訊

 

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們!