Allen's 데이터 맛집
Power Apps에서 Max 함수 경고(로컬 컬렉션) 본문
Power Apps를 활용해 데이터를 처리하다 보면, Max 함수 사용 시 경고 메시지가 표시되는 경우가 있습니다.
이 글에서는 Max 함수와 데이터 테이블 처리에서 발생하는 문제를 설명하고, 이를 해결하는 구체적인 방법을 소개합니다.
특히, 대규모 데이터 처리 환경에서 발생하는 경고를 해결하기 위한 로컬 컬렉션 활용법을 다룹니다.
1. 문제 상황
1.1 코드 예시
데이터 테이블에서 가장 큰 인덱스를 가져와 +1을 수행하려 아래와 같이 작성했었습니다.
If(
IsEmpty(Raw_data_table),
1,
Max(Raw_data_table, 구분) + 1
)
1.2 발생한 경고
이 코드 실행 시 다음과 같은 경고 메시지가 나타났습니다:
- "Max 작업은 이 커넥터에서 지원되지 않습니다."
- "대규모 데이터 세트에서는 강조 표시된 부분이 제대로 작동하지 않을 수 있습니다."
1.3 문제 원인
Power Apps의 데이터 소스(Raw_data_table)가 클라우드 데이터 테이블로 연결되어 있는 경우,
Max 함수가 클라우드에서 직접 실행되면서 성능 문제나 처리 제한으로 인해 경고가 발생합니다.
따라서, 클라우드 데이터를 로컬 컬렉션으로 가져와 작업해야 안정적으로 실행할 수 있습니다.
2. 해결 방법: 데이터를 로컬 컬렉션으로 로드
2.1 OnVisible 이벤트에서 로컬 컬렉션 생성
화면 로드 시, 클라우드 데이터 테이블을 로컬 컬렉션으로 변환합니다.
아래 코드를 화면의 OnVisible 이벤트에 추가해주세요
ClearCollect(CollectedData, Raw_data_table)
- ClearCollect 함수는 기존 데이터를 삭제하고 새로운 데이터를 로컬 컬렉션에 저장합니다.
- 이제 작업은 CollectedData라는 로컬 컬렉션에서 수행됩니다.
2.2 Max 함수 수정
로컬 컬렉션을 사용하여 Max 함수를 다시 작성합니다:
If(
IsEmpty(CollectedData),
1,
Max(CollectedData, 구분) + 1
)
- CollectedData를 사용해 Max 작업을 수행하므로, 클라우드 데이터 소스에서 발생하던 경고가 사라집니다.
- 로컬 컬렉션은 Power Apps 내부에서 작동하므로, 성능과 안정성이 크게 향상됩니다.
3. 수정 후 결과
- 원인 제거:
- 클라우드 데이터 테이블에서 Max를 직접 호출하지 않음.
- 경고 제거:
- "Max 작업은 이 커넥터에서 지원되지 않습니다." 경고가 사라짐.
- 성능 개선:
- 로컬 컬렉션에서 작업하므로 데이터 처리 속도가 빨라지고, 안정성이 증가.
Power Apps에서 Max 함수 경고 메시지는 클라우드 데이터 소스와의 직접 연산 제한으로 발생할 수 있습니다.
이를 해결하기 위해 데이터를 로컬 컬렉션으로 변환한 후 작업하면 문제를 간단히 해결할 수 있습니다.
728x90