WKSDATAファンクションは、ワークシートの各セルのデータ型や、WORKSHEETデータ型を持つプログラム引数のデータ型を返すファンクションです。WKSDATAを使用すると、テキスト・ファイルとOracle OLAPとの間でのラベルやデータの転送処理に役立ちます。
使用上の注意
1つ以上のセルの確認
WKSDATAでは、セルの修飾データ参照を次の書式に示すように使用することにより、1つのワークシート・セルのデータ型を返すことができます。
SHOW WKSDATA(worksheetname(WKSROW n, WKSCOL n))
または、次の書式でREPORT文とWKSDATAを組み合せて使用すると、ワークシート内のすべてのセルの内容をそのデータ型と並べて表示できます。
REPORT worksheetname WKSDATA(worksheetname)
複数のデータ型
式にワークシート・オブジェクトを使用するときは、常に注意が必要です。ワークシート・オブジェクトには複数のデータ型を使用できるため、OLAP DML文のコンパイル時には、個々のワークシート・セルの実際のデータ型は考慮されません。そのかわり、式の中のワークシート・セルの位置で予想されるデータ型に各ワークシート・セルを変換するコードが生成されるため、場合によっては予期しない結果につながることがあります。
テキスト・データ
(数値、ブール、日付などとは対照的に)ワークシート内のテキスト・データのデータ型はすべてTEXTです。IDデータ型およびNTEXTデータ型は、ワークシートではサポートされていません。
例
例8-169 ワークシートからインポートしたデータの確認
workunitsというワークシートにフラット・データ・ファイルをインポートしたとします。WKSDATAを使用すると、ワークシートを標準のOLAPワークスペース書式に変換するときに、ディメンション値として処理する領域やデータ値として処理する領域をすばやく判別できます。
次の文を実行すると、workunitsのデータを表示する文の後に次の出力が生成されます。
REPORT workunits
-----------------WORKUNITS-----------------
------------------WKSCOL-------------------
WKSROW 1 2 3 4
-------------- ---------- ---------- ---------- ----------
1 NA Jan96 Feb96 Mar96
2 Tents 307 209 277
3 Canoes 352 411 488
4 Racquets 1,024 1,098 1,144
5 Sportswear 1,141 1,262 1,340
6 Footwear 2,525 2,660 2,728
この文では、WKSDATAファンクションを使用して、ワークシート内の各セルのデータ型を示すレポートを文の後に生成しています。
REPORT WKSDATA(workunits)
------------WKSDATA(WORKUNITS)-------------
------------------WKSCOL-------------------
WKSROW 1 2 3 4
-------------- ---------- ---------- ---------- ----------
1 NA TEXT TEXT TEXT
2 TEXT INTEGER INTEGER INTEGER
3 TEXT INTEGER INTEGER INTEGER
4 TEXT INTEGER INTEGER INTEGER
5 TEXT INTEGER INTEGER INTEGER
6 TEXT INTEGER INTEGER INTEGER