초보자의 입장에서는 템플릿을 가져다 사용하라고 하면 어떻게(?) 라는 생각을 하게 된다.
그냥 가져와 사용하면 뭔가 부족 한 거 같고 조금만 응용하면 좋을 텐데 무얼 건드려야 할지 모르겠고.
나 같은 경우는 우선 가져와 사용해 본다. 관련 MS 자료 및 Youtube 동영상을 검색하여 사용 방법을 숙지한다.
응용해서 내 맘대로 사용해 보려고 노력한다.
이러한 과정을 거치다 보면 시간도 오래 걸리고 지칠 때도 있다.
그래도 내가 원하는 답을 찾을 때는 무척 기분이 좋아진다. (자아 만족형)
초보자를 위해 변수에 대해 분석해서 나 같은 사람이 다음에 공부할 때 도움이 되었으면 해서 글을 남긴다.
Microsoft 자료 - 캔버스 앱용 일정 화면 템플릿
Microsoft에서 제공하는 캘린더 템플릿을 사용하면 보다 쉽게 일정 화면을 구성할 수 있다.
Power Apps에서 캘린더 템플릿 등록 방법
아래 화면은 캘린더 템플릿을 이용해서 차량 일정 등록하여 사용하는 앱을 만들어 사용하고 있다.
내가 만든 앱 (직원들이 잘 쓰는 거 보면 뿌듯함.) – 누가 시키지 않았는데 혼자 삽질하는 스타일
템플릿을 활용하기 위해서는 사용되고 있는 변수의 의미를 알고 사용하면 더 많은 응용 예제를 만들 수 있다.
변수의 내용은 Microsoft 사이트 내용 참고
캔버스 앱의 일정 화면 템플릿에 대한 참조 정보
_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 ) ); |
2023년 1월 1일이 일요일이어서 해당 값이 나타남
결과 : 2023-01-01 오전 12:00 값을 _firstDayInView변수의 값으로 설정
값을 변경하여 2022년 11월 01일로 설정을 하게 되면 아래와 같이 값이 나타남을 확인
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일") |
댓글