Slide 1

Slide 1 text

Tableau + Pythonと データのあり方 Tableau データサイエンス勉強会第4回

Slide 2

Slide 2 text

About Me 荒木 和也 Kazuya Araki Knight of Tableau DATA Saber 受託開発 -> パッケージ開発 -> 某HR Tech & 個人事業 Engineer -> Data Analyst / Data Enginieer / Data Archtect Love: Data Hobby: J-Rock, Snow Sports, PC Game, Board Game etc(100+) https://www.facebook.com/kazuya.araki.tokyo @kazuya_araki_jp https://note.mu/jedi_trickstar https://public.tableau.com/profile/kazuya.araki#!/

Slide 3

Slide 3 text

お話しすること 最近考えている、思っていることについて語ってみます。 (サイエンスよりは、エンジニアリングの与太話となります) ● データとTableau(Desktop)の関係 ● TableauとPython

Slide 4

Slide 4 text

お話ししないこと 10分では足りないので。 ● PythonのHow ● TabPyの細かい話(本当は語りたい)

Slide 5

Slide 5 text

データとTableau(Desktop)の関係

Slide 6

Slide 6 text

基本はETL(データパイプライン)の考え方

Slide 7

Slide 7 text

Tableau(Desktop)は優秀

Slide 8

Slide 8 text

優秀すぎるが故の罠

Slide 9

Slide 9 text

優秀すぎるが故の罠 例: 計算フィールド多すぎ問題 ● 単純にパフォーマンスが劣化する。 ● メジャーの視認性が悪くなる。 ● メジャー名を正しく定義しないと使うときに困る。 ● 計算式が正しくなかった場合のレビューがとても難しい。 ○ レビュワーもCreatorユーザーでなければならない。 etc...

Slide 10

Slide 10 text

優秀すぎるが故の罠

Slide 11

Slide 11 text

優秀すぎるが故の罠 例: カスタムSQL ● SQLが実行できるデータソースで発生しうる。 ○ データマート構築が進んでいない場合。 ○ サービズデータを無加工でデータウェアハウスに格納して いる場合。 ○ 総じて、データエンジニアリングが未熟なフェーズ。 ● Tableau Desktopのウインドウだと視認性が良くない。 ● SQLが正しくなかった場合のレビューがとても難しい。 ○ レビュワーもCreatorユーザーでなければならない。 ○ 計算フィールドと複合していると原因特定に詰む。 ○ SQLを書いた本人ですらわからない場合もある。 etc... (フォーマッターかけて) 800行超あるSQL

Slide 12

Slide 12 text

気をつけないと痛い目を見る

Slide 13

Slide 13 text

構成を考えてみる🤔

Slide 14

Slide 14 text

最近の推しの構成

Slide 15

Slide 15 text

最近の推しの構成

Slide 16

Slide 16 text

役割分担と構成管理

Slide 17

Slide 17 text

データ加工とデータ可視化を分けた方がよさそう ● データ加工 = SQL / Python / Tableau Prep Builder ○ GitHubでコードを管理する。 ■ データ定義を残す。 ■ 再現性を担保する(= 誰が使っても同じ結果になる保証)。 ○ SQLはデータベース、SQLでできないことはPythonに任せる。 ○ API系はPython。 ○ Tableau Prepは可能性しかない。今後に期待。 ■ ただし、Prep Conductorまで使うには別途追加料金が必要。 ● データ可視化 = Tableau Desktop ○ Tableau側はデータについて関与しない。 ○ Tableauはデータ可視化にだけ、注力するようにする。

Slide 18

Slide 18 text

TableauとPython

Slide 19

Slide 19 text

Python IDEの構成 from あらき

Slide 20

Slide 20 text

TabPyの登場

Slide 21

Slide 21 text

Tableau内でPythonが記述可能に TabPy

Slide 22

Slide 22 text

リプレース可能? TabPy 🤔

Slide 23

Slide 23 text

一人Zen問答したメモ at 2019/10/01 ● TabPyの位置付けは計算フィールドと変わらないので、データパイプライン を考えると、役割分担ができない。 ● 一方で、TabPyは構築さえできてしまえばTableau内で完結するので、楽とい えば楽。 ● どちらが優れているかは現時点では判断できない。 ● 少なくとも、2人以上が関わるようになった場合は、Tableau内であれこれや るよりも、ちゃんと思考開示して共有できるようにしないと属人化は進むだ ろう。 ○ Citizen Data Scientists向け? ○ Data Engineerをかかえている組織であれば、分業した方が効率は良い?

Slide 24

Slide 24 text

もう少し、ざっくばらんに 議論したいです ※背景画像はイメージです

Slide 25

Slide 25 text

まとめ ● データとTableau(Desktop)の関係 ○ データパイプラインを意識する = ツールに適した役割分担をする。 ○ データ定義はTableau(Desktop)内で行うべきではない(のが個人的見解)。 ○ なんでもTableau(Desktop)で解決しようとしない。 ● TableauとPythonTabPy ○ データパイプラインを意識すると、TabPyの導入意義が薄れてしまう(のが個人的見解)。 ○ もう少し深掘りしていきたいです🙇

Slide 26

Slide 26 text

No content