본문 바로가기
Low Code & 업무 자동화/Power Apps

[Power Apps] 출퇴근 관리 앱(2) - 컬렉션(Collection)과 OnSelect 속성 이해하기

by selee00 2025. 1. 28.

 

안녕하세요  ˶˙ᴗ˙˶ 

 
지난 시간에는 출퇴근 관리 앱을 만들면서 컬렉션(Collection)과 OnSelect 속성을 간단히 활용했었죠!
이번에는 이 두 가지 개념을 자세히 살펴보겠습니다.

 


This image is made by developer.nvidia.com

 

컬렉션(Collection) 이란?

앱 내에서 데이터를 저장하고 관리할 수 있는 임시 테이블입니다.
 👉 데이터를 앱 실행 중에만 유지
👉 데이터베이스 연결 없이도 간단히 데이터를 저장

 

 

 

컬렉션 생성 및 데이터 추가

Collect 함수를 사용하여 컬렉션을 생성하고 데이터를 추가할 수 있습니다.

Collect(AttendanceRecords,{이름: Name.Text, 출근: Now(), 퇴근: ""});
// AttendanceRecords라는 컬렉션에 데이터를 추가
// 이름 :  Name 텍스트 입력 필드에서 가져옴
// 출근 : 현재 시간(Now() 사용)
// 퇴근 :  비워 둠
 
 
 
컬렉션 데이터 수정

Patch 함수를 사용하여 컬렉션의 특정 데이터를 수정할 수 있습니다.

Patch(AttendanceRecords, First(Filter(AttendanceRecords, 이름 = Name.Text && IsBlank(퇴근))), {퇴근: Now()}); 
// AttendanceRecords 컬렉션에서 이름이 Name.Text와 일치하고, 퇴근 시간이 비어 있는 레코드를 찾아 현재 시간(Now)으로 업데이트
 
컬렉션 데이터 확인

변수 > 컬렉션 > 테이블 보기에서 데이터를 확인할 수 있습니다.

 


 

OnSelect 속성이란?

특정 컨트롤을 클릭했을 때 실행되는 동작을 정의합니다.
 👉 데이터를 컬렉션에 저장
👉 화면 전환
👉  알림 메시지 표시

 

데이터를 컬렉션에 저장

출근 버튼을 클릭했을 때 데이터를 컬렉션에 저장하려면 아래와 같은 코드를 OnSelect 속성에 추가합니다.

 


 

컬렉션과 OnSelect를 활용한 실습 : 출퇴근 기록 삭제

삭제 버튼 추가 ( 삽입 > 입력 > 버튼 )
② OnSelect 속성에 다음 코드 작성

Remove(AttendanceRecords, First(Filter(AttendanceRecords, 이름 = Name.Text)));
// Remove 함수 :
컬렉션에서 데이터를 삭제
// 이름이 Name.Text 와 일치하는 첫 번째 레코드를 삭제

 


 

다음시간에는 화면 전환알림 메시지 표시 하는 방법을 배워보겠습니다.

감사합니다.