
Exploratoryでは、ブランチとマージ機能を活用することで、各アンケート項目の平均スコアと全体の平均スコアを1つのチャートに表示することができます。これにより、個別項目の評価と全体傾向を同時に把握でき、より包括的なデータ分析が可能になります。
アンケートデータを分析している方、顧客満足度調査を実施している方、各項目の評価と全体評価を比較したい方にお役立ていただける機能です。
アンケートデータを集計する際に、各質問項目ごとの平均スコアをバーチャートで表示することは簡単にできますが、同じチャート上に全体の平均スコアも一緒に表示したい場合があります。しかし、通常のデータ構造では、個別項目と全体を同時にチャート化することが難しい状況があります。
アンケートデータには、ワイド型とロング型という2つの代表的なデータ形式があります。
ワイド型のデータは、質問が増えるとどんどん列が増えていくタイプのデータです。1行が1人の回答者を表し、各列が異なる質問項目を表します。
一方、ロング型のデータは、1行が1人の回答者の1つの質問に対する回答を表します。そのため、同じ回答者が複数の質問に答えている場合、その回答者は複数回出てくる形になります。

形状は異なりますが、両者は全く同じ情報を表しています。ただし、ロング型の方がデータを集計する時には便利です。
なぜなら、ピボットテーブルで集計する際に、行に質問列を選択し、値に回答を選んで平均を指定するだけで、各質問ごとの平均が計算されるからです。

このようにロング型のデータをつくれば、アンケートの設問ごとの集計はバーチャートでも簡単にできます。

しかし、今回の課題は、バーチャートで各質問の平均スコアを表示した時に、全体の平均スコアもバーとして追加したいというものです。

解決方法としては、質問列の中に全ての行の値が「全体」となっているような質問カテゴリーを作成し、それを集計することで全体の回答スコアの平均を出すことができます。
このアプローチを実現するために、データのブランチを作成し、質問列の値を「全体」に置き換えたデータを作成します。その後、元のデータとマージ(縦方向に結合)することで、個別の質問項目と全体の両方を含むデータセットを作成します。
今回は1行が1人のアンケート回答者を表し、列には属性情報や各アンケート質問項目の評価値(5段階評価など)が含まれているデータを利用します。

まずワイド型のデータをロング型に変換します。
アンケートの質問項目が入っている列(例:「サービスの使いやすさ」から「ブランドのイメージ」まで)を選択します。
選択した列のヘッダーメニューから「ワイド型からロング型へ」を選択し、サブメニューで「選択された範囲」を選択します。

ワイド型からロング型への変換ダイアログが開いたら、キーに「質問」と入力し、値に「回答」と入力し、実行ボタンをクリックします。

これでデータがロング型に変換され、質問と回答の2列にそれぞれ情報がまとまりました。

次に全体の平均を計算するためのデータを作成します。
ステップメニューから「ブランチを作成」を選択し、ブランチ名には任意の名前を設定します。

ブランチを作成できました。

続いてブランチで作成したデータの質問列の値を全て「全体」に置き換えます。
質問列のヘッダーメニューから「計算を作成」の「標準」を選択します。

計算エディターのダイアログが開いたら、ダブルクォーテーションで囲って「全体」と入力します。

「既存列を上書き」にチェックをつけ、実行します。

これで全ての質問の値が「全体」に変わったデータを作成できました。

元のデータに、作成した全体データを縦方向に結合します。
元のメインのデータフレームに戻ります。

ステップメニューから「結合 / マージ」、「マージ」を選択します。

マージのダイアログが開いたら、マージするデータフレームとして、先ほど作成したブランチのデータフレームを選択し、実行ボタンをクリックします。

これで元々のデータ行数が2倍になり、質問列のサマリー情報を確認すると「全体」のカテゴリーが追加されていることが確認できました。

最後にマージしたデータを使ってバーチャートを作成します。
チャートビューに移動し、X軸に設問(質問)、Y軸に回答を選択し、集計関数に「平均値」を選択します。

これで全体と各質問項目の回答の平均を計算できました。ただし、この段階ではX軸の並び順が文字コード順になっているため、期待する順番に並んでいません。

そこで、質問項目を元の順番に並べ、最後に全体を表示するために順序を設定するためにテーブルビューに移動します。
なお、ワイド型からロング型に変換すると、元の列の並び順をもとに質問の並びが形成されます。そのため、質問列を上から見ていった時に登場する順序で値の順序を設定すれば、元の並び順を保ちながら最後に全体を配置できます。

そこで、質問列のヘッダーメニューから「値の順序をセット」を選択し、「元のデータ順」を選択します。

元のデータ順は、データが出てくる順番で順序を設定するメニューです。
fct_inorder関数が利用されていることが確認できます。

fct_inorder関数は元のデータの並び順で順序を設定する関数です。これで、値の並び順を適切に設定できるので、実行ボタンをクリックします。
これでデータに順序を設定するためのステップが追加され、質問列が元々の文字列型からファクター型(順序付きカテゴリー)に変換されました。

順序を設定した結果をチャートに反映させるために、チャートビューに移動し、チャートのピンを、順序を設定したステップにドラッグして移動します。

これで元々の質問項目順に並び、最後に全体の平均スコアが表示されたバーチャートを作成できました。
