ピボットテーブルの中で一つの列の集計値を別の列の集計値で割る方法

今回は店舗の問い合わせデータを使用します。

このデータは1行が1件の問い合わせとなっており、店舗(Store)や対応した従業員の名前(Employee Name)の列があります。

今回はこのデータを使って、店舗ごとに従業員の一人当たりの問い合わせ対応件数を求めたいです!

では、早速作っていきましょう!

チャートからピボットテーブルを選択します。

店舗ごとにみたいので、行に店舗(Store) を選び、値には行の数を選択します。

今回のデータは1行が1件の問い合わせなので、これによって店舗ごとの問い合わせ件数を求めることができました。

次に、値に従業員名(Employee Name)一意な数(UNQ) を選択します。

これにより、店舗ごとに問い合わせに対応した従業員の一意な数、つまり従業員数を求めることができました。

値に選択してきた行の数は問い合わせ件数、従業員名の一意な値の数は従業員数となっています。

そして、従業員一人当たりの問い合わせ件数を求めるための計算式は下記となります。

この計算式をピボットテーブル内で使うためには、カスタムの計算を使う必要がありますが、それぞれの関数はどうやって書かれるのか順に説明していきます。

まず、行数を求めるための関数はn()になります。ピボットテーブルの中でカスタム計算を使って試してみましょう。

チャート内で計算式を作るため、カスタムを選択します。

カスタムの計算を作成のダイアログが表示されます。

下記の計算式を入力して実行します。

n()

n()を使うことで、店舗ごとに行数を求めることができました。UIで作成した行数と同じ値になっていることが確認できます。

次に、従業員の一意な値の数を求めるための関数はn_distinct(<列名>)となります。

カスタムの計算式を変更したいため、Custom: n()となっている緑のテキストをクリックします。

下記の計算式を入力して実行します。

n_distinct(`Employee Name`)

n_distinct関数を使うことで、従業員の一意な値の数を求めることができました。こちらもUIで作成した従業員名の一意な値の数と同じ値になっています。

後は簡単で、従業員一人当たりの問い合わせ件数を求めるための計算式は下記となります。

下記の計算式を入力して実行します。

n() / n_distinct(`Employee Name`)

カスタム計算を使って、店舗ごとに一人当たりの問い合わせ対応件数を求めることができました。