[Tableau Desktop]開発から本番へのデータ ソース切替手順

2015.07.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは、yokatsukiです。今回は久しぶりにTableauに関するトピックをお伝えします。

弊社は最近、TableauとRedshiftを組み合わせた情報分析基盤構築案件を多く扱っています。その中で体験する事ですが、案件の初期段階では、表示したいグラフのイメージはあるが、それを実現する為のデータウェアハウス側の構造が決まっていない状況がしばしば発生します。このような時、私はExcelシートをデータ ソースとしたプロトタイピングをしています。Excelシートの構造を目的のデータ表示が得られるまで試行錯誤し、目的のデータが表示できるTableauワークブックとExcelシートが作成できたら、そのExcelシートと同じ構造を持つテーブルを作成するようにウェアハウス側のETL処理を作成、実装します。

プロトタイピングしたTableauワークブックは、最終段階でデータ ソースをExcelシートから本番のデータベースに切り替えるのですが、ここにちょっとしたコツがありましたので紹介します。

状況説明

Tableauで「品番毎の売上金額を、順位と共に左から表示する」という要件があったとします。この表示を実現する為のTableauワークブックをExcelシートをデータ ソースとしプロトタイピングしました。

ExcelファイルとTableauワークブックは以下のものを作成しました。こちらのリンクからアーカイブがダウンロードできます。

  • 横ランキング.twb
  • 横ランキング.xlsx

TableauおよびExcelで開くと以下になります。

tableau-desktop-switch-datasource-01

要件の中にある売上金額の順位表示は、TablauのRANK()関数を使用して算出、表示しています。

tableau-desktop-switch-datasource-011

このプロトタイプに対して、本番環境であるRedshiftのテーブルを参照するよう、データ ソースを切り替える操作を行います。

本番環境を想定したRedshiftのテーブルpublic.sales_rankingは以下のSQL文で作成し、Excelシートとは異なるデータをINSERTしました。

 CREATE TABLE public.sales_ranking (
 product_id VARCHAR(6),
 sales_sum INTEGER
);

操作手順

1. データ ソースの追加

まず、既存のデータ ソース情報はそのまま残しつつ、本番環境のデータベース接続情報を追加します。

[データ]-[新しいデータソース]を選択します。

tableau-desktop-switch-datasource-02

接続情報から、Amazon Redshiftを選択します。

tableau-desktop-switch-datasource-03

Redshiftの接続情報を記入し、OKをクリックします。

tableau-desktop-switch-datasource-04

スキーマのドロップダウンリストからpublicを選択し、目的のテーブル(sales_ranking)を追加します。

tableau-desktop-switch-datasource-05

追加後、サイドバーのデータペインには、2つのデータ ソースが表示されます。

下記は従来のExcelシートのデータ ソース表示です。

tableau-desktop-switch-datasource-06

追加したRedshiftのデータ ソースに切り替えると、テーブルのカラムproductidやsalessumがそのまま表示されていることが確認できます。この時点では、表示に使用しているデータ ソースはExcelだということが青いチェックマーク(プライマリ データ ソース)で確認できます。

tableau-desktop-switch-datasource-07

2. ディメンション、メジャー名の変更

データ ソースをスムーズに切り替えるには、切り替え前と切り替え後で対応するフィールド名を同じ名前に設定しておく必要があります。データ ソースを切り替え後のRedshiftに選択し、"product_id"を右クリックしたメニューで名前を変更します。

tableau-desktop-switch-datasource-08

名前を切り替え前のフィールド名"品番"に変更します。

tableau-desktop-switch-datasource-09

変更を確認します。名前の対応がTableau側で確認できると、自動的にリンクを表す鎖のアイコンが表示されます。

tableau-desktop-switch-datasource-10

同様に、"sales_sum"を"売上金額"に変更します。

tableau-desktop-switch-datasource-11

計算フィールドは新規に作成する必要があります。 メジャーフィールドを右クリックし、"計算フィールドの新規作成"を選択し、同じ"売上ランキング"として切り替え前のデータ ソースに設定されている計算式と同じ内容で複製します。

tableau-desktop-switch-datasource-12

Tableauでは、値を連続で扱うか不連続で扱うかも割と重要なポイントになります。連続値の場合は緑、不連続値の場合は青で表示されるので、合わせるために念の為不連続に変換しておいた方が良いでしょう。

tableau-desktop-switch-datasource-13

3. データ ソースの置換

参照先のデータをExcelシートからRedshiftに切り替えます。[データ]-[データ ソースの置換]を選択します。

tableau-desktop-switch-datasource-14

表示メニューで、切り替え元及び切り替え先のデータ ソースが正しく選ばれているか確認して、OKをクリックします。

tableau-desktop-switch-datasource-15

正しくデータ ソースが切り替わったら、プライマリ データ ソースを表す青いチェックマークがRedshiftの方に移動し、ビューの表示がRedshiftの内容に切り替わっていることが確認できます。

tableau-desktop-switch-datasource-16

4. 調整

データ ソースの置換のタイミングで、以下の様な原因でエラーが発生することがあります。

  • フィールド名が揃っていない
  • フィールドのデータ型が揃っていない

例えば、フィールド名前が揃っていない場合、置換後以下のような画面になります。

tableau-desktop-switch-datasource-17

エラーが発生した場合は、Tableauのウィンドウ左上、元に戻すボタン(←)をクリックして、原因を修正して、もう一度データソースの置換から実施しましょう。

5. 旧データソースの削除

最後は、不要になったデータ ソースの削除です。不要になったデータ ソースを右クリックし、閉じるを選択します。

tableau-desktop-switch-datasource-18

以上の操作で、データ ソースを本番環境へ切り替えることができました。後はこのワークブックをTableau Serverにパブリッシュしたり、データを抽出したりと、本番データを使用した自由な操作が可能になります。

tableau-desktop-switch-datasource-19

まとめ

Tableauにおけるプロトタイピング後のデータ ソースの切り替え方法を紹介しました。個人的にはこの作業を行うことが意外に多かったので、同じ状況に遭遇される方も少なくないと思い、ブログとしてまとめました。お役に立てれば幸いです。

Tableauに関しては、オンラインヘルプも日本語で丁寧に記載があるので、そちらも併せて参考になさって下さい。

それでは、また。