チャート・ビューの中にあるピボットテーブルを使ってデータをピボットテーブルのフォーマットに簡単に集計することができますが、たまにそういったデータをデータラングリングのステップとして作ることで、そのデータの上にさらなる加工のステップを加えたり、そのデータをチャート・ビューやアナリティクス・ビューで使うことでさらなる分析をしたいという場合があります。
つまり、チャート・ビューで以下のようにピボットを作ればいいという場合と、
そうではなく、以下のようにデータとして作りたいという場合があるということです。
こうした場合は、Pivot(ピボット)というコマンドを使って、簡単に解決することができます。
データを集計する時にグループにしたい列を選んで、その列ヘッダーメニューから、「ピボット」を選ぶ。
ダイアログの中で、チャート・ビューでピボットを作るときのように、行、列、値に列をアサインします。
実行ボタンを押すと、データが集計されピボットのフォーマットで出力されます。
一度このようにデータが生成されれば、後は様々なデータラングリングの手法を使ってやりたい放題です。
以下に、このデータからさらに表計算をして、それぞれのセルの割合を出してみましょう。
現在それぞれの列はUSの飛行機会社で、それぞれの行はUSの空港となっています。
ここで、それぞれの飛行機会社のなかに、それぞれの空港が占める割合を計算してみたいと思います。
普通であれば、こうした表計算を行いたい列を選んでその列ヘッダーメニューから、「表計算」を選べばすぐなのですが、今回はその計算を行いたい列が13列もあります。それぞれの列ごとにやっていたのでは日が暮れてしまいます。
実はここでうまいやり方があります。
それは、計算したい全ての列を選んだ上で、列ヘッダーメニューを出すことで、同じ計算を全ての列に対していっぺんに行うことができます!
以下のように、複数の列を選び、
表計算 -> 合計の割合
を選びます。
列ごとに割合が計算されました。単位は%となっています。
例えば、AA(American Airline)という列を見て、そこの割合の大きい方から10番目までだけを残したいという場合は、Top Nというコマンドを使うことができます。
AAという列を選び、列ヘッダーメニューから、
これだけを残す -> 上位 N
を選びます。
ここでできたデータをパブリッシュして他の人と共有したい、もしくはダッシュボードやノートなどに入れたいという場合は、チャート・ビューでテーブルを使って行うことができます。
もし、チャート・ビューの下でピボットテーブルを使って、このデータを出力したいという場合は、一度現在の横長のデータを縦長の形に治す必要があります。
横長データと縦長データの変換については詳しくはこちらのノートを参照ください。
まずは、縦にしたいカテゴリーにあたる列を全て選択します。
その後に、列ヘッダーメニューから、
Gather(ワイド型からロング型へ)-> 選択された列
を選びます。
実行ボタンを押すと、以下のような縦長のデータになります。
一度このようにデータが生成されれば、あとはチャート・ビューに行って、ピボットテーブルに列をアサインするだけです。
上記の表計算の結果は%を単位としているので、例えば、10.00となっている場合は、10%とということになります。
ところが、チャート・ビューの下のテーブルやピボットテーブルでこうした値を%フォーマットで表示するには、0から1(正確には−1から1)までの数字で表される割合である必要があります。つまり、10%の場合は10.00のかわりに、0.10である必要があるということです。
これは、Mutate(計算の作成)コマンドで簡単に解決できます。というのも、もとの値を100で割ればいいだけだからです。
列ヘッダーメニューから、 ‘Mutate (計算の作成)’ を選びます。
そして以下のような計算式を入力します。
value / 100
一度値のほうがアップデートされれば、あとはチャート・ビューにもどって、ピボットテーブルのプロパティの中の「値」の下の「数字のフォーマット」を「パーセント」に変えるだけです。