Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tableau + Pythonとデータのあり方
Search
Kazuya Araki
October 21, 2019
Technology
2
110
Tableau + Pythonとデータのあり方
Tableauデータサイエンス勉強会 第4回 - 画像認識技術とBIの巻-
登壇資料
https://techplay.jp/event/750555
Kazuya Araki
October 21, 2019
Tweet
Share
More Decks by Kazuya Araki
See All by Kazuya Araki
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
540
Tableau事例紹介 & 課題共有
kazuya_araki_tokyo
1
1.3k
統計とは? @ICUHS
kazuya_araki_tokyo
0
260
License Management @BizReach, Inc.
kazuya_araki_tokyo
0
49
Art and Science of Visual Analytics Episode 0
kazuya_araki_tokyo
0
43
Art and Science of Visual Analytics Episode 1
kazuya_araki_tokyo
1
110
Art and Science of Visual Analytics Episode 2
kazuya_araki_tokyo
0
41
Art and Science of Visual Analytics Episode 3
kazuya_araki_tokyo
0
41
株式会社ビズリーチの紹介@Data Analyst Meetup Tokyo vol.8
kazuya_araki_tokyo
0
74
Other Decks in Technology
See All in Technology
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
160
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
780
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
100
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
280
What's new in Go 1.24?
ciarana
1
110
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
350
困難を「一般解」で解く
fujiwara3
7
1.6k
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
150
AIエージェント入門
minorun365
PRO
32
19k
E2Eテスト自動化入門
devops_vtj
1
110
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Agile that works and the tools we love
rasmusluckow
328
21k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
How to train your dragon (web standard)
notwaldorf
91
5.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Designing for Performance
lara
605
68k
Embracing the Ebb and Flow
colly
84
4.6k
What's in a price? How to price your products and services
michaelherold
244
12k
Practical Orchestrator
shlominoach
186
10k
Transcript
Tableau + Pythonと データのあり方 Tableau データサイエンス勉強会第4回
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#!/
お話しすること 最近考えている、思っていることについて語ってみます。 (サイエンスよりは、エンジニアリングの与太話となります) • データとTableau(Desktop)の関係 • TableauとPython
お話ししないこと 10分では足りないので。 • PythonのHow • TabPyの細かい話(本当は語りたい)
データとTableau(Desktop)の関係
基本はETL(データパイプライン)の考え方
Tableau(Desktop)は優秀
優秀すぎるが故の罠
優秀すぎるが故の罠 例: 計算フィールド多すぎ問題 • 単純にパフォーマンスが劣化する。 • メジャーの視認性が悪くなる。 • メジャー名を正しく定義しないと使うときに困る。 •
計算式が正しくなかった場合のレビューがとても難しい。 ◦ レビュワーもCreatorユーザーでなければならない。 etc...
優秀すぎるが故の罠
優秀すぎるが故の罠 例: カスタムSQL • SQLが実行できるデータソースで発生しうる。 ◦ データマート構築が進んでいない場合。 ◦ サービズデータを無加工でデータウェアハウスに格納して いる場合。
◦ 総じて、データエンジニアリングが未熟なフェーズ。 • Tableau Desktopのウインドウだと視認性が良くない。 • SQLが正しくなかった場合のレビューがとても難しい。 ◦ レビュワーもCreatorユーザーでなければならない。 ◦ 計算フィールドと複合していると原因特定に詰む。 ◦ SQLを書いた本人ですらわからない場合もある。 etc... (フォーマッターかけて) 800行超あるSQL
気をつけないと痛い目を見る
構成を考えてみる🤔
最近の推しの構成
最近の推しの構成
役割分担と構成管理
データ加工とデータ可視化を分けた方がよさそう • データ加工 = SQL / Python / Tableau Prep
Builder ◦ GitHubでコードを管理する。 ▪ データ定義を残す。 ▪ 再現性を担保する(= 誰が使っても同じ結果になる保証)。 ◦ SQLはデータベース、SQLでできないことはPythonに任せる。 ◦ API系はPython。 ◦ Tableau Prepは可能性しかない。今後に期待。 ▪ ただし、Prep Conductorまで使うには別途追加料金が必要。 • データ可視化 = Tableau Desktop ◦ Tableau側はデータについて関与しない。 ◦ Tableauはデータ可視化にだけ、注力するようにする。
TableauとPython
Python IDEの構成 from あらき
TabPyの登場
Tableau内でPythonが記述可能に TabPy
リプレース可能? TabPy 🤔
一人Zen問答したメモ at 2019/10/01 • TabPyの位置付けは計算フィールドと変わらないので、データパイプライン を考えると、役割分担ができない。 • 一方で、TabPyは構築さえできてしまえばTableau内で完結するので、楽とい えば楽。 •
どちらが優れているかは現時点では判断できない。 • 少なくとも、2人以上が関わるようになった場合は、Tableau内であれこれや るよりも、ちゃんと思考開示して共有できるようにしないと属人化は進むだ ろう。 ◦ Citizen Data Scientists向け? ◦ Data Engineerをかかえている組織であれば、分業した方が効率は良い?
もう少し、ざっくばらんに 議論したいです ※背景画像はイメージです
まとめ • データとTableau(Desktop)の関係 ◦ データパイプラインを意識する = ツールに適した役割分担をする。 ◦ データ定義はTableau(Desktop)内で行うべきではない(のが個人的見解)。 ◦
なんでもTableau(Desktop)で解決しようとしない。 • TableauとPythonTabPy ◦ データパイプラインを意識すると、TabPyの導入意義が薄れてしまう(のが個人的見解)。 ◦ もう少し深掘りしていきたいです🙇
None