У меня есть ряд коэффициентов, рассчитанных в VBScript, которые включают в себя общее количество дней в году. В 2016 году нам нужно использовать «366» дней вместо обычных «365».
Я создал переменную Dim для заполнения в зависимости от года, но ясно, что скрипт не работает и вместо этого обнуляется.
VB-скрипт:
'/ Adding YrDays to account for Leap Years'/
If POV_Year = "2012" OR "2016" OR "2020" OR "2024" OR "2028" Then
YrDays = "366"
Else YrDays = "365"
End If
HS.Exp "A#Ratio007.C1#[None]" & DynC1 & " =
((A#Tohinc" & Tops & " * (YrDays / A#numberdays.E#PVTB Admin))
/ (A#Totass" & Tops &")) * 100"
Когда я загружаю бизнес-правила в Oracle HFM, VBScript загружает без ошибок, но не может рассчитать соотношение.
В HFM нет учетной записи для YrDays, так как я хочу рассчитать значение (YrDays) во время консолидации и расчета. Я проверил, что POV_Year, Numberdays и другие значения загружаются правильно.
Любая идея, что я могу делать неправильно?
Программное обеспечение: Oracle HFM 11.1.2.3.500 Редактирование файла VBScript Rule.rle в Notepad++
Редактировать: Это решение, которое я выбрал:
'/ Adding YrDays to account for Leap Years'/
SELECT CASE POV_YEAR
CASE "2012", "2016", "2020", "2024", "2028"
YrDays = 366
Case Else
YrDays = 365
End Select
Мне также нужно было изменить способ ссылки на YrDays в формуле, я должен был знать, что это должно быть в кавычках для ссылки в расчете.
HS.Exp "A#Ratio007.C1#[None]" & DynC1 & " =
((A#Tohinc" & Tops & " * ("& YrDays & "/ A#numberdays.E#PVTB Admin))
/ (A#Totass" & Tops &")) * 100"