Domino 9 und frühere Versionen > ND6: Entwicklung
Perfomante Summierung von Werten aus mehreren Optionsfeldern
Axel:
Heute will ich auch mal wieder ein Problem haben, wobei es eigentlich kein Problem ist. Sondern mangels Erfahrung brauche ich einen Tipp.
Ich habe eine Maske zur Risikobewertung von Projekten mit 40 Optionsfeldern. Hier arbeite ich mit Zahlen als Aliaswerten. Am Ende der Maske soll nun eine Summe über alle Optionsfelder gebildet werden.
Wie ich das prinzipiell machen muss ist mir klar, nur wie am performantesten?
Axel
jBubbleBoy:
Zahlen als Aliaswerte gibt es nicht, das ist Text ;)
Am einfachsten wäre es mit @for und @GetField zu arbeiten, Perfomanter wäre es natürlich die Felder manuell zu summieren.
pram:
Mein Vorschlag LS im Recalc verwenden
dim summe as Double
summe = 0
forall item in doc.items
if item.name like "option_*" then' Felder müssen option_1, option_2 usw heissen
forall alia in item.values
summe = summe + val(alia)
end forall
end if
end forall
call doc.replaceItemValue("total", summe)
Ist mit sicherheit nicht die performanteste (da müsstest du alle möglichen Feldnamen angeben) dafür kurz und wartbar (sofern deine Optionsfelder eindeutig benannt sind)
Die Berechnung wird aber trotzdem innerhalb ~10ms durch sein ;)
Gruß
Roland
koehlerbv:
Am schnellsten sollte
@Sum (@TextToNumber (Feld1 : Feld2 : Feld3 ...))
sein.
HTH,
Bernhard
Axel:
Danke für die Tipps. Die Formelvariante sieht ganz gut aus. Mal sehen wie ich die eingebunden bekomme. sonst werde ich's mal mit Robert's Script-Variante probieren.
Dazu werde ich auch mal testen, ob der Recalc-Event zuverlässig ausgeführt wird.
--- Zitat von: jBubbleBoy am 08.04.10 - 15:45:36 ---Zahlen als Aliaswerte gibt es nicht, das ist Text ;)
--- Ende Zitat ---
Das ist mir auch klar. Trotzdem sind es Zahlen, wenn auch im Textformat. ;) ;D
Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln