メイン コンテンツをスキップする

Dual - スクリプトおよびチャート関数

Dual() は、数値と文字列を組み合わせて 1 つのレコードにし、そのレコードの数値表現をソートや計算に使用できるようする一方で、文字列値を表示に使用できるようにします。

Syntax:  

Dual(text, number)

Return data type: デュアル

Arguments:  

Dual 引数
引数 説明
text 数値引数と組み合わせて使用される文字列値。
number 文字列引数の文字列と組み合わせて使用される数値。

QlikView では、すべての項目値がデュアル値になる可能性があります。つまり、項目値には、数値とテキスト値の両方を含むことができることを意味します。この一例となるのが日付で、数値の 40908 とテキスト表記の '2011-12-31' の両方が可能です。

1 つの項目に読み込まれている複数のデータ アイテムで、文字列表現が異なっていても同じ有効な数値表現があるなら、それらはすべて最初に出現した文字列表現を共有します。

ヒント: dual 関数は、一般的にスクリプトの早い段階、関係する項目に他のデータが読み取られる前に使用され、リスト ボックスなどで表示される最初の文字列表現を作成します。

Example 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 は、たとえば、チャートで軸として使用できます。曜日を持つテーブルでは、アルファベット順ではなく、正しいシーケンス番号に自動的にソートされます。

Example 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。

Example 3:  

Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter

上の例に示されているように、項目 Quarter はテキスト値 'Q1''Q4' を用いて作成され、数値 14 が割り当てられます。これをスクリプトで使用するには、Date の値をロードする必要があります。

Example 4:  

Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek

この例では、項目 YearWeek (形式のテキスト値 '2012-W22' を持つ) を作成し、同時にその週の最初の日の日付値に対応する数値を割り当てます (たとえば、41057. これをスクリプトで使用するには、Date の値をロードする必要があります。