본문 바로가기
기술자료 (KB)/Power Platform

Power Apps – 캘린더 변수 이해

by 이완주 2023. 1. 27.

초보자의 입장에서는 템플릿을 가져다 사용하라고 하면 어떻게(?) 라는 생각을 하게 된다.

그냥 가져와 사용하면 뭔가 부족 한 거 같고 조금만 응용하면 좋을 텐데 무얼 건드려야 할지 모르겠고.

 

나 같은 경우는 우선 가져와 사용해 본다. 관련 MS 자료 및 Youtube 동영상을 검색하여 사용 방법을 숙지한다.

응용해서 내 맘대로 사용해 보려고 노력한다.

이러한 과정을 거치다 보면 시간도 오래 걸리고 지칠 때도 있다.

그래도 내가 원하는 답을 찾을 때는 무척 기분이 좋아진다. (자아 만족형)

 

초보자를 위해 변수에 대해 분석해서 나 같은 사람이 다음에 공부할 때 도움이 되었으면 해서 글을 남긴다.

  

Microsoft 자료 - 캔버스 앱용 일정 화면 템플릿

https://learn.microsoft.com/ko-kr/power-apps/maker/canvas-apps/screen-templates/calendar-screen-overview

 

Microsoft에서 제공하는 캘린더 템플릿을 사용하면 보다 쉽게 일정 화면을 구성할 수 있다.

 

Power Apps에서 캘린더 템플릿 등록 방법

아래 화면은 캘린더 템플릿을 이용해서 차량 일정 등록하여 사용하는 앱을 만들어 사용하고 있다.

내가 만든 앱 (직원들이 잘 쓰는 거 보면 뿌듯함.) – 누가 시키지 않았는데 혼자 삽질하는 스타일

템플릿을 활용하기 위해서는 사용되고 있는 변수의 의미를 알고 사용하면 더 많은 응용 예제를 만들 수 있다.

 

변수의 내용은 Microsoft 사이트 내용 참고

 

캔버스 앱의 일정 화면 템플릿에 대한 참조 정보

https://learn.microsoft.com/ko-kr/power-apps/maker/canvas-apps/screen-templates/calendar-screen-reference

 

_userDomain : Set 명령어로 전역변수 설정

Set( _userDomain, Right( User().Email, Len( User().Email ) - Find( "@", User().Email ) ) );

결과 : globalsoft.co.kr 값을 _userDomain 변수의 값으로 설정

 

상세 설정 이해

현재 로그온 사용자의 Email 주소

User().Email

결과 :  wjlee@globalsoft.co.kr

 

사용자의 메일 주소의 전체 길이 확인

Len( User().Email )

결과 : 22     

@ 기호가 몇 번째 문자인지 확인

Find( "@", User().Email )

결과 : 6    

 

메일 주소 [ wjlee@globalsoft.co.kr ] 길이 [ 22 ]  - @ 문자를 찾은 [ 6 ] = 16

메일 주소 [ wjlee@globalsoft.co.kr ]에서 오른쪽에서 16개 문자 출력

Right( User().Email, Len( User().Email ) - Find( "@", User().Email ) )

결과 : globalsoft.co.kr

 

_dateSelected : 오늘 날짜를 가져와서 Set 명령어로 전역변수 설정

Set( _dateSelected, Today() );

결과 : 2023-01-27 값을 _dateSelected 변수의 값으로 설정

 

_firstDayOfMonth : 오늘을 기준으로 첫번째 날짜를 Set 명령어로 전역변수 설정

Set( _firstDayOfMonth, DateAdd( Today(), 1 - Day( Today() ), Days ) );

결과 : 2023-01-01 오전 12:00 값을 _firstDayOfMonth 변수의 값으로 설정

 

DateAdd 변수는 아래 Microsoft 사이트에 자세히 나와 있으니 참고.

Power Apps DateAdd, DateDiff TimeZoneOffset 함수
https://learn.microsoft.com/ko-kr/power-platform/power-fx/reference/function-dateadd-datediff

 

_firstDayInView : 달력 표기의 일요일부터 표시 할 경우 나타날 날짜 Set 명령어로 전역변수 설정

Set( _firstDayInView,
    DateAdd( _firstDayOfMonth, -( Weekday( _firstDayOfMonth) - 2 + 1 ), Days )
);

202311일이 일요일이어서 해당 값이 나타남

결과 : 2023-01-01 오전 12:00 값을 _firstDayInView변수의 값으로 설정

 

값을 변경하여 20221101일로 설정을 하게 되면 아래와 같이 값이 나타남을 확인

DateAdd( Date(2022,11,01) , -( Weekday( Date(2022,11,01)) - 2 + 1 ), Days )

결과 : 2022-10-30 오전 12:00

 

_lastDayOfMonth : 달의 마지막 날짜 표현 Set 명령어로 전역변수 설정

Set( _lastDayOfMonth, DateAdd( DateAdd( _firstDayOfMonth, 1, Months ), -1, Days ) );

결과 : 2023-01-31 오전 12:00 값을 _lastDayOfMonth 변수의 값으로 설정

 

DateAdd( DateAdd( Date(2022,02,01) , 1, Months ), -1, Days )

결과 : 2022-02-28 오전 12:00

 

 

대표적인 예로 아래와 같이 사용 기간을 표시해야 하는 경우

시작일

Text(_firstDayOfMonth, "yyyy mm dd")

 

종료일

Text(_lastDayOfMonth, "yyyy mm dd")

 

댓글