ストーリーでの R ビジュアライゼーションの作成

Objective

After completing this lesson, you will be able to r コードを使用して二重水平棒グラフを作成します。

単純な R ビジュアライゼーション

二重水平棒グラフ

このレッスンでは、このコースでこれまでに学習した内容を適用し、SAP Analytics Cloud ストーリーで R コードを使用して二重水平棒グラフを作成します。

このレッスンで R ビジュアライゼーションを使用して作成された最終チャート。

R ビジュアライゼーションを使用した二重水平棒チャートの作成

ビジネスシナリオ

製品ライン別および地域別の売上と粗利益を示すチャートを登録するよう依頼されました。ユーザは、入力コントロールを使用してデータを年別にフィルタリングできるようにしたいと考えています。

これを行うには、R ビジュアライゼーションを追加して、R コードを使用してストーリー内の年の入力コントロールを持つカスタム二重水平棒チャートを作成します。

タスク 1: ストーリーページへの R ビジュアライゼーションウィジェットの追加

タスクフロー: この演習問題の目的は、以下のとおりです。

  • ストーリーで R ビジュアライゼーションを調査します。
  • R ビジュアライゼーションウィジェットをストーリーに追加し、ディメンションとメジャーを設定します。
  • R ビジュアライゼーションへの初期スクリプトの追加

タスク 2: R ビジュアライゼーションへのスクリプトの追加

タスクフロー: この演習問題の目的は、以下のとおりです。

  • チャートの棒の線の色を変更し、塗りつぶしします。
  • チャートの方向を垂直から水平に変更します。
  • ラベルの追加および設定
  • チャートの棒の幅を調整します。
  • 地域を最小値から最大値の順で並べ替える
  • x 軸と y 軸のラベルを更新します。
  • チャートのテーマの変更

タスク 3: 製品ラインの追加および設定

タスクフロー: この演習問題の目的は、以下のとおりです。

  • 次元への行の追加
  • チャートの設定
  • 積み上げ棒チャートの作成
  • チャートタイトルを設定し、凡例を追加します。
  • 販売収益の拡大

タスク 4: R ビジュアライゼーションでの 2 番目のチャートの追加および設定

タスクフロー: この演習問題の目的は、以下のとおりです。

  • チャートを更新して Gross Margin をメジャーに追加します。
  • 2 番目のチャートを R ビジュアライゼーションに追加
  • タイトルとサブタイトルの削除
  • 年の入力コントロールを追加

この演習問題で使用される完全な R コード

R ビジュアライゼーションスクリプトエディタのエディタウィンドウの最後の R コードは以下のとおりです。

Code Snippet
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))