【Tableau個人的Tips】ポケモンデータを扱ってみる(④データ加工編その2)
今回からはTableau Desktopをやっていきます。
Tableau Desktop上でもいくつか加工作業をしているのでまずそこから説明していこうと思います。
日本語化
実はここまでのデータがすべて「英語」のデータという最大の問題があります。
英語名 | 日本語名 |
BUG | むし |
DARK | あく |
DRAGON | ドラゴン |
ELECTRIC | でんき |
FAIRY | フェアリー |
FIGHTING | かくとう |
FIRE | ほのお |
FLYING | ひこう |
GHOST | ゴースト |
GRASS | くさ |
GROUND | じめん |
ICE | こおり |
NORMAL | ノーマル |
POISON | どく |
PSYCHIC | エスパー |
ROCK | いわ |
STEEL | はがね |
WATER | みず |
タイプが18個しかないのでここは気合で日本語化しました。
このシートはほかのポケモンデータにも使えそうなので別CSVファイルとして保存し、
Desktop上で結合して利用しようと思います。
3つ結合していると思いますが、基本的に「攻撃タイプ」「防御タイプ1」「防御タイプ2」のデータが前回のPrep上での操作でできているためこのレコードにそれぞれ結合していきます。
【Tableau個人的Tips】ポケモンデータを扱ってみる(③データ加工編その1)
今回からはTableauPrep上で加工をしていきます。
まず「TypeChart」シートのおさらいをすると
Attack | 攻撃側タイプ | |
Defense | 防御側タイプ | |
Effectiveness | 効果(英語) | |
Multiplier | 乗数 | こうかがばつぐんだ(2.0) こうかがないようだ・・・(0) といったように攻撃したときのタイプ相性を数字で表示しています。 |
Tableau上でやろうとしているのが
タイプ1「みず」・タイプ2「じめん」といった感じでプルダウンを選ぶと
それぞれの値が持っている乗算(×2・×1・・・)をすべてかけ合わせて
タイプ相性をそれぞれ出す仕組みにしたいです。
なので、いまこのようにある「TypeChart」に対して・・・
攻撃タイプ | 防御タイプ | 乗算 |
くさ | じめん | 2 |
くさ | みず | 2 |
くさ | ほのお | 0.5 |
くさ | ノーマル | 1 |
同じシートを攻撃タイプをキーに左外部結合でくっつ合わせることで
数の通り乗算×乗算2の計算で複合タイプの相性を出すことができます。
攻撃タイプ2 | 防御タイプ2 | 乗算2 | 攻撃タイプ | 防御タイプ | 乗算 |
くさ | じめん | 2 | くさ | じめん | 2 |
くさ | じめん | 2 | くさ | みず | 2 |
くさ | じめん | 2 | くさ | ほのお | 0.5 |
くさ | じめん | 2 | くさ | ノーマル | 1 |
一応全体的な絵を描くと
①結合1:タイプチャート同士を「攻撃タイプ」をキーに左外部結合し、複合タイプに対応できるようにする。
②ユニオン:単タイプに対応するためにもう1回タイプチャートをくっつける。
あと合わせて、
・防御タイプ同士が同じレコードを削除
・単タイプ用にユニオンした後NULLとなるレコードを任意の値で埋める。
(→ 検索時にNULLを選択し上に表示させないため)
といった感じの細かい処理も併せて実施しています。
こういった感じでTableauに食わせるためのデータを作成しました。
次の回からは実際にTableau上でどうやったかを説明しようと思います。
【Tableau個人的Tips】ポケモンデータを扱ってみる(②データの中身編)
前回の続きです。
データ自体の中身を見るとこんなかんじになってるかと思います。
Pokemonシート
各ポケモンごとが持っている攻撃や防御の基礎数値である『種族値』の一覧です。
# | ポケモン図鑑番号 | ポケモン図鑑の番号(データは全国版)※1 |
Name | 名前(英語) | |
Type | タイプ(英語) | |
HP | HP | |
Attack | こうげき | |
Defense | ぼうぎょ | |
Special Attack | とくこう | |
Special Defense | とくぼう | |
Speed | すばやさ |
Movesシート
わざの一覧です。
Name | 名前(英語) | |
Type | タイプ(英語) | |
Cat. | カテゴリ | 攻撃(Attack) 特殊攻撃(Special) ステータスへの変化(Status)他 |
Power | 攻撃力 | |
Acc. | 命中率 | |
PP | PP | |
TM | 技マシン番号 | |
Effect | 効果 | |
Prob. (%) | 追加効果の確率 |
Evolutionシート
進化するポケモンの進化の条件やレベルなどが書かれています。
Evolving from | 進化前 | |
Evolving to | 進化後 | |
Level | 進化レベル | |
Condition | 進化条件 | どういった条件下で進化するか (例)Daytime(日中帯) holding 3DS upside down (3DSを逆に持つ) などなど |
Evolution Type | 進化種類 | 進化のタイプ (例)Level(レベルアップ) Stone(進化の石) Trade(通信交換)などなど |
TypeChartシート
ポケモンのタイプ相性が書かれています。
Attack | 攻撃側タイプ | |
Defense | 防御側タイプ | |
Effectiveness | 効果(英語) | |
Multiplier | 乗数 |
こうかがばつぐんだ(2.0) 数字で表示しています。 |
こういった感じでポケモンに関するデータがある程度まとめられています。
今回は「TypeChart」シートを活用してやっていこうかと思います。
タイプ相性という罠
ポケモンにおいて最も厄介なのが複数タイプを多くのポケモンが兼ねているという点です。
例:くさタイプの技でトリトドン(みず・じめん)に攻撃した場合
みず・じめんともにくさが弱点(×2)のため
くさ → みず・じめん ×4 (2×2=4)
例:じめんタイプのの技でエモンガ(でんき・ひこう)に攻撃した場合
じめんはでんきに対して弱点(×2)だが、ひこうに対して無効(×0)
→ 無効 ×0 (2×0=0)
純粋なタイプ相性では、複合タイプに対してあまり役に立たないので
Tableau上で2個タイプを選んでそれに対する全タイプの攻撃相性を表示できる仕組みを作ろうかと思います。
(例)イメージ
そうすると「TypeChart」のシートそのままでは、複合タイプに対応できないのでTableauPrepで加工してあげる必要が出てきました。
次の回からはTableauPrepでどう加工したかを説明いたします。
【Tableau個人的Tips】ポケモンデータを扱ってみる①
とりあえずTableau系の記事をこれから書いていこうと思います。
tableau的には「Makeover Monday」や「Workout Wednesday」などのデータがありますがさすがにそれだけだとつまらないこともあるのでTableau Public上に公開されているポケモンリストを使ってTableauを遊び倒してみようと思います
とりあえずまずやってみたのが、タイプ相性の一覧です。
ポケモンを知らない人向けに説明するとポケモンにはタイプの考え方があり、
タイプによっては攻撃が2倍になったり、無効になったりします。
イメージとしては、攻撃タイプと防御タイプが行列になっていて
「こうかはばつぐんだ」「こうかはいまひとつのようだ」「こうかはないようだ」といった相性が可視化できるようになれればと思います。
とりあえずデータを加工するところが始めようかと思います。
はじめました
とりあえずブログをはじめてみました。
たぶんTableauのことについてちまちま書いていくと思います。
(それ以外の話題も多いと思いますが)
テスト
テスト