チャートやピボットテーブルでのカスタムの計算の使い方

Exploratoryでは以下計算において、「カスタム」の計算を使ってカスタマイズした集計の計算を実行できます。

  • 内部的に集計を行うチャート

    • ピボットテーブル: 値
    • 集計テーブル: 値
    • バー: Y軸
    • ライン: Y軸
    • エリア: Y軸
    • パイ: 値
    • 散布図(集計あり): X軸、Y軸、色、サイズ
    • エラーバー: Y軸
    • 地図(標準): 色、サイズ
    • 地図(拡張): 色
    • 地図(緯度/経度): 色、サイズ
    • ヒートマップ: 色
    • 等高線プロット: 色
    • ナンバー: 値
  • 集計(Summarize)ダイアログ

そこで、このノートでは、カスタムの計算の使い方について説明します。

チャートでのカスタムの計算の使い方

今回は1行が1つの注文明細を表していて、列には、売上のあった 国、金額、その他の注文情報が入ってます。

ピボットテーブルを使用すると、以下のように各国の売上額の合計を表示できます。

今回、集計した売上が消費税を含む売上になっているため、消費税が加算される前の売上額の合計を表示したかったとします。

このようなときには、カスタムの計算を使うことで、データを加工することなく、チャート上で計算が可能です。

まず、2つの目の値に「カスタム」を選択します。

すると、カスタムの計算のダイアログが開きます。

計算式のフィールドには、R言語を使って様々な計算式を書くことができます。

今回は、10%の消費税が加算される前の売上額の合計が知りたいので、すべての売上値を合計して、それを110%(1.1)で割ればいいことになります。計算式は次のようになります。

sum(売上, na.rm=TRUE) / 1.1

上記の計算式の中で利用しているna.rmの引数についてはこの後の「ルール」のセクションで紹介いたします。

計算式が完成したら、OKボタンをクリックしてください。ピボットテーブルに新しい列が表示され、10%の消費税なしの売上額の合計が表示されます。

集計ダイアログでのカスタムの計算の使い方

集計ダイアログでカスタムの計算を使用するには、値で実際の列の代わりに 「カスタム」 を選択します。

すると、カスタム計算のダイアログが表示されますが、計算のダイアログの使い方は、上で説明したチャートの場合と同じです。

上記の計算式の中で利用しているna.rmの引数についてはこの後の「ルール」のセクションで紹介いたします。

ルール

計算式には2つの重要なルールがあります。

  • 計算式は1つ値を返す必要がある
  • 計算対象に欠損値が含まれる場合、na.rm=TRUEの引数を設定しないと欠損値が返る

計算式は1つ値を返す必要がある

たとえば、次の式を考えてみます。

売上 / 1.1

売上列は各注文の売上値のリストなので、この計算では、10%の税が適用される前のそれぞれ注文ごとの売上値のリストを表示します。

しかし、カスタムの計算は1つの値を返す必要があるため、以下のようにエラーが返ります。

集計対象に欠損値が含まれる場合、na.rm=TRUEの引数を設定しないと欠損値が返る

チャートやピボットテーブルでカスタム計算を使用する際、集計対象のデータに欠損値が含まれていると、後述する集計関数を利用するだけでは、計算結果が表示されないことがあります。

これは欠損値(N/A)が含まれていると、集計関数を使った計算結果が、欠損値(N/A)になるというデフォルトの動作によるものです。

そのようなときには、集計関数の中で、na.rm=TRUE という、欠損値を集計から除外する引数を指定することで、欠損値を除外したうえで集計結果を返せます。

なお、前述の引数のnaは欠損値、rmはremove(除外)するの略語となります。

そのため、特別な理由がない限りは、カスタム計算の利用時にはna.rm=TRUEを利用することをおすすめいたします。

詳細につきましては以下のリンクをご参考ください。

  • チャート: カスタムを使った計算結果が表示されないときの対処法 - リンク

カスタムでよく使用される関数リスト

以下は集計テーブルやピボットテーブルのカスタム計算にてよく使用される関数のリストです。

計算例にあるsum(売上)などの括弧の中は全て列名になります。

関数名 概要 計算例
sum 合計を計算する sum(売上)
mean 平均を計算する mean(売上)
max 最大値を計算する max(売上)
median 中央値を計算する median(売上)
min 最小値を計算する min(売上)
first 最初の値を返す first(売上)
last 最後の値を返す last(売上)
mode 最頻値を返す mode(売上)
n 行の数を返す n()
n_distinct 一意な値の数を返す n_distinct(User_Id)

行の数 を参照する方法

カスタムの計算で行の数”を参照したときには、n()という関数を使います。

たとえば、「売上」列と「マーケティング」列の差を行数で割り算した結果を表示したい場合、カスタムの計算の定義は以下のようになります。

sum(売上 - マーケティング費用) / n()
Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio