エクセルピボットをBIツールのようにつかう – 2.2 – 列の操作

エクセルピボットをBIツールのようにつかう – 2.2 – 列の操作

エクセルをBIツールのように活用する方法を解説しています。使用するのはエクセルの標準機能 (マクロは使用ナシ) だけ! 
今回は、列の操作について解説しています。

>顧客マスタサンプルデータ (テキストファイル) はこちらからダウンロードできます。

>売上サンプルデータ (テキストファイル) はこちらからダウンロードできます。

列を操作するシーン

列を操作するステップ
データ

 データ編集のステップは画像のとおりです。編集のステップは前工程 (左) から後工程 (右) への一方通行です。

<前工程から後工程へデータの編集が反映される>
・データソースシートを編集→クエリへ編集が反映される。
・クエリを編集→テーブルデータへ編集が反映される。
・テーブルデータを編集→分析用シート (ピボット) へ編集が反映される。

<後工程を編集しても前工程は不変>
・クエリを編集→データソースシートへ編集は反映されない。

<データの参照>
 データの参照は後工程から前工程です。
・分析用シートはテーブルデータを参照する
・テーブルデータはクエリを参照する
・クエリはデータソースを参照する
 データソースを更新したときは、データソース→クエリ→テーブルデータの順に更新します。

一般的なデータ構成
データの種類

 一般的に分析対象になるデータは大きく2グループに分類できます。
<実績データ>
 販売系なら売上高や売上数量、管理系なら勤務時間などの値が時間軸などで出力されます。
 「顧客コード」・「商品コード」・「従業員コード」などを出力できますが、顧客の氏名・生年月日・住所・電話番号のような詳細は一般的には出力されません。

<マスタデータ>
 顧客、商品、従業員の詳細で構成されます。何月何日に何個売れたという実績値はありません。

実績データを編集することはできるだけ控える
売上データ

 売上データへ会員コードが出力されています。例えばこの会員の住所別の売上を分析したいと思います。

<一般的な方法>
・売上データの会員コードから「VLOOKUP」で顧客マスタの住所を参照する。
 この方法は、実績データへ列を追加するという編集を行うことです。

<BIツール的>
・売上データと顧客マスタのリレーションか結合 (マージ) します。
 実績データの編集はできるだけ控えます。

日付の年をとりだす

 日付から「年」や「年月」をとりだすようなことが (日付の形式が20201101のような文字列のとき) たまにあります。基本的には、ピボットのグループ化機能を使うか、グループ化できないときはカレンダーマスタを作成してリレーションします。

<実績データを編集するするシーン>
・値のデータ形式を変更するとき。
・「日付」(購入日) 時点での顧客の年齢を算出したいようなとき。
・実績の値をグループ化するとき。
・「取引時刻」を時間帯にグループ化するようなピボットでのグループ化が難しいとき。
・マスタとのリレーションやマージが適さないとき。または、それらの手順がややこしいとき。

列の削除

実績データの列を削除してもよいとき

・実績データを更新 (追加を含めて) するときは、実績データ本体の列を削除しません。
・実績データを更新しないときは、実績データ本体の列を削除しても構いません。

 データはすべて活用する姿勢が基本です。削除してもよい列は、「予備」とか「住所3」のような分析対象として無意味であったりNULLの列です。無意味な列・NULL列を削除することでピボットの操作性がよくなります。

 データソースへ接続しているクエリからパワークエリエディターで列削除します。データを更新しながら分析をするときは、データソースそのものの列を削除しないようにしてください。

パワークエリエディターで削除
パワークエリエディターで列削除

 削除する列を選択します。
・「ホーム」タブ
・「列の削除」をクリックします。
・保存して閉じます。

列の複製

テーブルデータで複製
テーブルデータで複製

 計算式「=@[列名]」で複製するのが最もシンプルな方法です。データソースを更新しても複製した列は残ります。

 テーブルデータはクエリの後工程に位置します。従って、複製した列は前工程のクエリへ反映されません。

・列のコピペはオススメできません。
 コピペのときは、接続しているデータソースが更新されてもテーブルデータのコピペ列は更新されません。

パワークエリエディターで複製
パワークエリエディターで列複製

・「列の追加」タブ
・「カスタム列」をクリックします。

カスタム列

 窓が開きます。
・「新しい列名」へタイプします。
・「カスタム列の式」のところにある=(イコール) のうしろへカーソルを合わせて
・「使用できる列」から列名をダブルクリック、または、列名を選択して「挿入」をクリックします。

構文を確認

・カスタム列の式を確認
・「構文エラーの検出結果」を確認してOKです。

列複製

 列が複製できていれば成功です。

列の分割

列分割するときの注意
テーブルデータを分割

 列を分割したいときはオリジナルの列を分割せず、必ず列を複製して、その列を分割します。

テーブルデータで分割 (非推奨)

 表データと同様にテーブルデータでも「区切り位置」から値を分割できます。この方法で分割した場合、データソースが更新されたときにやっかいなことになるのでオススメできません。

複製した列の分割

 この手順では複製した列を分割できないので複製せずオリジナル列を分割することになります。そうなると、オリジナル列がバラバラになるためデータソースが更新時にやっかいなことになるわけです。

パワークエリエディターで分割

 分割する前に列は必ず複製してください。複製した列を分割します。もとになっている列を残しておくことが重要です。

 文字列を分割したいときはパワークエリエディターで列を複製して、複製した列を分割します。

列の分割

・「ホーム」タブ
・「列の分割」から分割方法を選択します。
 今回は「数字以外方数字による分割」を実行して、住所を町名と丁目に分割します。

分割

 住所の列が残ったまま分割できていれば成功です。
・列名を整えて保存して読み込みます。

分割

 右側の窓「適用したステップ」の「文字の移行による列の分割」をクリックすると数式バーへ計算式が現れます。

 パワークエリエディターの列の分割は計算式で実行されます。従って、「商品コード」列が書き換われば分割後の値も書き換わります。
 つまり、データソースを更新しても指定した法則で分割されます。

 複製した列を分割しました。分割するまえに列を複製するのは、分割するともとの列が残らず消えてしまうからです。

列の結合

テーブルデータで結合
テーブルデータで結合

 結合した列を「&」でくっつける計算式を入力します。

パワークエリエディターで結合
パワークエリエディターで結合

・「列の追加」タブ
・「カスタム列」
・式を入力します。結合演算子は「&」です。

別の手順

 別手順の結合方法です。
・結合した結果、前にくる列を選択します。
 A&Bの結合結果を得たい場合のA列です。

列を選択

・結合した結果、後ろにくる列をコントロールキーを押しながら選択します。
 A&Bの結合結果を得たい場合のB列です。

列のマージ

・「列の追加」タブ
・「列のマージ」をクリックします。
・区切り記号を選択してOKです。

カスタム

必要に応じて「カスタム」から区切り記号を入力します。

完成

選択した列の順番に結合できていれば成功です。