久しぶりの Power Apps のTipsです。
今回のTipsを考えたきっかけは、Power Appsのチャートコントロールに設定されている色を、アプリのテーマカラーに合わせられないかなと考えたことでした。下図右側のバーチャートがアプリのテーマを適用したものです。

チャートコントロールの色というのは、 ItemColorSetというプロパティで指定しますが、テーブル型のデータを指定しなければいけません。

一方、アプリのカラーテーマは App.Theme.Colors で取得できますが、これはレコード型になっています。試しに変数に入れてみると以下のようにDark10, Dark20, Dark30...などの列に色の値が入っているレコードです。

つまり、このアプリのカラーテーマをチャートコントロールに適用するためには レコード型からテーブル型にうまく変換する必要があるということです。
今回はこの方法を紹介します。
レコード型からキーバリュー型のテーブルに
のちに紹介するPower Appsの数式は比較的汎用性のあるように定義しますが、ここではサンプルとして以下のような変換を考えます。

変換後のテーブルの"key"という列に、もとのレコードのプロパティ名(列名)が入り、対応する値が "value" という列に入るようなものです。
もとになるレコード型のデータが RecordData という変数に入っているとすると、以下の式で適切なキーバリューのテーブルが生成されます。
AddColumns(
RenameColumns(
ColumnNames(ParseJSON(JSON(RecordData))),
"Value",
"key"
),
"value",
Text(
Column(
ParseJSON(JSON(RecordData)),
key
)
)
)

ただしこの際、"value" はすべてテキスト型に変換されています。ですので、元がネストしたレコードのようなケースには適用できない点に注意してください。
実際にパイチャートのカラーセットに適用すると下図のようになります。

ということで、レコード型からキーバリュー型のテーブルデータを生成する方法の紹介でした。