Oracle Essbase는 Planning의 날짜를 숫자 값으로 저장합니다(예: 시작일 2021년 5월 21일은 20210521로 저장됨).
Essbase 데이터베이스를 사용하는 Planning 이외의 비즈니스 프로세스는 1970년 1월 1일 자정(Planning에서 날짜를 저장하는 방식과 다른 비숫자 형식) 이후 경과된 초 수를 사용하는 날짜 기능을 활용하여 해당 날짜를 저장합니다.
Essbase 날짜 형식을 Planning 형식으로 변환하여 Planning 날짜 멤버의 시스템 날짜(오늘의 날짜)를 채우는 양식에 사용할 수 있습니다.
예를 들어 양식의 계산을 사용하여 시스템 생성 날짜(현재 시스템 날짜 기준)를 Planning 멤버에 "Start_Date"로 동적으로 추가해야 한다고 가정합니다. 이러한 필요성은 예를 들어 새 계약이나 고객이 추가된 시기를 확인하기 위해 레코드에 대한 읽기 전용 비사용자 날짜 입력을 동적으로 추가해야 하는 감사 요구사항에서 비롯될 수 있습니다.
Essbase 날짜 값 2021년 5월 21일을 이에 상응하는 Planning 숫자 값으로 변환하려면 월에 100을 곱하고 연도에 10,100을 곱한 다음 이러한 계산 결과를 아래와 같이 일수에 더합니다.
Year = 2021 * 10,000 = 2021000 Month = 05 * 100 = 500 Day = 21 2021000 + 500 + 21 = 2021521
결과를 Planning 멤버에 쓸 때까지 변수에 Essbase 날짜 요소를 유지하여 비즈니스 규칙에서 이 작업을 수행할 수 있습니다. 이를 위해 Essbase는 오늘 날짜 (@TODAY)
를 추출하고 해당 날짜(@DATEPART
)로부터 일, 월 또는 연도를 추출하는 데 도움이 되는 기능을 제공합니다.
다음 예에서는 @TODAY
및 @DATEPART
를 사용하여 시스템 날짜의 날짜, 월, 연도를 Essbase 형식으로 저장하는 변수를 생성하고, 계산을 수행하여 이를 Planning 날짜 형식으로 변환하고, Planning 날짜 형식을 변수에 저장하여 필요에 따라 "Start_Date"를 채우는 방법을 보여줍니다.
Var_Day = @DATEPART(@TODAY(),DP_DAY); Var_Month ==@DATEPART(@TODAY(),DP_MONTH)*100; Var_Year = @DATEPART(@TODAY(),DP_YEAR)*10000; Var_TodayDate = @sum(Var_Day, Var_Month, Var_Year); Start_Date = Var_TodayDate;
다음과 유사한 구문을 사용하는 수식을 사용하여 시스템 날짜를 "Start_Date"로 멤버에 동적으로 추가할 수 있습니다.
@MEMBER(@HspNthMbr(@name(@descendants("AllMembers")),nextMember))->"Start_Date"=Var_TodayDate;