TableauでCSVインポートとグラフ作成

取り込んだだけでは終わらない

e-Stat 政府統計の総合窓口」からダウンロードした「消費者物価指数」のデータ(CSV)をインポートします。
時系列グラフ(月単位)の作成を目的とした例です。

「テキスト」から読み込むCSVを選択
「テキスト」から読み込むCSVを選択(画面下の「データソース」タブから)
CSVをインポートした状態
CSVをインポートした状態

連続性を保つために都合の悪いデータを外します。
時間軸要素が「yyyy年mm月」という形式で連続して欲しいので、「yyyy年度」「yyyy年」を対象外とします(下図の赤字部分)。

元データを見てみると、「yyyy年度」「yyyy年」と月単位時系列の推移をグラフ化する上で不都合なデータもある
ただ、元データを見てみると、「yyyy年度」「yyyy年」と月単位時系列の推移をグラフ化する上で不都合なデータもある(Numberで確認)

データソースフィルター」を使います。

使わないデータを外すために「フィルター」「追加」「データソースフィルターの編集」を使う
Tableauに戻り、使わないデータを外すために「フィルター」「追加」「データソースフィルターの編集」を使う
「追加」を選択し、フィルター設定画面で「ワイルドカード」を選び「月」を含む「時間軸」要素のみ使う
「追加」を選択し、フィルター設定画面で「ワイルドカード」を選び「月」を含む「時間軸」要素のみ使う

データ型の確認も重要です。

「文字列型」を「日付型」にする
「yyyy年mm月」のデータだけにフィルタリングできたが、「文字列型」を「日付型」にするために一旦「yyyy年mm月dd日」に変更(次画面)

もっとスマートな方法があると思うのですが、今回は「”1日”」を加えることで、「yyyy年mm月1日」という体裁に変え、日付型に変更します。
(「yyyy年mm月」のままではエラーが出てしまい、変更できませんでした)

列の右上をクリックし、「計算フィールドの作成」を選ぶ。「yyyy年mm月 + 1日」という列を作る
列の右上をクリックし、「計算フィールドの作成」を選ぶ。「yyyy年mm月 + 1日」という列を作る
計算フィールドが実行あれ、「yyyy年mm月dd日」の列が生成
計算フィールドが実行あれ、「yyyy年mm月dd日」の列が生成
列の左上をクリックしてデータ型を「日付型」に変換
列の左上をクリックしてデータ型を「日付型」に変換

合算してたら“解体”

時系列要素と値要素の準備ができたらグラフ作成のために「ワークシート」タブに移ります。

ワークシート(タブ)に移り時間要素を列に、値(Value)を表に配置(下画面参照)するとグラフを描画
ワークシート(タブ)に移り時間要素を列に、値(Value)を表に配置(下画面参照)するとグラフを描画

「列」に「時間軸」、「行」に「値」を配置すればグラフができます。
x軸が時系列データの場合、折れ線グラフが自動に描かれることが多いです。

「列」「行」に要素を配置
「列」「行」に要素を配置

ただ、x軸が意図通りの間隔とならないことがあリます。
今回の場合、年単位で丸められるているのを月単位に変更するために、x軸の体裁を「yyyy年mm月」としました。

x軸が年単位なので、列要素を右クリックして「yyyy年mm月」とひと月単位の推移に変更
x軸が年単位なので、列要素を右クリックして「yyyy年mm月」とひと月単位の推移に変更
月推移に切り替わったグラフ
月推移に切り替わったグラフ

また、y軸の値は複数の要素の「合算値」となっているので、必要な要素を取り出します。
まず、「指数」「前月比・前年比」「前年同月比」の合計となっているので「指数」だけにしました。

y軸の値が「指数」「前月比・前年比」「前年同月比」の合算値になっているので、「表章項目」をクリックし「フィルターを編集」
y軸の値が「指数」「前月比・前年比」「前年同月比」の合算値になっているので、「表章項目」をクリックし「フィルターを編集」で「指数」のみにする。「表章項目」を「フィルター」(カード)にドラッグ&ドロップでも可能
「表章項目」として「指数」だ毛を選んだ(y軸のスケールが変わっている)
「表章項目」として「指数」だ毛を選んだ(y軸のスケールが変わっている)

複数の「品目」の合算値ともなっているので、「品目」ごとの凡例グラフに切り替えました。

複数の品目の合計値のグラフとなっているので、「2020年基準品目」を「マーク」(カード)の「色」アイコンにドラッグ&ドロップ
複数の品目の合計値のグラフとなっているので、「2020年基準品目」を「マーク」(カード)の「色」アイコンにドラッグ&ドロップ。品目ごとのグラフになる

タイトルとURLをコピーしました