Ord7 Performance Best Practice 復習
お疲れ様です。
本日はDATASaberプログラム Ord7 Performance Best Practiceについて復習します。
tableauは裏で何をしているのかを考えていく試練です。
パフォーマンスとは何か
tableauの処理速度のこと。
tableauの処理速度は
・Tableau側でどんなクエリを組んでいるか
・DB側でのデータの持ち方
・データの容量
で速いか遅いかが決まる
パフォーマンスが悪いとなぜいけないのか?
フローとは
答えを得るための一番効率的な流れ
処理速度が遅いことは効率的とは言えない。
処理速度の遅さが間違った判断を招いてしまうかもしれない。
Tableauが裏でやっていること
クエリパイプライン
Tableauの処理速度改善策
抽出フィルター、データソースフィルター
tableauでVizを作成する前にデータにフィルターをかけることができる。
元データの件数自体が減るのでデータ容量は軽くなる。
ちなみにデータをライブ接続している時は、抽出フィルターは関係ない。
データソースフィルターでフィルターをかける。
結合とブレンディング
結合とクロスデータベース結合は実は同じ結合機能。
例えばexcelで言うなら
結合は一つのexcelファイルの中の別のシート同士をくっつけること。
クロスデータベース結合は別のexcelファイルのシートをくっつけること。
ブレンディングは異なるデータベースを結合はせずにデータを別々に持つ。
結合はフィールドで結合した時点で一つのテーブルになる。
ブレンディングは異なる複数のテーブルを持っているので、tableauは複数のデータを持っていることになる。
それぞれのケースに応じて、一番ベストなデータの持ち方、接続方法を選ぶ。
★★★★抽出とは
抽出フィルターでデータにフィルターをかけると
抽出ファイル(.hyper)が出来上がる。
私は抽出ファイルを作成したことがないので、抽出ファイルについての問題はかなり難しかったです…。
こちらはtableau publicのデータソースタブの画面ですが、抽出フィルターを選ぶ箇所がありません。
tableau publicで抽出フィルターは使用できないのかもしれません。
抽出ファイルを直接触って色々確認してみたいものです…。
行レベル計算と集計計算
行レベル計算とは
数量1個辺りの売上
[売上]/[数量]
のように、一行ごとで計算しているもののこと
集計計算とは
利益率
sum([利益])/sum([売上])
のように、合計、平均など何かしら集計されたメジャー同士で計算を行うこと
ちなみに行レベル計算は行レベルのメジャー同士でしか計算できない。
同じく集計計算は集計されたメジャー同士でしか計算できない。
クエリを作りすぎない
Tableau Desktopであまりに多くのクエリを組んでいると、
高性能のTableau Serverであっても高速で処理することは出来ない。
入れすぎ厳禁。
関数を多用する危険性
関数を使用することが一番スマートかつ効率的な場合はある。
しかし多用すると、クエリがたくさんできてしまい処理速度の遅れを招くかもしれない。
スキルのある人しか編集できないややこしい関数がたくさん生まれてしまうと、その人に負担が多くなってしまう。
→なるべくtableuauのネイティブ機能で解決するように考える。
相対日付とは何か
昨日や今日など起点となる日付を決めて設定する日付。
日付メジャーをフィルターにドロップすると、選べる一番最初の項目。
基準となる日付の設定もできる。
ディメンションフィルターで組まれているクエリについて
ディメンションフィルターを設定するとき、tableauはどんなクエリを組んでいるのか
ドロップダウンリスト
全てのディメンション項目を取得するクエリが組まれている
カスタムリスト
googleの検索画面のようにディメンション項目を使用者が直接入力する形
入力されたテキストと一致したディメンションでフィルターをかけるクエリをTableauが生成している
Tableauが得意なこと
Tableauはインタラクティブなデータの可視化が得意。
例えばexcelで管理している何万行もの売上データを可視化することに向いている。
クロス集計表も
一定以上の売上を出している箇所だけ色を変える
カテゴリ別のフィルタをかけたりできる。
ord7はTableauの重要な概念「集計・非集計」「クエリパイプライン」「データブレンディング」などの勉強をしておくと解きやすいかと思います。
私は以下のブログで「集計・非集計」「クエリパイプライン」「データブレンディング」を勉強しました。
https://note.com/ritz_tableau/m/mfdf3fef70e46
本日は以上です。
ありがとうございました。