データ内のワイルドカード
データ内でワイルドカードを使用することもできます。ワイルドカードには、この項目のすべての値として解釈されるスター マークと、この項目の残りのすべての値として解釈されるオプション シンボルの 2 種類があります。
スター マーク
スター マークは、この項目内のすべての値 (リストされている値)、つまりこのテーブル内の任意の場所にリストされている値として解釈されます。スクリプトのアクセス セクションでロードされたテーブル内のシステム項目 (USERID, PASSWORD, NTNAME、SERIAL) の 1 つで使用される場合は、この項目のすべての可能な値 (リストされていない値も含む) として解釈されます。
スター マークは、情報ファイルでは使用できません。また、キー項目 (テーブルを結合する項目) でも使用できません。
明示的に指定しない限り、スター マークは使用されません。スクリプトで star ステートメントを作成する方法については、「Star」を参照してください。
OtherSymbol
テーブル内のその他すべての値、つまりロードされたテーブルで明示的に検出されなかったすべての値を表す必要が生じることがあります。これは、OtherSymbol と呼ばれる特殊な変数を使用して表します。「その他のすべての値」として処理される OtherSymbol を定義するには、次の構文を使用します。
SET OTHERSYMBOL=<sym>;
この構文を LOAD または SELECT ステートメントの前に置きます。<sym> には任意の文字列を指定できます。
定義されたシンボルが内部テーブル内に出現すると、QlikView はそのシンボルが検出された項目にそれまでロードされていないすべての値として、そのシンボルを定義します。OtherSymbol の出現後に項目で検出された値は無視されます。
この機能をリセットするには、次の構文を使用します。
SET OTHERSYMBOL=;
Table Customers
CustomerID | Name |
---|---|
1 | ABC Inc. |
2 | XYZ Inc. |
3 | ACME INC |
+ | Undefined |
Table Orders
CustomerID | Name |
---|---|
1 | 1234 |
3 | 1243 |
5 | 1248 |
7 | 1299 |
スクリプト内で、上記の最初のテーブルがロードされる前の場所に、次のステートメントを挿入します。
SET OTHERSYMBOL=+;
1、2、3 以外の CustomerIDへの参照 (例えば、OrderID 1299 をクリックした場合) は、Name が Undefined になります。