Autor Thema: Perfomante Summierung von Werten aus mehreren Optionsfeldern  (Gelesen 3034 mal)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
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.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
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

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Am schnellsten sollte
@Sum (@TextToNumber (Feld1 : Feld2 : Feld3 ...))
sein.

HTH,
Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
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.


Zahlen als Aliaswerte gibt es nicht, das ist Text ;)

Das ist mir auch klar. Trotzdem sind es Zahlen, wenn auch im Textformat.   ;)  ;D

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Zu beachten sind insbesondere Dezimalzahlen.
Diese sind auf englsichen Systemen mit "." und nicht mit "," getrennt.
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Zu beachten sind insbesondere Dezimalzahlen.
Diese sind auf englsichen Systemen mit "." und nicht mit "," getrennt.

Das ist bei mir in diesem Fall kein Thema.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Hallo Axel,

Formel ist auf alle Fälle um ein vielfaches schneller - die Scipt-Lösung ist für den Fall mit kanonen auf Spatzen schießen - und du weist, daß ich näher an LotusScript stehe...

Toni
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz