【PowerAutomate】SharePoint 목록에서 JSON 배열을 만들어 ArrayFilter로 더욱 좁히기

개요



미리 구축하고 있는 アドレス帳 라는 리스트에 등록되어 있는 데이터중에서, Group 가 A 의 정보를 JSON 배열로서 보관 유지해, 그 JSON 배열로부터 지정한 조건의 데이터 만큼 한층 더 JSON 배열을 가공할 PowerAutomate의 흐름을 만듭니다.


실제로는 리스트로부터 조건을 지정해 목적의 정보를 일발로 추출하는 것도 가능합니다만,
단순히 PowerAutomate에서 사용할 것 같은 JSON 배열과 ArrayFilter를 활용하고 싶었다는 것만으로,
의미 있을 것 같은 흐름을 구축해 보았습니다.

흐름의 전체 이미지



이번 구축하는 플로우의 전체상은 이하와 같습니다.
PowerAutomate의 액션은, 일본어이거나 영어이거나, 일본어의 것에서도 액션의 검색 박스로 히트하지 않거나, 사용하기 어려움을 느끼네요. . .


각 흐름의 설명



수동으로 흐름을 트리거합니다.



PowerAutomate의 플로우에는, 그 플로우를 실행하는 계기가 되는 トリガー 가 필요합니다.
여기에서는 수동으로 흐름을 트리거하는 트리거를 이용합니다.

JSON 배열을 저장하는 변수 정의




커넥터
액션


변수
변수 초기화


lists라는 이름으로 배열(Array) 유형의 변수를 초기화합니다.
주소록 목록 정보에서 추출한 데이터를 저장하는 데 사용합니다.


{
    "inputs": {
        "variables": [
            {
                "name": "lists",
                "type": "array"
            }
        ]
    }
}

SharePoint 목록에서 데이터 가져오기




커넥터
액션


SharePoint
여러 항목 검색


SharePoint에서 만든 アドレス帳 목록에서 Group=A 데이터(3개)만 추출합니다.

{
    "inputs": {
        "host": {
            "connectionName": "shared_sharepointonline",
            "operationId": "GetItems",
            "apiId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
        },
        "parameters": {
            "dataset": "https://younameisyu.sharepoint.com/sites/Microsoft365",
            "table": "4cc19b07-a334-4aab-a1fb-dca9fb70195a",
            "$filter": "Group eq 'A'"
        },
        "authentication": {
            "type": "Raw",
            "value": "@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"
        }
    }
}

검색된 데이터를 JSON 배열에 저장




커넥터
액션


통제
Apply to each

데이터 조작
만들기

변수
배열 변수에 추가


SharePoint アドレス帳 목록에서 Group=A 데이터를 검색하고 대상 정보를 JSON 개체로 만들고 배열(lists)에 추가합니다.
JSON의 구조로는 "name"에 대상의 이름을, "mail"에 이메일 주소를 설정하고 있습니다.


만들기
{
    "inputs": {
        "name": "@items('Apply_to_each')?['Title']",
        "mail": "@items('Apply_to_each')?['Address']"
    }
}

배열 변수에 추가
{
    "inputs": {
        "name": "lists",
        "value": "@outputs('作成')"
    }
}

JSON 배열의 내용을 일단 확인




커넥터
액션


데이터 조작
HTML 테이블 만들기


위에서 작성된 JSON 배열의 내용을 일단 확인하기 위해 HTML 테이블 작성이라는 액션을 이용합니다.
테스트 실행했을 때의 결과로서 확인하기 쉽기 때문에 이용하고 있습니다.


JSON 배열에서 지정된 조건의 데이터만 추출




커넥터
액션


데이터 조작
어레이 필터링


이 ArrayFilter를 사용해보기 위해서만 이용하고 있습니다만, 여기에서는 ほげ 三郎 이외의 데이터만을 추출하고 있습니다.

{
    "inputs": {
        "from": "@variables('lists')",
        "where": "@not(equals(item()?['mail'], '[email protected]'))"
    }
}

테스트 실행



여기서 작성한 플로우를 테스트 실행해 보겠습니다.
최종적으로 HTML 테이블의 작성의 결과로서 나와 있는 것이, 호게타로와 호게지로의 2인분의 주소록 데이터가 되어 있는 것을 알 수 있습니다.


사실은 Group=A에 일치하는 데이터 안에 호게사부로도 포함되지만, 호게사부로만은 제외하도록 ArrayFilter로 조건하고 있기 때문에, 기대한 결과가 되고 있네요.

좋은 웹페이지 즐겨찾기