見出し画像

Data Saberあれこれ(Ord7)

はじめに

  • こんにちは、都内で受託でデータ分析をしているけっちんです。2023年11月半ばからDATA Saber Bridge2ndとしてDATA Saber認定制度の試練に挑戦している「Apprentice」の1人です。

  • DATA SaberはTableauを通じて、組織内・ひいては世界にデータドリブンの文化を広めるために何ができるか、ということを学び実践し伝えることをミッションとしています。以下はHP上の一節です。

  • データを通して世界を理解し、それを人に正しく伝える努力を怠らず、人の心を動かし、行動を促す。これがDATA Saberである。

  • DATA Saber認定制度の試練のコミュニティ活動の一貫として、備忘録兼道標として書き記します。

  • この記事をきっかけにDATA Saber認定制度に挑戦する方が増えたり、参加中の方の一助となれば幸いです。

今回話したいこと

  • 第4,5弾に引き続きData Saber認定制度あれこれ、今回はOrd7やっていきます!

  • テーマはパフォーマンス関連になります。

  • パフォーマンスが悪いと、
    答えを得るのに時間がかかる、フローに乗れない、本当のTaskを忘れるなど様々な問題がありますが、個人的には昨今のビッグデータ時代において「イライラする」が真理な気がします(Tableau君に限りませんが)

あれこれ

パフォーマンスベストプラクティス

  • データ(DB側)が遅ければTableau側で早くなることはない

  • Desktopで遅ければServerで早くなることはない

    • Sever側での処理があるため

  • 一つのワークブックに詰め込まない

Tableauの計算順序(クエリパイプライン)

  • データソース(DB)▶Tableauの順で処理が実行される

    • 集計や結合(JOIN)はDBで処理が実行される

  • 抽出フィルター、データソースフィルター(Tableauのシートで作業する前に件数を減らせる)、コンテキストフィルター、FIXED、ディメンションフィルター、EXCLUDE/INCLUDE、メジャーフィルター、表計算フィルターの順で処理が実行される

みのるさんのnoteより引用

データの結合方法

  • 結合には大きく分けて、データ結合、ブレンド、クロスデータベース結合の3種類の結合が存在する

  • データ結合はDB側で処理されるが、ブレンドとクロスデータベース結合はTableau側(ローカルで実行)で処理される。

    • SQLのクロスジョインとクロスデータベース結合は別物

  • 結合方法の選択

    • データ結合…同じDBで同じ粒度のデータを結合

    • ブレンド…粒度が異なるデータを結合

    • クロスデータベース結合…違うDBで同じ粒度のデータを結合

Tofu Ladyさんのnoteより引用

参考

パフォーマンス関連の個人的おすすめの書籍(Tableauは詳しくないのでDB関連で)

おわりに

  • 第6回目の記事を執筆しました。

  • 今後は様子を見て普段SQLをよく使う人目線での各種関数やLODも先人の記事を参考にまとめたり、実務周りのネタを記事に執筆したいと思います。

  • このブログを通じて、私自身の成長とともに、読者の皆さんと一緒に学んでいければと思います。次回の記事もお楽しみに!

この記事が気に入ったらサポートをしてみませんか?