Dual - スクリプトおよびチャート関数
Dual() は、数値と文字列を組み合わせて 1 つのレコードにし、そのレコードの数値表現をソートや計算に使用できるようする一方で、文字列値を表示に使用できるようにします。
構文:
Dual(text, number)
戻り値データ型: デュアル
引数:
引数 | 説明 |
---|---|
text | 数値引数と組み合わせて使用される文字列値。 |
number | 文字列引数の文字列と組み合わせて使用される数値。 |
QlikView では、すべての項目値がデュアル値になる可能性があります。つまり、項目値には、数値とテキスト値の両方を含むことができることを意味します。この一例となるのが日付で、数値の 40908 とテキスト表記の '2011-12-31' の両方が可能です。
1 つの項目に読み込まれている複数のデータ アイテムで、文字列表現が異なっていても同じ有効な数値表現があるなら、それらはすべて最初に出現した文字列表現を共有します。
例1:
スクリプトに次の例を追加して実行します。
Load dual ( NameDay,NumDay ) as DayOfWeek inline
[ NameDay,NumDay
Monday,0
Tuesday,1
Wednesday,2
Thursday,3
Friday,4
Saturday,5
Sunday,6 ];
項目 DayOfWeek は、たとえば、チャートで軸として使用できます。曜日を持つテーブルでは、アルファベット順ではなく、正しいシーケンス番号に自動的にソートされます。
例2:
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1;
この例では、現在の四半期を取得します。Now() 関数が年の最初の 3 ヶ月で実行される場合、Q1 と表示され、年の 2 番目の 3 ヶ月で実行される場合、Q2 と表示され、以下同様に表示されます。ただし、ソートで使用する場合、項目 Quarter は数値:1 ~ 4。
例3:
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter
上の例に示されているように、項目 Quarter はテキスト値 'Q1' ~ 'Q4' を用いて作成され、数値 1 ~ 4 が割り当てられます。これをスクリプトで使用するには、Date の値をロードする必要があります。
例4:
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek
この例では、項目 YearWeek (形式のテキスト値 '2012-W22' を持つ) を作成し、同時にその週の最初の日の日付値に対応する数値を割り当てます (たとえば、41057. これをスクリプトで使用するには、Date の値をロードする必要があります。