例によって12/17のPowerApps Advent Calendar 2019が空いていたので。
#前置き
Power Appsには使えるグラフが3種類ありますが、横棒グラフはありません。
なのでコントロールを組み合わせて自前で作ってしまおうというお話です。
無いものは自分で作る、Do It Yourselfが出来るのがPower Appsの良いところ。
#使うもの
##データソース
数値の列を含むSharePointリストのTestList
#実装
##準備
まずギャラリーのItems
にTestList
を設定します。
そして委任問題を避けるため、以下の関数をボタンなどに仕込んで実行します。
ClearCollect(TestList取り込み,TestList)///コレクションにTestListを追加
UpdateContext({Max数量:Max(TestList取り込み,数量)})///コレクションのTestListから数量の最大値を調べる
##スライダーの設定
ここからスライダーの見た目を棒グラフっぽくしていきます。
スライダーのプロパティ
からを以下のように設定します。
プロパティ名 | 設定値 |
---|---|
値の表示 | オフ |
ハンドルのサイズ | 1 |
表示モード | ビュー |
次に弄るプロパティはこちら。
プロパティ名 | 設定値 |
---|---|
レール | 30 |
ハンドルの塗りつぶし | 透明 |
ここから先はスライダーの左端と右端、どちらをグラフの起点とするかで作り方が変わります。
###起点が左端の場合
スライダーのプロパティは以下の通り。
プロパティ名 | 設定値 |
---|---|
既定 | ThisItem.数量 |
最大 | Max数量 |
最低 | 0 |
起点が左端のグラフが出来ました。
###起点が右端の場合
プロパティ名 | 設定値 |
---|---|
既定 | ThisItem.数量*-1 |
最大 | 0 |
最低 | Max数量 |
そしてレール
と値の塗りつぶし
の色を入れ替えます。
##細かい調整
ラベルでThisItem.数量
を表示してあげるととてもグラフっぽくなります。
#まとめ
-
既定の機能を使って出来る表現は幅広い
- 殆どの場合、データを使って何かを動かすという基本と簡単な数学の組み合わせです
-
見た目に拘らなければ大抵何とかなる
- 餅屋には勝てないので割り切りましょう
-
Power Appsの機能を知れば、出来ることも自ずと見えてくる
- 自分が何を動かしているのか知らなければ、何が出来るかなんて分かりません
Power Appsでも少し作りこめば、Power BIには及びませんがインタラクティブなグラフも表現可能です。
業務に何の機能が必要か?
それにはどういう表現がふさわしいのか?
色々とPower Appsを弄って考えてみてください。