【Tableau8.2】Excelデータソースで簡単にSQLを実行する

2014.07.29

こんにちは、せーのです。 BIツールとして存在感がどんどん出てきたTableau Desktopですが、弊社でもしんやさんを中心にしてTableau Desktopのノウハウがどんどん溜まってきております。 そんな流れに完全に便乗する形で私もTableauのTipsを投下してみようと思います。

Excel接続のコネクタ違いを理解しよう

さて、Tableau Desktop8.2の新機能としてExcelに接続する際にTableau独自の新コネクタを使用する仕様に変更されました。 255列以上のExcelファイルにアクセスが可能になり、データタイプもより正確に自動判別するようになった一方、テーブル結合等が制約されるパターンも出てきます

legacy0

一方8.1時代のコネクタはJETエンジンがベースのため、結合は基本的にSQLでゴリゴリ変更することが可能です。 ちなみに8.2でも8.1のレガシー接続が可能です。それではやってみましょう。

やってみよう

Excelにレガシー接続する

Tableau Desktop8.2を立ち上げ[connect to Data]をクリック、データソースの中から[Microsoft Excel]を選択すると対象となるExcelファイルを選ぶ画面が出てきます。

legacy1

ここで[Open]ボタン横のトグルボタンをクリックすると接続方法が選択できます。ここから[Open with Legacy Connection]を選択します。これでレガシー接続できます。

legacy2

新規にSQLを書くのではなくTableauが作ったSQLを修正する

legacy3-1

左下の方に[New Custom SQL]というリンクがありますが、こちらを選択すると[Edit Custom SQL]という空のシートが出てきます。もちろんここにゴリゴリSQLを書いても対象データをロードできるのですが、これはあまりにめんどいです。ここでオススメするのは「Tableauの機能でロードし、必要なSQLを書き足す」という方法です。 分析したいシートを[Drag sheets here]にドラッグ&ドロップします。

legacy3

[Data]メニューから[Convert to Custom SQL]をクリックします。そうすると現在ロードされているデータのSQL文が表示されます。JETエンジンベースなので大カッコでくくられているんですね。

legacy4

あとはここのwhere文やselect文をゴリゴリ書き換えれば自分の望む形のデータをロードできます。

まとめ

いかがでしたか。ちなみにこの機能、Windows版のTableau Desktopのみについていました。mac版にはついていないので注意してくださいね。 レガシー接続は自分の思う通りのデータソースのロードができますが255列、255文字制限があったり、それなりにデメリットもあります。 8.2での新コネクタと8.1でのレガシー接続、あなたの対象としているデータの形に合わせて使い分けるようにしましょう。