Ord7. Performance Best Practice
Q1.パフォーマンスが悪いとなぜいけないか
パフォーマンスの重要性
悪いと・・
ー答えを得るのに時間がかかる
ー分析フローが途切れてしまいイライラする
ー自分が何を考えていたかわすれてしまい本当のTask忘れる
良いと・・
ー早く答えを見つけることが出来る
ー分析フローに乗れる
Q2~3.表計算/JOIN(結合)はどこで処理されるか
行レベル計算、集計計算とデータ結合はDBで集計され、表計算はTableauで処理される。
Q4.Tableau Desktopで表示が遅くてもTableau Serverで高速に表示できる
DesktopとServerの処理速度は優劣の関係にない。
Desktopの場合使用しているPCのメモリやスペックに依存し
Serverの場合はサーバー側のスペックに依存する。
Q5.Tableauのシート作業前に件数を減らせるフィルターは
抽出フィルターとデータソースフィルターはTableauでVizを作成する前にデータにフィルターをかけることが可能=元データの件数自体が減るのでデータ容量は軽くなる。
※データをライブ接続している時は、抽出フィルターは関係ない
Q6.データの集計が遅い場合、DBで事前にテーブルを準備してもよいか
よい。それによってパフォーマンスを向上させることも可能。
Q7~8.データ結合の種類の考え方
トランザクションデータとマスタデータを結合する場合、同じデータベース上にあれば結合を利用し、異なるデータベース上に存在すればクロスデータベース結合を利用するのが速い。
トランザクション同士の結合だと、結合を利用すると行が増えてしまうので、集計してから結合するブレンドを利用するのがよい。
Q9.ライブ接続と抽出接続について正しいものを答えなさい
抽出接続の方が早いと思われがちだが、実際にはケースバイケース。
DB側が最適化されているとライブ接続の方が早いこともある。
Q10.抽出は必要な粒度で集計した状態で作成することができるか
知っているかどうかのところがあり一人では突破できなかったが、そもここでいう抽出での集計とは、データソース画面から、抽出を使って選択したディメンションなどからデータソースを抽出できる機能の事を指す。
この機能を用いて不必要なデータをフィルターしたり、必要なデータを抽出したりすることができる。
Q11.行レベル計算を内包する集計計算を作成する時の考え方
行レベル計算を1つ目の計算式に入れ、集計計算でその計算式を格納する方が速くなる。
Q12.地域項目の値をエリアとしてまとめたい時の方法。
計算式を作るよりも、Tableauのネイティブ機能を使った方が速い。
ネイティブ機能はパフォーマンスも考慮されて作られているため。
Q13.最も速く処理できるデータ型を選びなさい
データ型の処理速度の順は 整数 > ブール > 文字
Q14.文字列データを日付型に直す方法の考え方。
Q12の問題と同じく最初はネイティブ機能を使うのが基本。
文字型を右クリックして日付型に直接変えれば良い。
基本的には8桁の数値なら日付型に変更できるが、もしNULL表示なったら「DATEPARSE」関数を使用
Q15.日付フィルターを作成する時一番パフォーマンスがいいのは
日付フィルターの場合、不連続フィルターは遅く、
連続型の範囲フィルターは早い。また相対日付フィルターはさらに早い。
Q16.フィルターを自由に選べるように表示しておく場合パフォーマンスがよいのは
ドロップダウンの場合、全てのフィルターの値を取得する必要があるのに対し、カスタムリストは入力された値のみ取得すればいいのでパフォーマンスがより優れている。
Q17.表示されたフィルターの「関連値のみ」オプションを使用する時の考え方
「関連値のみ」とは、2つのフィルターがあった場合、それを連動させることができる。
しかし、そのために余計なクエリが走るのでその分重くなってしまう。
関連値のみはとても便利だが、結果的にパフォーマンスは悪くなる。
Q18.クエリパイプラインとして正しいものは
<クエリパイプラインの順序>オボエテシマオウ
①抽出フィルターフィルター
②データソースフィルター
③コンテキストフィルター
④セット、コンディショナルフィルター(条件)、Top N、FIXED LOD
⑤ディメンションフィルター(全般、ワイルドカード)
⑥INCLUDE/EXCLUDE LOD、ブレンディング、集計計算
⑦メジャーフィルター(計算結果でのフィルター
⑧予測、表計算の計算、クラスター、合計の計算
⑨表計算フィルター
⑩傾向線、リファレンスライン
Q19.Tableauは数万行のテキストテーブルを表示するのが得意であるか
機能のとしてクロス集計表も作ることはできるが、それを目的に作られたツールではない。
数万行ともなれば、それに列も加わり数十万単位のマークになる。
これを集計された棒グラフ等で表現すれば影響は少ないが、全てクロス集計表にするとなるとパフォーマンスは下がる。
Q20.ダッシュボードのサイズの考え方
表示されるべき形にしっかり固定しておく。
自動にしておくと利用者の画面が変わるたびに表示を切り替え、その分パフォーマンスが低下してしまう。
Q21.パフォーマンスのよいダッシュボードデザインは、人が見たときにもわかりやすいデザインに通じているか
正しいですね