9.7. Microsoft Excel のトランスレーター
タイプ名 excel によって認識される Microsoft Excel Translator は、クエリー機能を Microsoft Excel ドキュメントに公開します。このトランスレーターは、Gracel スプレッドシートの読み取りや、Data Virtualization の他のソースと統合できる表形式でスプレッドシートの内容を提供します。
このトランスレーターは、Windows や Linux を含むすべてのプラットフォームで動作します。Translator は Apache POI ライブラリーを使用して、プラットフォームに依存しない Excel ドキュメントにアクセスします。
翻訳マッピング
以下の表は、Hel Excel ドキュメントのデータをリレーショナルデータベース用語で解釈する方法を示しています。
Excel Term | 平易な用語 |
---|---|
ワークブック | schema |
sheet | テーブル |
行 | データの行 |
cell | 列の定義またはデータ |
Excel のトランスレーターは「ソースメタデータ」機能を提供します。ここでは、特定の Excel ワークブックでは、その中に定義されたワークシートに基づいてスキーマをイントロスペクションおよびビルドできます。ワークシートでヘッダー列とデータ列を検出し、テーブルの正しいメタデータを定義するためのオプションがあります。
DDL の例
以下の例は、仮想データベースに Excel スプレッドシートを公開する方法を示しています。
ドキュメントのヘッダー
Excel ドキュメントにヘッダーが含まれる場合は、インポートプロセスに従って、テーブル作成プロセスの列名としてセルヘッダーを選択します。インポートプロパティーの定義に関する情報は、以下の表を参照してください。また、「 Importer Properties in JDBC translators 」を参照してください。
プロパティーのインポート
Import properties: VDB のデプロイメント時にスキーマ生成の部分をガイドします。これはネイティブインポートで使用できます。
プロパティー名 | 説明 | デフォルト |
---|---|---|
importer.excelFileName | メタデータをインポートする Excel ドキュメントの名前を定義します。これは、ファイルパターン(*.xls)として定義できますが、パターンとして定義されている場合は、すべてのファイルが同じ形式である必要があり、トランスレーターはメタデータをインポートする任意のファイルを選択します。ファイルパターンを使用して、同じディレクトリー内の複数の Excel ドキュメントからデータを読み取ります。1 つのファイルの場合は、絶対名を指定します。 | 必須 |
importer.headerRowNumber | 列名として使用するセルのヘッダー情報を定義します。 | 任意。デフォルトはシートの最初のデータ行です。 |
importer.dataRowNumber | データ行の開始先の行番号を定義します。 | 任意。デフォルトはシートの最初のデータ行です。 |
Excel スプレッドシートの情報を正しく解釈できるようにするには、前述のインポータープロパティーをすべて定義することが推奨されます。
列の純粋に数字のセルには、混合型を含む文字列形式が含まれるため、10 進数表現に一致する文字列形式が設定されるため、文法の値には .0
が追加されます。テキスト表現を正確に指定する必要がある場合は、セルは文字列値である必要があります。文字列の値を、引用符('
)または 1 つのスペースでセルの数値の前に付けることで強制することができます。
Translator エクステンションプロパティー
Excel 固有の実行プロパティー
- FormatStrings
- ワークシートの形式に従って、文字列列の文字列以外のセルの値をフォーマットします。デフォルトは false です。
メタデータ拡張のプロパティー
Table、Column、procedure など、スキーマアーティファクトで定義されるプロパティー。これらのプロパティーは、トランスレーターがソースシステムと対話または解釈する方法を説明します。すべてのプロパティーは以下の名前空間で定義されます: "
http://www.teiid.org/translator/excel/2014[http://www.teiid.org/translator/excel/2014\]"
。これには、認識されたエイリアスteiid_excel
もあります。
プロパティー名 | スキーマアイテムプロパティーが属する | 説明 | 必須 |
---|---|---|---|
FILE | テーブル | Excel ドキュメント名または名前パターン(*.xls)を定義します。ファイルパターンを使用すると、複数のファイルからデータを読み取ることができます。 | はい |
FIRST_DATA_ROW_NUMBER | テーブル | レコードがシートで開始する行番号を定義します(すべてのシートに適用)。 | オプション |
CELL_NUMBER | テーブルのコラム | 特定の列のデータの読み取りに使用するセル番号を定義します。 | はい |
以下の例は、エクステンションメタデータプロパティーを使用して定義される表を示しています。
ROW_ID 列を使用した拡張機能
拡張メタデータプロパティー CELL_NUMBER
の値が ROW_ID
で定義されている場合、その列の値には Excel ドキュメントの行情報が含まれます。この列に プライマリーキー のマークを付けることができます。この列は、比較述語、IN
述語、および LIMIT
などの制限された機能セットを持つ SELECT
ステートメントで使用できます。その他の列はすべて、クエリーの述語として使用できません。
ソースメタデータのインポートは、Ge Excel ドキュメントのスキーマを作成するための唯一の方法ではありません。ソーステーブルを手動で作成してから、完全に機能モデルを作成する必要があるエクステンションプロパティーを追加することもできます。メタデータのインポートは、前述の例と同じスキーマモデルになります。
Excel のトランスレーターは、次の制限があります。
-
ROW_ID
は直接変更したり、挿入値として使用したりできません。 - UPDATE および INSERT の値はリテラルでなければなりません。
- 更新はトランザクションではありません。つまり、書き込みロックは、ファイルが書き込まれている間に保持されますが、更新全体では保持されません。これにより、ある更新が別の更新を上書きする可能性があります。
挿入された行の ROW_ID
は、生成されたキーとして返されます。
この機能は Excel のトランスレーターには適用されません。
この機能は Excel のトランスレーターには適用されません。