ビジネスシナリオ
製品ライン別および地域別の売上と粗利益を示すチャートを登録するよう依頼されました。ユーザは、入力コントロールを使用してデータを年別にフィルタリングできるようにしたいと考えています。
これを行うには、R ビジュアライゼーションを追加して、R コードを使用してストーリー内の年の入力コントロールを持つカスタム二重水平棒チャートを作成します。
タスク 1: ストーリーページへの R ビジュアライゼーションウィジェットの追加
タスクフロー: この演習問題の目的は、以下のとおりです。
- ストーリーで R ビジュアライゼーションを調査します。
- R ビジュアライゼーションウィジェットをストーリーに追加し、ディメンションとメジャーを設定します。
- R ビジュアライゼーションへの初期スクリプトの追加
タスク 2: R ビジュアライゼーションへのスクリプトの追加
タスクフロー: この演習問題の目的は、以下のとおりです。
- チャートの棒の線の色を変更し、塗りつぶしします。
- チャートの方向を垂直から水平に変更します。
- ラベルの追加および設定
- チャートの棒の幅を調整します。
- 地域を最小値から最大値の順で並べ替える
- x 軸と y 軸のラベルを更新します。
- チャートのテーマの変更
タスク 3: 製品ラインの追加および設定
タスクフロー: この演習問題の目的は、以下のとおりです。
- 次元への行の追加
- チャートの設定
- 積み上げ棒チャートの作成
- チャートタイトルを設定し、凡例を追加します。
- 販売収益の拡大
タスク 4: R ビジュアライゼーションでの 2 番目のチャートの追加および設定
タスクフロー: この演習問題の目的は、以下のとおりです。
- チャートを更新して Gross Margin をメジャーに追加します。
- 2 番目のチャートを R ビジュアライゼーションに追加
- タイトルとサブタイトルの削除
- 年の入力コントロールを追加
この演習問題で使用される完全な R コード
R ビジュアライゼーションスクリプトエディタのエディタウィンドウの最後の R コードは以下のとおりです。
1234567891011121314151617181920212223
library(ggplot2)
library(dplyr)
library(grid)
library(gridExtra)
g1 <- ggplot(BestRunCorpRetail, aes(x = reorder(Lines,`Sales Revenue`/1000), y = `Sales Revenue`/1000 , fill = `Region` )) +
geom_col(stat = "identity" ) + coord_flip() +
scale_fill_brewer(palette="Blues") +
labs(title = " Sales Revenue (in k) by Product Line / Region", x = "Product Lines / Region ", y = " Sales Revenue") +
theme_light() +
theme(legend.position="bottom")
g2 <- ggplot(BestRunCorpRetail, aes(x = reorder(Lines,`Gross Margin`/1000), y = `Gross Margin`/1000 , fill = `Region` )) +
geom_col(stat = "identity" ) + coord_flip() +
scale_fill_brewer(palette="Reds") +
labs(title = " Gross Margin (in k) by Product Line / Region", x = "Product Lines / Region ", y = "Gross Margin") +
theme_light() +
theme(legend.position="bottom")
gg1 <- ggplot_gtable(ggplot_build(g1))
gg2 <- ggplot_gtable(ggplot_build(g2))
grid.arrange(gg1, gg2, ncol = 2, widths = c(1/2,1/2))