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

Power Apps – 현재 로그온한 사용자가 과장 이상인지 확인

by 이완주 2023. 2. 16.

현재 로그온 한 사용자의 직위에 따라 권한을 다르게 부여하거나 혹은 값을 다르게 부여하고자 한다면. 

 

1. 현재 로그온한 사용자의 직위 확인 

App – OnStart 속성에 아래와 같이 변수 설정 

현재 로그온 한 사용자의 Email 값으로 JobTitleNo에 값을 넣기 위해 With 함수 사용 

 

With( {JobTitleNo : LookUp(Employee1,EMail=User().Email).EJNo },...

 

 Employee1EJNo 값을 가져와서 JobTitleNo에 넣기 

 

 

JobTitleNo 가지고  LookUp(JobTitle1,JNo=JobTitleNo).JName 

JobTitle No 가지고 JName을 가져와서 실제 직위를 가져오게 구성 

 

전역변수 설정인 Set 이용하여 검색한 직위명을 varJobTitle 설정 

Set(varJobTitle,With({JobTitleNo :LookUp(Employee1,EMail=User().Email).EJNo },LookUp(JobTitle1,JNo=JobTitleNo).JName)); 

 

 2. 과장이상인지 확인 방법 

IsBlank 함수로 참인지 거짓인지 확인 과장 이상이면 true 

IsBlank(With({JobTitleList:Sort(Filter(JobTitle1,JOrderNo>=18),JOrderNo).JName},LookUp(JobTitleList,JName=varJobTitle,JName))) 

 

JobTitleList 변수에 JogTitle1의 SharePoint Lists를 Filter 하여 18 즉 대리 이하인 JName 값을 추출  

JobTitleList : Sort(Filter(JobTitle1,JOrderNo>18),JOrderNo).JName 

JobTitleList에는 아래와 같이 값이 들어가게 됨. 

 

위의 결과 값과 varJobTitle 값을 비교하여 JName 값이 있는지 확인 

만약 값이 없으면 Blank 임으로 true 가 나오고 값이 있으면 false가 나옴 

IsBlank(With({JobTitleList:Sort(Filter(JobTitle1,JOrderNo>=18),JOrderNo).JName},  LookUp(JobTitleList,JName=varJobTitle,JName))) 

결론적으로 true 이면 대리, 주임, 사원 이 아님으로 과장 이상이라는 결과를 얻게됨. 

 

위의 내용을 기준으로 아래와 같이 회사에서 지원하는 복지 기준을 설정할 수 있음. 

아래의 경우 과장 이상 210,000원 대리 이하 150,000원이라고 가정할 때 자동으로 로그온 한 사용자의 직급을 파악하여 금액을 나타내 주는 예 

 

 

 

댓글