
PowerAppsにはデフォルトで積み上げ棒グラフを作ることができません。しかしながらコレクションの技術などを応用することで作ることは可能ですので今回はそんな積み上げ棒グラフの構築方法を見ていきます。
PowerAppsに必須の知識PowerFX対応の学習本はこちら
PowerApps学習の本命・実際のアプリももらえる学習本
PowerApps学習方法一覧

PowerAppsの棒グラフでできること を見てみる
まずPowerAppsの棒グラフでできることを確認しておきましょう。
以下のサンプルデータがあったとします。

これを系統の数を3にして棒グラフにすると次の状態になります。

ここで、項目の間隔を-30にしてみます。

項目の間隔とはグラフ間の間隔になります。
通常であれば正の数を入れることで間隔が開くのですが、負の数を入れることで項目同士が重なりだし、-100を最小値とします。
-100だと同一軸(今回の例だと支店ごと)でグラフが完全に重なります。
この時右側にある数字が上にくるということも覚えておきましょう。
積み上げ棒グラフ作成のための作戦
そもそも積み上げ棒グラフとは前回の値からどれだけ数値を上積みしたかということです。これをPowerAppsで実現する方法はどのようなものがあるでしょうか。
①積み上げ棒グラフを見てみる
積み上げ棒グラフとは前の項目からどれだけ上積みが行われているかを表示するグラフです。エクセルなどでは上積みした数字だけで自動的にグラフを作ってくれますので上積み分の数字だけが必要な気もします。
しかし、見方を変えれば一番前のグラフの後ろにグラフが隠れている状態とも考えられます。
例えば下の画像は猫の画像の手前に犬の画像が来ています。そのため、重なっている部分の猫の色は犬の色に置き換わっています。

②コレクションを積み上げ棒グラフ専用の形にする
グラフが同一軸の中で重なるということから、積み上げグラフ専用のコレクションを作る必要があります。この場合必要になるのが
第一四半期売上・・・A
第一四半期売上+第二四半期売上・・・B
第一四半期売上+第二四半期売上+第三四半期売上・・・C
の三つになります。(以下それぞれA,B,Cとする)
この三つを持ったコレクションを作成し、棒グラフで重ねて表示させれば目的の形になります。
積み上げ棒グラフ用コレクションの作成
ではコレクションを作成してみましょう。
コレクションの作成のためには元のコレクションに列を追加しても構いませんし、A,B,Cだけのコレクションを作成しても構いません。
今回はわかりやすいように元の列に追加して新たに作成します。
ClearCollect(支店売上_積み上げ棒グラフ用,AddColumns(支店売上,"A",ThisRecord.第一四半期売上,"B",ThisRecord.第一四半期売上+ThisRecord.第二四半期売上,"C",ThisRecord.第一四半期売上+ThisRecord.第二四半期売上+ThisRecord.第三四半期売上))
で作成できます。結果は以下の通りになります。


これでAとBとCを棒グラフで表示させます。
表示のさせ方はグラフの詳細設定から行えます。

最後にプロパティの間隔を-100にすると以下のようになります。

AとBがCに隠れてしまっていますね。
前にも書いたように棒グラフの重なりは右側が手前に来ます。そのため直観的には詳細設定で上からA、B、Cと設定したくなりますが、本当はC,B,Aの順番にする必要があります。

無事に積み上げ棒グラフが完成しました。
マーカーについて
マーカを表示させてしまうと今回の支店Aのように重なってしまいます。

マーカーの表示位置を調整しようとしたのですができませんでした。
そのため対策としてはオフにするか、別途ラベルオブジェクトで貼り付ける必要があります。
ラベルオブジェクトのプロパティの一つYで表示の高さを調整できるので、グラフの数字をうまく計算し表示位置を調整しましょう。
項目の設定
最終的な画面では系統を逆に表示しなければなりませんでしたが、このままではA,B,Cと表示してほしいところでC,B,Aとなってしまいます。これを逆にする方法は現在の所見つかっていません。そのため、手動によるラベルなどで作製するしかないようです。
