Vbscript 暗闰年

Vbscript 暗闰年,vbscript,business-rules,leap-year,hyperion,Vbscript,Business Rules,Leap Year,Hyperion,我用VBScript计算了一系列比率,其中包含了一年中的总天数。2016年,我们需要利用“366”天,而不是正常的“365” 我创建了一个Dim变量来根据年份填充,但很明显脚本不起作用,而是归零 VBScript: “/将YRDAY添加到闰年帐户”/ 如果POV_Year=“2012”或“2016”或“2020”或“2024”或“2028”,则 YrDays=“366” Else YrDays=“365” 如果结束 HS.Exp“A#Ratio007.C1#[无]”&DynC1&= ((A#To

我用VBScript计算了一系列比率,其中包含了一年中的总天数。2016年,我们需要利用“366”天,而不是正常的“365”

我创建了一个Dim变量来根据年份填充,但很明显脚本不起作用,而是归零

VBScript:

“/将YRDAY添加到闰年帐户”/
如果POV_Year=“2012”或“2016”或“2020”或“2024”或“2028”,则
YrDays=“366”
Else YrDays=“365”
如果结束
HS.Exp“A#Ratio007.C1#[无]”&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文件++

编辑: 这就是我采用的解决方案:

我还需要改变YrDays在公式中引用的方式,我应该知道它需要在计算中引用引号

HS.Exp“A#Ratio007.C1#[None]”和DynC1&“=
((A#Tohinc“&Tops&”*(&YrDays&“/A#numberdays.E#PVTB Admin))
/(A#Totass“&Tops&”)100“

您的代码作为一个应用程序可能会更好

然而,可能有一种更简单的方法

'/ Adding YrDays to account for Leap Years'/
YrDays = DateSerial(POV_Year + 1, 1, 1) - DateSerial(POV_Year, 1, 1)
'alternate
YrDays = 365 - (POV_Year = 2012 Or POV_Year = 2016 Or POV_Year = 2020 Or POV_Year = 2024 Or POV_Year = 2028)

我已经删除了引用的数字;数字应该是数字。但是
“2016”
并不等于
2016
,因此您可能必须将它们放回原处或调整代码的其余部分。可以将一个实数连接成一个字符串。

select Case语句工作得很好-我不得不加上引号,但该注释帮助我引用了应该和不应该有引号的内容。'将年数添加到闰年账户/选择案例POV_年案例“2012”、“2016”、“2020”、“2024”、“2028”年数=366个案例,否则年数=365个结束选择'
Select Case POV_Year
    Case 2012, 2016, 2020, 2024, 2028
        YrDays = 366 
    Case Else
        YrDays = 365 
End Select
'/ Adding YrDays to account for Leap Years'/
YrDays = DateSerial(POV_Year + 1, 1, 1) - DateSerial(POV_Year, 1, 1)
'alternate
YrDays = 365 - (POV_Year = 2012 Or POV_Year = 2016 Or POV_Year = 2020 Or POV_Year = 2024 Or POV_Year = 2028)