【復習メモ】Ord7. Performance Best Practice
本日はOrd7についての復習をしたいと思います。
Tableauの知識も一程度必要な内容なため、今後のことも考えると何度も復習して鳥頭に叩き込みたい所存ですね。
■参考動画
■設問と考え方
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.パフォーマンスのよいダッシュボードデザインは、人が見たときにもわかりやすいデザインに通じているか
言わずもがな正しい。
■最後に
今回もかなり苦戦しましたが、同じ師匠の元勉強中のメンバーで行った意見交換をすることで自分の知らないことも教えていただき何とかクリアする事が出来ました。
皆さんにはとても感謝です、このまま本試験もなんとか突破したいところです。
チームメイトや仲間って大事ですね、仲間といえば「サイチョウ」という見た目がちょっと私に似ている鳥さんがいるのですが、くちばしの上の突起がないことで見分けることができます(私にはありません)。
また足指にも違いがあり、私は前2本後ろ2本、サイチョウさんは前3本後ろ1本となっております。