【Power Apps】コレクションへの格納方法

  • 保存方法1
    Power Automateから以下のエスケープされたJSON文字列で戻ってくるとする。

    エスケープされたJSON文字列
    "resultJson":"[{\"コード1\":\"001\",\"コード2\":\"002\",\"削除フラグ\":false},{\"コード1\":\"101\",\"コード2\":\"202\",\"削除フラグ\":false}]"
    
    実際のJSON文字列(ParseJSON関数を行うと以下の文字列になる)
    "resultJson":"[{"コード1":"001","コード2":"002","削除フラグ":false},{"コード1":"101","コード2":"202","削除フラグ":false}]"
    
    ClearCollect(colコードマスタ,
        ForAll(
            Table(ParseJSON(PowerAutomate名称.Run().resultJson)),
            {
                コード1: Text(ThisRecord.Value.コード1),
                コード2: Text(ThisRecord.Value.コード2),
                削除フラグ: Boolean(ThisRecord.Value.削除フラグ)
            }
        )
    )
    
  • 保存方法2
    既にあるコレクション2つから新しいコレクションを作る。

    Clear(colコレクション);
    ForAll(
        colコレクションB As tmp,
        With(
            {
                newItem: LookUp(colコレクションA, 社員コード=tmp.社員コード)
            },
            Collect(colコレクション,
                {
                    社員コード: tmp.社員コード,
                    部門コード: tmp.部門コード,
                    部門名: LookUp(col部門コレクション, 部門コード=tmp.部門コード).部門名,
                    社員名: newItem.氏名
                }
            )
        )
    )
    
  • 保存方法3
    既にあるコレクションを編集して新しいコレクションを作る。(Itemsに指定する)
    AddColumnsの第1引数は元テーブル、第2引数は新しい項目名、第3引数は新しい項目値となる。

    Table(
        {氏名: ""},
        AddColumns(
            Filter(colコレクション, 部門コード='001'),
            所属名,
            氏名&"("&部門名&")"
        )
    )
    
  • 保存方法4
    以下のカスタムプロパティでテーブル(コレクション)を戻す。

    プロパティの型:アクション
    戻りデータの種類:テーブル
    
    With(
        {
            tmpResult: PowerAutomate名称.Run().resultJson
        },
        if(Not(IsBlank(tmpResult)),
            ForAll(
                Table(ParseJSON(tmpResult)),
                {
                    コード1: Text(ThisRecord.Value.コード1),
                    コード2: Text(ThisRecord.Value.コード2),
                    削除フラグ: Boolean(ThisRecord.Value.削除フラグ)
                }
            )
        )
    )
    

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です