【DATA Saber】Publishできない!?~ライブ接続と抽出接続~
Data Saberの技術試練 Ordを解く際、ダウンロードした問題に書き込みをしてTableau PublicにPublishしようと思ったのですが、エラーコード「C926DA0F」が出ました。または下記画像のように「データ抽出が必要です」という画面が出て、スムーズにPublishできませんでした。(Tableau PublicとDesktopの両方で試しましたが無理でした)
私は最初原因がわからず、しばらく格闘したのち師匠に助けを求めました・・・😭
この経験をもとに、Tableauにおけるデータソースの見方やライブ接続、抽出接続の違いについて興味を持ったので、まとめようと思います!
同じような悩みを感じた方のお役に立てば幸いです。
1.OrdのPublsihの手順
(1)対象のOrdの問題をインストールし、「サンプル-スーパーストア.xls」をダウンロードする
私はtableauで新規シートを作り、PCのエクスプローラーからあらかじめローカルで保存していた「サンプル-スーパーストア」をドラッグ&ドロップして入れています。
するとこのような画面に遷移します。
データソースの▼をクリックすると三つ並んでいます。
上から順にこのような意味です。
①サンプル-スーパーストア:最新で取り込んだデータ
②注文(DAY3_サンプルスーパーストア):予め問題に取り込まれているデータ
③背景:問題文の表紙のデータ
②と③については、もともとの問題文に使われているデータなので、問題を解く際はスルーして大丈夫です。
回答するシートでは、①を必ず選択して問題を解きます。
私は最初、この三つの区別がつかず困惑しました…
(2)Publish
そのまま問題を解き、Publishしようとするとこのような画面になります。
Tableauではデフォルトがライブ接続になっているのですが、抽出接続が求められています。
そこで、「データ抽出の作成」をクリックし、「設定を保存」を押すとデータの抽出が完了します。
または、「データソース」に移動すると上部で接続方法を選べるようになっているので、抽出を選びます。
抽出接続に切り替え後、無事Publishできました!
2.ライブ接続と抽出接続の違い
なぜライブ接続のままではPublishできないのでしょうか。
ここからは、ライブ接続と抽出接続の違いを踏まえて、考えていきます。🌱
ライブ接続
ライブ接続とは、Tableauで処理が行われるたびに元データに接続する方法で、常にリアルタイムでデータを取得できます。
元データとのインタラクティブな操作が必要な場合や最新のデータを常に表示したい場合に適しています。
ただし、ネットワーク接続が必要なため、データ側の処理速度に依存し、手元のPCにも処理の負荷がかかります。
抽出接続
抽出接続とは、接続した時点のデータを切り出してファイル保存し、そのファイルからデータに接続する方法です。切り出されたデータは抽出ファイル形式(.hyper)でファイルに保存されます。
一度データを抽出すれば、分析する途中で参照元データに接続する必要が無いため、何らかの理由で参照元データにアクセスできなくなってもオフラインで作業できます。
おわりに
なぜライブ接続だとPublishできないのか
ライブ接続か抽出接続にはメリット、デメリットがそれぞれあります。
基本的に、リアルタイム性が求められる場合はライブ接続、求められない場合は抽出接続と状況によって使い分けるのがいいと思いました。
Tableau Publicでは、セキュリティとパフォーマンスの観点から、ライブ接続は制限されており、ライブ接続を使用してデータを公開しようとするとエラーが発生することがあるそうです。
また、私がordを解くときは手元のPCにある「サンプル-スーパーストア.xls」を使っているので、ワークブックをPublishしようとしたときに、Tableau Public上で元データをうまく参照できず、ライブ接続だとエラーがでるのではないかと思いました。
そのため、Tableau Publicにデータを公開する際は、抽出接続を選択しようと思います。
ライブ接続と抽出接続のTableau上での表示
Tableau上でライブ接続と抽出接続は、シートの右上のデータソースのアイコンで簡単に判別できるようになっています!
参考
データ ソースの更新 - Tableau
ライブ接続を使用した Bridge データ ソースのパブリッシュ - Tableau
Tableau Desktop 使い方 データ接続(2) 〜ライブ接続と抽出接続 (dmod-blg.com)