この記事は、『Tableau Knowledge Advent Calendar 2018』の第24回の記事です。
こんばんは。Jasonです。
今日のテーマは『QlikView Data FileをTableau用に変換する方法【qvd to tde/hyper】』です!
QlikView Data File(.qvd)とは、BIツールのQlikViewで使用できる、
データをストアした独自形式のファイルです。
Tableauでいう.tdeや.hyperのようなものですね。
今回の記事では、この.qvdをTableauで読み込める.tdeや.hyperに変換する方法を
ご紹介致します!
まずは下記サイトにアクセスし、
Advanced ETL Processorというツールをダウンロードして下さい。
https://www.etl-tools.com/advanced-etl-processor/migrating-from-qlikview-to-tableau.html
下の方にスクロールし、DOWNLOADボタンを押して下さい。
zipファイルがダウンロードされますので、
解凍後、実行ファイルを起動してインストール作業を行って下さい。
インストール完了後、Advanced ETL Processorを起動します。
[Transformations]を右クリックし、[New]をクリックします。
名称を入力し、[OK]をクリックします。
今回は[test]とします。
すると、[Transformations]配下に[test]という項目ができます。
次に、[test]を右クリックし、[New]をクリックします。
先程同様、名称を入力して[OK]をクリックします。
すると、[Data Flow Diagram]が開きます。
今回[Validator]は不要なので、選択したらDeleteキーを押下して削除して下さい。
削除後、[Reader]の右上の紫色の■を[Transformer]にドラッグし、線を接続して下さい。
接続できたら下記のようになります。
Readerをダブルクリックし、
[General]タブの[Data Source Type]から[QlikView QVD File]を選択します。
次に[Connection Name]から[Text Files]を選択します。
[QlikView QVD File]のタブに切り替え、
読み込みたいqvdがあるファイルパスを[File name]に入力し、
[OK]をクリックします。
下記のように[Reader]タブ配下にqvdの中身が表示されたら、
読み込み側の設定は終了です。
[Writer]をダブルクリックし、
[Connection Type]タブの[Data Target Type]から
[Tableau〔TDE〕File]か[Tableau〔Hyper〕File]を選択します。
※今回はTDEにします。
次に、[Connection Name]から[Text Files]を選択します。
[Tableau〔TDE〕File]タブに移り、書き込み先のファイルパスを入力し、[OK]をクリックします。
下の[Writer]タブをクリックすると、
まだカラムの情報が設定されていないことがわかります。
読み込み側のカラムと一致させるために、
[Writer]タブの下(❌の右横)にある[Copy Reader Fields]ボタンをクリックします。
ウインドウが表示されたら、[OK]をクリックします。
そうすると、下記のようにカラム情報が表示されます。
では次にカラムのマッピングをするため、[Transformer]をダブルクリックして下さい。
[Transformation Editor]が表示されます。
各カラムの紫色の■をドラッグしてマッピングを行って下さい。
下記のようにマッピングできたら[OK]をクリックしてウインドウを閉じます。
いよいよ変換処理を実行します。
右上の方から[緑色の右矢印ボタン]をクリックし、処理を実行します。
下記のように処理状況が表示されます。
[Description]の最終行に[Transformation Completed]が表示されたら成功です。
[Close]をクリックしてウインドウを閉じましょう。
これで、先程指定したファイルパスにtdeファイルが出力されています。
[Writer]タブの下にあるボタンで、左から5番目に[Open File/Directory]ボタンがあるので、クリックします。
そうするとTableauが起動し、先程出力したtdeファイルを読み込んでくれます。
この通り!
ちゃんとデータが読み込まれていますね!
以上、QlikView Data FileをTableau用に変換する方法【qvd to tde/hyper】でした!