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