特定の製品の売上合計を国ごとに集計する方法

今回は、家具の売上データを使用していきます。

家具の製品カテゴリーは4種類あります。

今回は、文字列にTableが含まれるカテゴリーの売上合計を国ごとに求めたいとします。

例えば、売上合計を求める場合は下記のようにsum関数を使います。

sum(Sales)

次に、ExploratoryやRでは、列名の後に角括弧[]と中に条件式や関数を入れることで 値を絞り込むことができます。

sum(Sales[<条件式>])

これを応用することで、例えばカテゴリーがTableの売上合計を求めるには下記のような式になります。

sum(Sales[Category == "Table"])

では、文字列にTableが含まれるカテゴリーの売上合計を求めるにはどうしたらいいのでしょうか?

そこで、str_detectという便利な関数があります。このstr_detectを使うとTableという文字が含まれている場合に値にTRUEを返してくれます。

そして、str_detect関数は下記のように記述されます。

str_detect(列名, 特定の文字)

この関数を応用することで、文字列にTableが含まれるカテゴリーの売上合計を求めることができます。

sum(Sales[str_detect(Category, "Table")])

それでは、Exploratoryで試してみましょう!

Countryの列ヘッダメニューから集計 (Summarize)を選択します。

集計のダイアログが表示されました。

グループ化にはすでにCountryが選択されています。

値にはデフォルトで行の数が選択されていますが、ここにSalesを選び、集計関数には合計値(sum) を選択します。

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

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

ここに先ほど予習した計算式を入力して実行します。

sum(Sales[str_detect(Category, "Table")])

カスタムで作成した新しい列が追加されているので、実行ボタンをクリックします。

文字列にTableが含まれる売上合計を国ごとに求めることができました。

参考記事

集計でカスタムを使うと他にも様々なことができます。