QlikView - インポート
ブリッジの要件
このブリッジ:Microsoft Windowsではサポートされていません。
そのSDKにアクセスするためにはツールのインストールが必要です。
ブリッジの仕様
ベンダー | QlikTech |
ツール名 | QlikView |
ツールバージョン | 11.2〜12.x |
ツールのWebサイト | http://www.qlik.com/us/products/qlikview |
サポートされている方法論 | [ビジネスインテリジェンス] マルチモデル、QVWファイルまたはQVDファイルでのCOM API経由のBIレポート(リレーショナルソース、式解析、レポートストラクチャー) |
データプロファイリング | |
増分収集 | |
マルチモデル収集 | |
モデル選択のためのリモートリポジトリーの参照 |
仕様
ツール: QVWファイルまたはQVDファイルでのCOM API経由のQlikTech / QlikViewバージョン11.2〜12.x
http://www.qlik.com/us/products/qlikviewをご覧ください。
メタデータ: [ビジネスインテリジェンス] マルチモデル、BIレポート(リレーショナルソース、式解析、レポートストラクチャー)
コンポーネント: QlikViewファイルsバージョン11.2.0
概要
このインポートブリッジは、次のようなQlikViewファイルのディレクトリー(およびサブディレクトリー)からビジネスインテリジェンス(BI )レポーティングメタデータをインポートします。
- QlikView Working (QVW)ドキュメント
- QlikView Data (QVD)ファイル
- 各QVWドキュメントに関連付けられているQlikView実行ログファイル
- QVWドキュメントによって参照されているQlikView外部スクリプトファイル
要件
警告: このブリッジはWindowsベースのツールクライアントやSDKのCOM APIを使用します。このCOM APIは、(a) 正しくインストールされていること、(b) このツールを実行できるWindowsユーザーに代わってライセンスされていること、(c) ツールサーバーコンテンツにアクセスできることが必要です。追加事項:
(1) ツールベンダーによって推奨されているように、COM APIの場合も含めてリソース競合の恐れがあるため、ツールクライアント(およびブリッジ)がインストールまたは実行されているマシンにツールサーバーをインストールしたり共存させてはなりません。
(2) Windows COM APIベースのツールは度重なる失敗やシステムリソースの不足が発生すると不安定になるため、Windowsを再起動してツールのCOM APIを再び正しく動作させる必要があります。
(3) このブリッジがアプリケーションとして実行されている場合は、上記のWindowsユーザーと同じユーザーでログインする必要があります。
ブリッジがWindowsのサービスとして動作している場合は、WindowsのサービスマネージャーでMIMB Application Serverサービスを右クリックし、ログオンタブに移動して、サービスを実行するアカウントを名前で定義します。
- QlikViewソフトウェアがインストールされていること:
インポートブリッジの要件として、このインポートブリッジを実行しているマシンにQlikViewソフトウェアとそのCOM/OLE APIがインストールされている必要があります。
- QlikViewソフトウェアが実行されない:
APIへの接続はCOMベースの自動化経由で行われるため、必ずQlikViewインスタンスをすべて閉じ、タスクマネージャーをチェックして、実行中のQlikViewプロセスがないことを確かめてください。このインポートブリッジの起動に干渉するおそれがあるためです。
- QlikView実行ログが利用可能:
メタデータの詳細の一部(またはすべて)は、ダイナミックなアスペクト(例: ループ、サブルーチン、変数定義の使用)が原因でソーススクリプトから抽出できません。そのため、このインポートブリッジはQlikViewドキュメント実行ログを必要とします。
Miscellaneousパラメーターは-log.notavailableというオプションを提供しています(ただしお勧めできません)。
よくある質問
Q: What do I do if this import bridge appears to stop processing for a long time with no log messages after 'Connected to QlikView バージョン xx.xx.xxxxx.x'?
A: ポップアップダイアログの問題: APIへの接続はCOMベースの自動化によって行われるため、ダイアログメッセージがQlikViewによって生成され、レスポンスを待っていることからインポートがブロックされる場合があります。この問題に対処するためには、ユーザーの注意を必要とするダイアログであるウィンドウをバックグラウンドで探す必要があります。たとえばこのインポートブリッジがアプリケーションとして直接ではなくサービスとして実行されている場合は、このメッセージを必ず確認できるよう、このインポートブリッジをサービスではなくフルアプリケーションとして再実行する必要があります。
Q: このインポートブリッジによって使用される実行ログファイルを作成する方法は?
A: 実行ログファイルは、QVWドキュメントスクリプトの実行時にQlikViewによって生成されます。QlikViewメニューの[設定] / [ドキュメントプロパティ] / [一般] / [ログファイルの生成]で、ログファイルの生成を有効にします。次に、QVWドキュメントスクリプトを実行します。
Q: 実行ログファイルの生成はいつ必要ですか?
A: 実行ログファイルには、このインポートブリッジがスクリプトの式を理解するために役立つ情報が含まれています。スクリプトに変数、ループ、ダイナミックスクリプトのステートメントが含まれている場合は、常に実行ログファイルが役に立ちます。
Q: 別々のプロジェクトで同じ名前のテーブルをインポートすると、インポート結果が正しくなくなるのはなぜですか?
A: たとえば、ドキュメントはXテーブルとYテーブルからZテーブルにデータをロードします。次に、Zテーブルのデータをabc123.qvdに格納します。次にZ軸をドロップします。
そして、YテーブルとWテーブルからZテーブルにデータをロードしてqwe123.qvdを格納します。次にZ軸をドロップします。
そして、TテーブルとXテーブルからZテーブルにデータをロードしてasd123.qvdを格納します。
このドキュメントでは、3つの異なるSQL SELECT文で同じテーブル名Zを再利用しています。(SELECT > STORE > DROP)
来歴を維持するためには、上述の3つのテーブルをすべて作成しなければなりませんが、同じ名前で3つのテーブルを作成することはできません。そのため、ブリッジはドロップされたテーブルを一時テーブルとして検出し、一意の名前にします。この名前の形式は: name_Md5(application id)_removedTableNumberとなります。
制限事項
現在判明している一般的な制限事項は、https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.htmlをご覧ください。
サポート
トラブルシューティングパッケージを次の項目と共に提供してください:
- デバッグログ(UIまたはconf/conf.propertiesでMIR_LOG_LEVEL=6を使って設定可能)
- 利用できる場合はメタデータバックアップ(技術的理由によりこの共通オプションが実装されていないブリッジがあるものの、Miscellaneousパラメーターで-backupオプションを使って設定可能)
Q: サポートチームが問題を再現できるよう、どのように情報を提供すればよいですか?
A: 関連するファイル(QVW、QVD、実行ログ、外部スクリプト)のアーカイブを提供します。これらのファイルから機密データを削除したい場合は、そのためのスクリプトをリクエストしてください。
ブリッジパラメーター
パラメーター名 | 説明 | タイプ | 値 | デフォルト | 範囲 |
ディレクトリー | QlikViewプロジェクトに関連しているQlikViewドキュメント、ログファイル、および外部スクリプトファイルのディレクトリー(サブディレクトリーを含む)。 パラメーターがプロジェクトの本番拠点をポイントしていることが理想的です。本番拠点に直接アクセスできない場合は、生産ディレクトリーを別の場所にコピーしてパラメーターをポイントするという方法もあります。この場合、プロジェクトでQlikViewのDIRECTORYステートメントを使用する時に、このステートメントを新しい場所にリダイレクトさせる必要があります。詳細は、Miscellaneousパラメーターのドキュメンテーションをご覧ください。 |
DIRECTORY | 必須 | ||
ユーザーID | QlikViewドキュメントを保護するためにセクションアクセスで指定されているユーザーID。このユーザーIDはディレクトリー内の全ドキュメントにアクセスできる必要があります。そうでない場合、正しいユーザーIDを待機するQlikViewポップアップウィンドウが原因でこのインポートブリッジはハングします。 | STRING | |||
パスワード | QlikViewドキュメントを保護するためにセクションアクセスで指定するユーザーIDのパスワード。 | パスワード | |||
包含フィルター | パターンは、拡張UNIX globの式構文(大文字と小文字を区別)を使用します。 コンマを使えば複数のパターンを指定できます。 以下に一般的な例を示します。 *.* - ルートレベルのあらゆるファイルを含める *.qvw - ルートレベルのQVWファイルのみを含める **.qvw - あらゆるレベルのQVWファイルのみを含める *.{qvw,qvd} - ルートレベルのQVWまたはQVDファイルのみを含める dir\*.qvw - ”dir”フォルダー内のQVWファイルのみを含める dir\**.qvw - あらゆるレベルの"dir"フォルダーの下にあるQVWファイルのみを含める dir\**.* - あらゆるレベルの"dir"フォルダーの下にあるあらゆるファイルを含める f.qvw - ルートレベルの下にあるf.qvwのみを含める **\f.qvw - あらゆるレベルのf.qvwのみを含める **dir\** - あらゆるレベルの"dir"フォルダーの下にあるすべてのファイルを含める **dir1\dir2\** - あらゆるレベルの"dir1"フォルダーの下にあるあらゆる"dir2"フォルダーの下のすべてのファイルを含める |
STRING | |||
フィルターを除外する | パターンでは包含フィルターと同じ構文が使用されます。構文の詳細と例はその包含フィルターを参照してください。 除外フィルターと一致するフィルターはスキップされます。 コンマを使えば複数のパターンを指定できます。 包含フィルターと除外フィルターの両方が空の場合は、ルートディレクトリーの下にあるフォルダーとファイルがすべて含まれます。 包含フィルターが空で、除外フィルターがフォルダーではなく、ルートディレクトリーの下にある(除外フィルターと一致するものを除く)ファイルが含まれている場合。 |
STRING | |||
Miscellaneous | はじめに ダッシュで始まるMiscellaneousオプションを指定し、必要であればその後にパラメーターを追加できます。例: - connection.cast MyDatabase1="MICROSOFT SQL SERVER" 該当する場合は複数回使用できるオプションもあります。例: - connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2; オプションのリストは長い文字列になるため、${MODEL_BRIDGE_HOME}\data\MIMB\parametersにあり拡張子が.txtであるファイルからロードすることもできます。その場合、オプションはすべて、このパラメーターの唯一の値としてそのファイル内で定義されることが必要です。例: ETL/Miscellaneous.txt JAVA環境のオプション -java.memory <Javaメモリの最大サイズ> (以前の-m) 64ビットJREではデフォルトで1G、またはconf/conf.properties内の設定に従います。例: -java.memory 8G -java.memory 8000M -java.parameters <Javaランタイム環境コマンドラインオプション> (以前の-j) -java.parameters -Dname=value -Xms1G のように、-java.parametersの後ろのテキストはすべてそのままJREに渡されるため、このオプションはMiscellaneousパラメーター内の最後に来る必要があります。インターネットへのアクセスにプロキシを使用している場合は、必要なサードパーティのソフトウェアライブラリーをダウンロードできるよう、次のオプションを設定する必要があります(このオプションはhttps://repo.maven.apache.org/maven2/にアクセスするため、そして例外的にいくつかの他のツールサイトにアクセスするために不可欠です)。 注: プロキシは、(会社の)外部トラフィックをHTTPSで暗号化しながら、HTTPでプロキシにアクセスできる内部トラフィックを信頼しているものがほとんどです。この場合、HTTPSリクエストはHTTPでプロキシに到達し、プロキシはそれをHTTPSで暗号化します。 -java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass モデルインポートのオプション -model.name <モデル名> モデル名をオーバーライドをオーバーライドします。例: -model.name "My Model Name" -prescript <スクリプト名> このオプションによって、ブリッジの実行前にスクリプトを実行できるようになります。 スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。 スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。 スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。 例: -prescript "script.bat arg1 arg2" -postscript <スクリプト名> このオプションによって、ブリッジが正しく実行された後にスクリプトを実行できるようになります。 スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。 スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。 スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。 例: -postscript "script.bat arg1 arg2" -cache.clear インポート前にキャッシュをクリアするため、増分収集せずにフルインポートを実行します。 モデルが変更されず、-cache.clearパラメーターが使われていない場合(増分収集)、新しいバージョンは作成されません。 モデルが変更されず、-cache.clearパラメーターが設定されている場合(増分ではなくフルソースインポート)、新しいバージョンが作成されます。 -backup <directory> さらなるトラブルシューティングのため、入力メタデータを保存できるようにします。指定された<directory>は空であることが必要です。 -restore <ディレクトリー> 復元するバックアップ<ディレクトリー>を指定します。 データ接続オプション 使用するソースとターゲットのデータストアを参照するよう、通常はETL/DIツールとBIツールのインポートブリッジによってデータ接続が生成されます。これらのデータ接続はメタデータ管理ツールによって実際のデータストア(データベースやファイルシステムなど)への接続(メタデータスティッチング)に使われ、完全なエンドツーエンドのデータフローの来歴とインパクト分析が行われます。各データ接続の名前はインポートモデルごとに一意です。DI/BIデザインツールで使われているデータ接続名を可能な限り使用します。そうでない場合は、データベース/スキーマ名、ファイルシステムのパス、Uniform Resource Identifier (URI)など、短くても意味のある接続名が生成されます。次のオプションを使えば、接続を操作できます。これらのオプションによって、レガシーオプションである-c、-cd、-csが置き換えられます。 -connection.cast ConnectionName=ConnectionType SQL解析のためにジェネリックデータベース接続(ODBCやJDBCなど)を正確なデータベースタイプ(ORACLEなど)にキャストします。例: -connection.cast "My Database"="MICROSOFT SQL SERVER" サポートされているデータストア接続タイプのリストは次のとおりです。 ACCESS APACHE CASSANDRA DB2/UDB DENODO GOOGLE BIGQUERY HIVE MYSQL NETEZZA ORACLE POSTGRESQL PRESTO REDSHIFT SALESFORCE SAP HANA SNOWFLAKE MICROSOFT SQL AZURE MICROSOFT SQL SERVER SYBASE SQL SERVER SYBASE AS ENTERPRISE TERADATA VECTORWISE HP VERTICA -connection.rename OldConnection=NewConnection 既存の接続を新しい名前に変更します。例: -connection.rename OldConnectionName=NewConnectionName 既存の複数のデータベース接続の名前を変更し、新しい1つのデータベース接続に統合できます。例: -connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase -connection.split oldConnection.Schema1=newConnection データベース接続を1つまたは複数のデータベース接続に分割します。 1つのデータベース接続をスキーマごとの1つの接続に分割できます。例: -connection.split MyDatabase すべてのデータベース接続をスキーマごとの1つの接続に分割できます。例: -connection.split * データベースにスキーマ名を追加することで、データベース接続を明示的に分割し、新しいデータベース接続を作成できます。例: -connection.split MyDatabase.schema1=MySchema1 -connection.map SourcePath=DestinationPath ソースパスをデスティネーションパスにマッピングします。これは、異なるパスが同じオブジェクト(ディレクトリーまたはファイル)をポイントしている場合にファイルシステム接続にとって便利です。 Hadoopでは、あるプロセスがHDFSの完全パスで指定されたCSVファイルに書き込む一方、別のプロセスが、デフォルトのファイル名と拡張子を持つ相対パスで指定されている同じファイルによって実装されたHiveテーブル(外部)から読み取ります。例: -connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv Linuxでは、/users/johnや/users/paulといった複数のシンボリックリンクによって、/dataのような特定のディレクトリー(またはファイル)が参照されます。例: -connection.map /data=/users/John -connection.map /data=/users/paul Windowsでは、M:やN:といった複数のネットワークドライブによって、C:\dataのような特定のディレクトリーが参照されます。例: -connection.map C:\data=M:\ -connection.map C:\data=N:\ -connection.casesensitive ConnectionName... 検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別しないデフォルトのマッチングルールがオーバーライドされます。例: -connection.casesensitive "My Database" -connection.caseinsensitive ConnectionName... 検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別するデフォルトのマッチングルールがオーバーライドされます。例: -connection.caseinsensitive "My Database" -connection.level AggregationLevel 外部接続の集計レベルを指定します。例: -connection.level catalog サポートされている値のリスト: server catalog schema (デフォルト) -database.type <接続データベースタイプのリスト> ジェネリックODBC接続を介してデータベースにアクセスしている場合は、そのデータベースに固有の来歴用SQL構文を適切に解析できるよう、正確なデータベースタイプを知っておくことが極めて重要です。 接続データベースタイプのリストは、カンマ区切りの値ペアで指定する必要があります: <接続名>=<データベースタイプ> SQL解析用にサポートされているデータベースタイプは以下のとおりです: ACCESS CASSANDRA DB2 DENODO HIVE MYSQL NETEZZA ORACLE POSTGRESQL PRESTO REDSHIFT SALESFORCE SAP HANA SNOWFLAKE SQL SERVER SYBASE TERADATA VECTORWISE VERTICA 接続名を使わずにデフォルトのデータベース接続を指定します。例: -database.type ORACLE 複数のデータベース接続が使われている場合は、関連する接続名を使用して各データベースタイプを指定します。例: -database.type MyConnectionName=ORACLE デフォルトのデータベースタイプを複数の接続データベースタイプと混合させることができます。例: -database.type ORACLE -database.type MyConnectionName1=TERADATA -database.type MyConnectionName2=DB2 QLIKのオプション -directory <ステートメント> 以降のLOADステートメントのディレクトリーパスを設定するために、QlikドキュメントのDIRECTORYステートメントが使われます。 このディレクトリーにアクセスできない場合は、DIRECTORYステートメントを使って別のディレクトリーにリダイレクトします。そのためには、DIRECTORYステートメントをQlikドキュメント実行ログからコピーし、= を追加して別のディレクトリーへのパスを指定します。次の場合は、c:\folderフォルダーがd:\folder2フォルダーにリダイレクトされます。例: -directory [c:\folder1]=[d:\folder2] DIRECTORYステートメントの後のパスが空である場合は、すべてのDIRECTORYステートメントが指定されたディレクトリーにリダイレクトされます。例: -directory []=[d:\folder2] -file.path <ファイルディレクトリー> Qlikドキュメントには、ファイルパスと連携するInclude、 Store、Loadといったステートメントが含まれていることがあります。元のファイルパスがこのインポートブリッジによってはアクセスできない場合、次のようなエラーが記録されます: -「次のファイルを開くことができません: '\\inaccessible\scripts\include.txt」 -「ソースドキュメントである\\inaccessible\QVDs\file.qvdがアクセス不可能であるため、依存項目を処理できませんでした」 このようなエラーは、アクセスできないファイルをアクセス可能なパスにコピーすることで解決できます。 必要なファイルが\\inaccessible\folder", then copy them to C:\accessible\folderにある場合は、それをC:\accessible\foldeにコピーし、新しい場所から読み取るようインポートブリッジに指示してください。例: -file.path [\\inaccessible]=[c:\accessible] file.pathオプションでは、複数のfile.pathオプションを指定することで元のファイルパスの一部を新しいものと置換できます。例: -file.path [\\inaccessible]=[c:\accessible], [\\inaccessible2]=[c:\accessible2] インポートブリッジは、複数の-file.pathオプションを指定された順番に適用します。 -file.path [\\a]=[c:\a], [\\aa]=[c:\aa] - 正しくない方法 -file.path [\\aa]=[c:\aa], [\\a]=[c:\a] - 正しい方法 file.pathの指定は、インポートするQlikViewドキュメントがあるディレクトリーパスの外側では行わないようにしてください。 -log.notavailable 一部の重要なメタデータ(例: 来歴用の正確なソースデータストアテーブル)は、動的なアスペクト (例: ループ、サブルーチン、変数定義の使用)が原因でQlikスクリプトから直接抽出できないため、Qlikドキュメント実行ログを必要とします。 このオプションによって、実行ログが利用できない場合(来歴用の一部の重要なメタデータが欠けているなど)でもインポートできるようになります。 -qvd.as.file このパラメーターを指定すると、ブリッジは、LOADステートメントとSTOREステートメントからのQVDファイルを通常のファイル(CSVやTXTなど)としてインポートします。 QVDファイルはアクセス不可にすることができるので、-file.pathを使ってアクセス不可のQVDファイルのパッチをオーバーライドする必要はありません。 このパラメーターが指定されていない場合、ブリッジはQVDファイルをOLAPモデルとしてインポートします。 QVDファイルはこのインポートブリッジによってアクセス可能であることが必要です(詳細は-file.pathをご覧ください。)。 |
STRING |
ブリッジのマッピング
Meta Integration Repository (MIR) メタモデル (OMG CWM標準に基づく) |
"QlikView" メタモデル QlikView (アプリケーション) |
マッピングのコメント |
DirectoryStructureModel | アプリケーション | |
CreationTime | 作成日時 | |
説明 | 説明 | |
ImportDate | インポート日 | |
名前 | 名前 | |
NativeId | ネイティブID | |
NativeType | ネイティブタイプ | |
フォルダー | フォルダー | |
作成者 | 作成者 | |
CreationTime | 作成日時 | |
説明 | 説明 | |
LastModificationTime | 最終変更日時 | |
変更者 | 変更者 | |
名前 | 名前 | |
NativeId | ネイティブID | |
NativeType | ネイティブタイプ | |
StoreContent | QVW、接続、QVD | |
作成者 | 作成者 | |
CreationTime | 作成日時 | |
説明 | 説明 | |
LastModificationTime | 最終変更日時 | |
変更者 | 変更者 | |
名前 | 名前 | |
NativeId | ネイティブID | |
NativeType | ネイティブタイプ |