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

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

構文:

Dual(text, number)

戻り値データ型： デュアル

引数：

Dual 引数

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

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

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

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

例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 の値をロードする必要があります。