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

항목이 2000개가 넘는 경우 최대 값을 구해 코드 만들기

by 이완주 2025. 1. 6.

년차 관리 프로그램에서 코드를 만들어 사용하고 있다.

1년에 800건 이상 결재가 되면서 3년이면 3,000개 이상이 쌓이게 된다.

코드를 만들기 위해서 최대 값을 구하는 방식의 변경이 필요함을 느꼈다.

 

기존 코드를 불러와서 년도로 필터를 하고 이를 Code로 정렬을 하여 변수로 넣어 처리하는 방식이다.

다소 설명이 어려울 수 있으나 해당 방법은 아주 간단하다.

 

// 신규 년차 결재 생성시
If(newLine,
    // varList 변수에 현재 년도의 데이터를 최신 데이터 순으로 정렬하여 저장
    // 한해 데이터가 해당 값이 2000개가 넘으면 추가 작업이 필요 함.

    With({varList:Sort(Filter(VacList,ApplyYear=Text(Today(),"yyyy") ),Title,SortOrder.Descending)},

        If(
            // varList 값이 0개 이상이면
            CountRows(varList) > 0,
            // 최대 값에 +1 을 더한 값을 코드로 만들기
            "GS"& Text(Today(),"yyyy")& "-" & Text(Right(First(varList).Title,4) + 1,"0000"),
            // 값이 없으면 GS년도-0001 이라는 코드가 만들어 지게 됨  GS2025-0001
            "GS"& Text(Today(),"yyyy")& "-0001"
        )
    ),
    // 신규 결재가 아니면 기존 값 가져오기
    Parent.Default
)

 

 

년차를 신청하면 코드가 발생하고 이를 년차관리에서 근거문서를 확인하기 위해 코드를 활용하고 있다.

 

년차 결재를 올리게 되면 자동으로 코드가 만들어지게 된다.

 

[참고자료]

 

 

PowerApps Sharepoint 5000개 이상의 값에서 최대값 구하기

Power Automate 에서도 Sharepoint의 값이 5000개가 넘어가면 한번에 가져오지 못하는 것을 확인했다.이는 Sharepoint의 제한 조건으로 한번에 가져오면 아래와 같이 오류가 발생한다.  Power Apps에서 한번

leemcse.tistory.com

20,000개의 데이터를 가져 와 collection에 넣어 관리가 가능

ClearCollect(colNum,Filter(Num6000Code,Num > 0));
ForAll(
    Sequence(10),
    With({num: 2000 * Value},
        Collect(colNum,Filter(Num6000Code,Num > num ));
    )
)

 

댓글