【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로 조건하고 있기 때문에, 기대한 결과가 되고 있네요.
Reference
이 문제에 관하여(【PowerAutomate】SharePoint 목록에서 JSON 배열을 만들어 ArrayFilter로 더욱 좁히기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/You_name_is_YU/items/76758194af657404500f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번 구축하는 플로우의 전체상은 이하와 같습니다.
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로 조건하고 있기 때문에, 기대한 결과가 되고 있네요.
Reference
이 문제에 관하여(【PowerAutomate】SharePoint 목록에서 JSON 배열을 만들어 ArrayFilter로 더욱 좁히기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/You_name_is_YU/items/76758194af657404500f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"inputs": {
"variables": [
{
"name": "lists",
"type": "array"
}
]
}
}
{
"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']"
}
}
}
{
"inputs": {
"name": "@items('Apply_to_each')?['Title']",
"mail": "@items('Apply_to_each')?['Address']"
}
}
{
"inputs": {
"name": "lists",
"value": "@outputs('作成')"
}
}
{
"inputs": {
"from": "@variables('lists')",
"where": "@not(equals(item()?['mail'], '[email protected]'))"
}
}
여기서 작성한 플로우를 테스트 실행해 보겠습니다.
최종적으로 HTML 테이블의 작성의 결과로서 나와 있는 것이, 호게타로와 호게지로의 2인분의 주소록 데이터가 되어 있는 것을 알 수 있습니다.
사실은 Group=A에 일치하는 데이터 안에 호게사부로도 포함되지만, 호게사부로만은 제외하도록 ArrayFilter로 조건하고 있기 때문에, 기대한 결과가 되고 있네요.
Reference
이 문제에 관하여(【PowerAutomate】SharePoint 목록에서 JSON 배열을 만들어 ArrayFilter로 더욱 좁히기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/You_name_is_YU/items/76758194af657404500f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)