드롭다운 메뉴에 현재 년도 부터 이전 10년까지 년도를 표시하여 선택 할 수 있게 하고 싶다.
기본 값은 올해 표시
Default = Text(Today(),"yyyy")
|
Items에 다음과 같은 다양한 방법으로 표시 가능
1. 직접 입력
단점 : 2025년이 되면 아래 값을 수정해야 함.
Items = [2022,2023,2024]
|
2. 데이터에서 값을 가져와서 중복 필터링
Sharepoint 데이터를 가져오는 경우 [데이터 행 제한]으로 인해 중복 필터링이 안될 수 있음
Items = Distinct(colYear,Value)
|
3. ForAll 함수로 10번을 실행하고 현재 년도에서 -1씩 반복하여 값을 나타내기
Items = ForAll( Sequence( 10 ), Text(DateAdd( Today(), -Value, TimeUnit.Years ),"yyyy") +1 ) |
4. 데이터 행제한 문제 해결을 위한 방법
전체 데이터가 [데이터 행 제한]으로 인해 가져오지 못하는 경우는
해당 년도의 데이터 개수가 [데이터 행 제한] 값인 최대 값인 2,000개를 넘지 않으면 아래 방법으로 해결 가능
앱이 실행될때 colTrueYear 컬렉션을 만들어서 문제 해결 가능.
OnStart =
// 컬렉션의 모든 데이터를 지운다.
Clear(colTrueYear);
With(
{
// 현재 년도 부터 이전 10년까지의 년도를 yearDate에 넣는다.
yearDate : ForAll( Sequence( 10 ), Text(DateAdd( Today(), -Value, TimeUnit.Years ),"yyyy") +1 )
},
ForAll(
// 10번 반복 실행
Sequence(10),
With(
// varYear에 현재 년도를 차례대로 넣는다.
{varYear:Index(yearDate,Value).Value},
If(
// 해당 년도의 데이터가 있는지 확인하고 있으면 아래값을 실행
!IsBlank(First(Filter('Test-ManagementReport',년도=varYear)).본부),
Collect(
colTrueYear,
{
// Value 변수에 값이 있는 년도를 컬렉션에 저장한다.
Value:varYear
}
)
)
)
)
)
댓글