Ich habe eine Reihe von Ratios in VBScript berechnet, die die gesamten Tage im Jahr enthält. Für 2016 müssen wir "366" Tage anstelle des normalen "365" verwenden.Dim Leap Jahr, VBScript
Ich erstellte eine Dim-Variable, um basierend auf dem Jahr zu füllen, aber es ist klar, das Skript funktioniert nicht und stattdessen Nullen.
VBScript:
'/ 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"
Als ich die Business Rules in Oracle HFM, die VBScript-Uploads ohne Fehler laden aber nicht das Verhältnis zu berechnen.
Es gibt kein Konto in HFM für YrDays, da ich den Wert (YrDays) während der Konsolidierung und Berechnung berechnen möchte. Ich habe überprüft, dass POV_Year, Numberdays und andere Werte korrekt geladen werden.
Irgendeine Idee, was ich falsch machen könnte?
Software: Oracle HFM 11.1.2.3.500 VBScript Rule.rle Dateibearbeitung in Notepad ++
Edit: Dies ist die Lösung, die ich mit gegangen:
'/ 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
ich auch Um die Art zu ändern, wie YrDays in der Formel referenziert wurde, hätte ich wissen müssen, dass es sich um Anführungszeichen handelt, auf die in der Berechnung Bezug genommen wird.
HS.Exp "A#Ratio007.C1#[None]" & DynC1 & " =
((A#Tohinc" & Tops & " * ("& YrDays & "/ A#numberdays.E#PVTB Admin))
/(A#Totass" & Tops &")) * 100"
Die ausgewählte Case-Anweisung funktioniert perfekt - ich musste die Anführungszeichen einwerfen, aber dieser Kommentar half mir, zu referenzieren, was sie haben sollte und was nicht. \t ‚Hinzufügen YrDays für Schaltjahre/ \t SELECT CASE POV_YEAR zu berücksichtigen \t \t CASE "2012", "2016", "2020", "2024", "2028" YrDays = 366 Case Else YrDays = 365 \t Ende Auswahl ' – Mike