使用するツール:tableau desktop
前回の続きになります。前回の記事内容
今回は「フォルダの中にある同じ形式で記述されているエクセル(もしくはCSV)データを一つのファイルとして認識」したいのでやってみたいと思います。
困りごと
取引履歴をダウンロードするときは大抵は「月単位」(状況によっては日別)でダウンロードしていくと思うんですが、そうするとダウンロードごとにファイルの数が増えてくる状態になります。それを、エクセルでまとめようとすると縦に繋がった状態にコピペなどで作り直したり、下段のタブが増えていったして、それをエクセル関数で処理して、などして最終的に処理の重いエクセルが出来上がる。なんてことも。
出来ること
tableauの機能に「ユニオン」という機能があり、ざっくり説明すると「似たような名前で保存した、同一の型のデータであれば、【ひとつのデータ】として認識してくれる」というやつです。
具体的な方法
chatGPTにきいたこと。
tableauで、フォルダの中にある同じ形式で記述されているCSVデータを一つのファイルとして認識させたいのですが、どのようにすれば良いでしょうか。
で以下が回答。
Tableauでフォルダ内の同じ形式のCSVファイルを一つのデータソースとして認識させるには、「ワイルドカード ユニオン」を使用する方法があります。以下の手順で設定できます:
- データ接続を開く:
- Tableauを開き、「データ」タブから「新しいデータソース」を選択します。
- 「接続」ペインで「テキストファイル」を選択します。
- フォルダを選択:
- ファイル選択ダイアログで、CSVファイルが保存されているフォルダを選択します。
- フォルダを選択すると、フォルダ内のファイルが一覧表示されます。
- ワイルドカード ユニオンの設定:
- フォルダ内の任意のCSVファイルを選択し、データソースペインにドラッグします。
- データソースペインで、ファイル名の右側にある小さなドロップダウンメニューをクリックし、「ワイルドカード ユニオン」を選択します。
- 「ワイルドカード ユニオン」ダイアログが表示されるので、ファイル名のパターンを指定します(例:
*.csv
)。これにより、フォルダ内のすべてのCSVファイルがユニオンされます。
- データの確認:
- ユニオンされたデータが正しく表示されているか確認します。必要に応じて、フィールド名やデータ型を調整します。
でやったら出来ました。
細かい微調整はあり、例えば取引履歴のダウンロードファイルが、範囲設定した日2020年の10月1日から10月30日までだとすると、「取引データ:日時(20201001-1030).csv」のような名前でダウンロードされるので、それが蓄積していくとフォルダ内には
取引データ:日時(20201001-1030).csv
取引データ:日時(20201101-1130).csv
取引データ:日時(20201201-1231).csv
のようにファイルが増えてゆくので、ワイルドカードの名称設定を【取引データ*】で設定しました。
なおワイルドカードを設定する際、【*(アスタリスク)】が重要で必須になります。これが上記の
取引データ*、が【「取引データ」とついたファイルは後半はファイル名違うけど一緒のものとみなす】という表記になります。
ワイルドカードというのも「大体同じ」っていう意味合いになります。
この設定が出来ることで、「毎月、月初めに所定のフォルダに取引履歴をダウンロードする」だけで、それ以降のメインのエクセルを開いてデータをコピペする、みたいなことはやらなくて良くなります。
こういう感じのエクセル操作で苦労することで、似たようなものでいうと「入館カウント」のデータあると思うので、今度はそれのtableauでまとめる方法も記載しようかと思います。
コメント