度々失礼いたします。Niikuraと申します。
前回、csvからbigqueryへデータソースを変更したのですが、また分からない点が出たためどなたかご教示頂けると幸いです。
現在、業務において以下の仕様を満たすダッシュボードを作成するために、Desktop10.2で試作を行っています。
・Tableau Onlineで複数人と共有を行う
・毎日2回のデータソース更新を行う(8時と17時)
・ユーザーごとに閲覧できるデータに制限を掛ける
現在、約500万レコード(約2~3GB)が格納されているbigqueryにライブ接続しているのですが、以下の問題点に悩んでいます。
・フィルターの操作及びダッシュボードの移動に1GBのクエリが発生する
・フィルターの操作及びダッシュボードの移動に10~40秒程度の読み込みが発生する
現在の状態では、時間が掛かりすぎて分析がまともにできない上にbigqueryの無料枠を超えて料金が多大になる恐れがあります。
そのため、クエリのサイズ削減及び読み込み時間の削減を行いたいのですが、方法が分かりません。
大変恐縮ですが、よろしくお願い申し上げます。
村上さん
ご回答いただきありがとうございます。
いろいろ試してみた結果、以下の方法でクエリサイズを軽減することができました。
以下の仕様の元で設定を行いました
仕様1.Big Queryに1日に1回決まった時間にデータが格納される
仕様2.Tableauのデータ更新を1日1回行う
仕様3.Big QueryのクエリをLegacy SQLで記述する
1.Google Big QueryでTableauから分析を行うデータが格納されたテーブルのViewを作成する
2.ViewのQueryをテーブルの全レコードをSELECTする設定にする
3.Big Queryへの接続方式を抽出にして、抽出を作成する
4.Tableau Onlineにデータソースのパブリッシュを行う
5.ビューのQueryに以下の構文を加えることで現在の年月日と一致するレコードのみをSELECTする設定にする
WHERE _PARTITIONTIME = TIMESTAMP(CURRENT_DATE())
6.増分更新による抽出更新スケジュールを設定する
これにより、Big Queryを操作するクエリを抽出の更新のみにすることができました。
また、5.の設定により抽出更新を行う際のクエリサイズを抑えることができました。
読み込み時間の削減は3.の設定を行うことで達成することができました。
Niikura