이 정보는 워크북과 클래식 대시보드에 모두 적용됩니다.
시계열 함수 또는 필터 함수
시계열 함수 Ago
및 Todate
는 year-ago, year-to-date
등을 계산하는 간단한 측정항목 생성 방법을 제공합니다. 이 방법은 비즈니스 사용자 보고서에 적합합니다. 단, 해당 함수는 성능에 상당한 비용이 드는 복잡한 질의를 생성합니다. 또한 해당 함수 중 하나가 보고서에 사용될 때마다 데이터베이스의 더 많은 리소스를 사용하여 추가 하위 질의가 생성됩니다.
클래식 대시보드에서는 시계열 함수를 사용하는 대신 적절한 기간을 기준으로 필터링을 수행하는 데 Filter
함수와 함께 기본 측정항목을 사용하여 동일한 결과를 얻을 수 있습니다. 이 방법의 경우 비즈니스 사용자 보고서용으로는 너무 복잡할 수 있지만 IT 팀이 미리 정의한 대시보드에서는 효과적으로 작동합니다. 이 방법을 사용하면 휠씬 간단하고 효율적인 물리적 SQL이 생성되고 추가 하위 질의가 필요하지 않습니다. 즉, SQL 질의가 더 빨라지고 데이터베이스에서 더 적은 리소스를 사용하므로 전체 데이터베이스 CPU 사용량 및 IO가 줄어듭니다.
다음은 동일한 보고서에서 기본 측정항목과 month Ago 측정항목을 모두 사용할 때 생성되는 물리적 질의의 예입니다. 다음과 같은 두 개의 질의가 생성됩니다.
다음은 Filter
함수를 대신 사용할 때 생성되는 SQL입니다. 단일 질의가 생성되며 훨씬 간단합니다.
프롬프트가 포함된 대시보드에서 구현하는 방법
대부분의 구현에서는 대시보드에 이미 프롬프트가 포함되어 있으므로 사용자가 확인하려는 월을 선택할 수 있습니다. 첫번째 단계는 사용자의 선택에 따라 필터링해야 할 기간을 식별하는 것입니다.
이 간단한 예에서는 계산이 훨씬 쉬워지므로 달력 차원에 Julian Period Number
열이 포함되어 있다고 가정합니다. 이는 Julian Period Number
없이도 가능하지만, 선택된 기간을 계산하려면 훨씬 더 복잡한 공식이 필요합니다.
먼저 Month
에 대한 프롬프트가 프리젠테이션 변수(아래 예의 MonthSelected
)를 채워야 합니다. 다음으로, 해당 Julian Period Number
를 검색하여 다른 변수(PeriodNumberSelected
)에 넣기 위한 별도의 대시보드 프롬프트를 생성합니다. 이 두번째 프롬프트는 일반 사용자에게 표시되지 않고 대신 대시보드에 숨겨져 있으며 값은 MonthSelected
변수를 기반으로 자동 계산됩니다. 아래의 예를 참조하십시오.
Month
프롬프트를 수정합니다.
Julian Period Number
에 대한 별도의 대시보드 프롬프트를 생성합니다.
Julian Period
프롬프트를 추가합니다.
Month
열의 전역 필터를 삭제하고 필요에 따라 Julian Period Number
를 기반으로 하는 열 공식 필터 함수를 사용합니다. 예는 다음과 같습니다.
Current Month: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800})
Month Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-1)
Year Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-12)
Year to date: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"<=@{PeriodNumberSelected}{80800} and “Time”.”Year”=@{YearSelected}{2019})
매개변수가 포함된 워크북에서 구현하는 방법
워크북에서도 동일한 원칙을 적용할 수 있습니다. 프롬프트 및 프리젠테이션 변수는 대시보드 필터와 매개변수로 바뀝니다.
세 개의 매개변수(MonthSelected, PeriodNumberSelected 및 YearSelected)를 생성합니다. MonthSelected 매개변수만 대시보드 필터의 캔버스에 표시됩니다.
모든 월을 선택하는 논리적 SQL에 기반하여 MonthSelected 매개변수의 가능한 값이 정의됩니다.
PeriodNumberSelected 및 YearSelected 매개변수의 경우 가능한 값이 채워지지 않습니다. MonthSelected 값에 따라 필터링된 논리적 질의로 초기 값만 채워집니다. 아래의 예를 참조하십시오.