Dual - 指令碼與圖表函數
Dual() 將一個數字與一個字串組合至單一記錄,例如記錄的數字表示法可用於排序及計算,而字串值可用於顯示。
語法:
Dual(text, number)
傳回的資料類型: 雙值
資訊備註所有雙值回傳值是向右對齊。
引數 | 描述 |
---|---|
text | 要與數字引數組合使用的字串值。 |
number | 要與字串引數中字串組合使用的數字。 |
在 Qlik Sense 中,所有欄位值都可能是雙值。這表示欄位值可以同時具有數值和文字值。範例是可以具有數值 40908 和文字表示法 '2011-12-31' 的日期。
資訊備註讀入同一個欄位的數個資料項目有不同的字串表示法,但是卻有相同的有效數字表示法時,則這些資料項目將共用第一個出現的字串表示法。
提示備註dual 函數一般用於指令碼前端,並會在其他資料讀入相關的欄位之前使用,以便建立將在篩選窗格之中顯示的第一個字串表示法。
範例 | 描述 |
---|---|
Dual(IF(DayOfWeek = 0, 'Monday', IF(DayOfWeek = 1, 'Tuesday', If(DayOfWeek = 2 ,'Wednesday', If(DayOfWeek = 3 ,'Thursday', If(DayOfWeek = 4 ,'Friday', If(DayOfWeek = 5 ,'Saturday', If(DayOfWeek = 6 ,'Sunday' ))))))), DayOfWeek) | 欄位 DayOfWeek 可以在視覺化中作為維度使用。在表格中,星期幾會自動排序為正確的數字順序,而不使用字母順序。 |
Dual(Pick( Priority , 'Low','Medium','High'), Priority) | 欄位 Priority 可以在視覺化中作為維度使用。在表格中,欄位 Priority 會自動排序為正確的數字順序,而不使用字母順序。 |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) | 欄位 Date 可以在視覺化中作為維度使用。建立文字值 Q1 至 Q4 並將數值 1 指派到 4。 |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) | 欄位 Date 可以在視覺化中作為維度使用。此範例建立表單 '2012-W22' 的文字值,同時,指派對應於週第一天日期數的數值,例如:41057。 |
範例 | 描述 |
---|---|
將下列範例新增至您的指令碼并予以執行。 Load dual ( NameDay,NumDay ) as DayOfWeek inline [ NameDay,NumDay Monday,0 Tuesday,1 Wednesday,2 Thursday,3 Friday,4 Saturday,5 Sunday,6 ]; | 例如,欄位 DayOfWeek 可以在視覺化中作為維度使用。在表格中,星期幾會自動排序為正確的數字順序,而不使用字母順序。 |
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1; | 此範例會尋找目前季度。當 Now 函數在一年中的前三個月中執行時,它會顯示為 Q1,針對第二個三個月時,會顯示為 Q2,依此類推。然而,當用於排序中時,欄位 Quarter 將用作數值:1 至 4。 |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter | 如前一個範例所示,建立欄位 Quarter,使用文字值 Q1 至 Q4,并指派數值 1 至 4。為了在指令碼中使用此項目,必須載入 Date 的值。 |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek | 此範例建立欄位 YearWeek,文字值來自表單 2012-W22,同時,指派對應於週第一天日期數的數值,例如:41057。為了在指令碼中使用此項目,必須載入 Date 的值。 |