Seite 1 von 1

Durchschnittsberechnung in dynamischer Tabelle

Verfasst: 01.07.2013, 20:07
von KKD
Hallo zusammen

Ich habe eine dynamische Tabelle, in welcher mit folgendem Script in der letzen Spalte die Summe berechnet wird:



var page = xfa.layout.page(this)-1;
var fields = xfa.layout.pageContent(page , "field", 0);
i = 0;
this.rawValue = 0;
var total = 0;

for (var i=0; i <= fields.length-1; i++)
{
if (fields.item(i).name == "Summe")
{
total = total + fields.item(i).rawValue;
}
}

this.rawValue = total ;


Nun brächte ich aber im Feld Totalsumme, wo jetzt das Script liegt und die Totalsumme ausgegeben wird, den Durchschnitt der in den Feldern "Summe" eingetragenen Werte. Also müsste man
total = total + fields.item(i).rawValue
noch durch die Anzahl der Felder teilen, um auf den Durchschnitt zu kommen. Kann mir jemand sagen, wie ich das zum funktionieren bringe?

Vielen lieben Dank!
Kenneth

Durchschnittsberechnung in dynamischer Tabelle

Verfasst: 01.07.2013, 20:29
von radzmar
also in formcalc gib es die funktion Avg() dafür.

Z.B.

Code: Alles auswählen

Avg(summe[*])

Durchschnittsberechnung in dynamischer Tabelle

Verfasst: 01.07.2013, 20:38
von armine
Hallo Kenneth,

dass "i = 0" gesetzt wird, hat für mich keinen erkennbaren Sinn. An der Stelle kannst eine Variable "var Divisor = 0 ;" deklarieren. Die zählst du innerhalb der if-Abfrage hoch.

Allse klar?

vg armine

Durchschnittsberechnung in dynamischer Tabelle

Verfasst: 01.07.2013, 23:16
von KKD
Danke für Eure Antworten:

Razmar: ja, damit habe ich es gelöst gehabt, solange es noch keine dynamische Tabelle war. Doch in einer dynamischen Tabelle klappt das nicht mehr.

armine: Gar nichts ist klar, weil es funktioniert nicht.

Ich habe die Tabelle mal hochgeladen. In der Zelle rechts unten müsste anstelle der Summe der darüber liegenden Zellen neu der Durchschnitt (der darüber liegenden Zellen) berechnet werden.

Vielen Dank für Eure Hilfe, ich bekomms wirklich nicht hin.

Durchschnittsberechnung in dynamischer Tabelle

Verfasst: 02.07.2013, 00:04
von armine
Hallo Kenneth,

für deine schlichte Tabelle denkst du zu kompliziert oder dein Beispiel ist zu schlicht.

radzmars Weg ist optimal und "Avg" funktioniert auch in dynamischen Tabellen. Zum Beweis habe ich die Fußzeile verdoppelt.

Mein Vorschlag funktioniert auch, wenn man weiß, was ein Divisor ist, den auch wie beschrieben hochzählt und dann auch als solchen verwendet.

vg armine

Durchschnittsberechnung in dynamischer Tabelle

Verfasst: 02.07.2013, 09:06
von KKD
Hey ihr seid beide super. Kann man Euch anstellen? :-))

Betreffend dem Divisor: was ein Divisor im mathematischen Sinn ist, weiss ich schon, aber falls das in JavaScript etwas besonderes darstellt, habe ich davon wirklich noch nicht gehört.

Auf jeden Fall nochmals vielen Dank für die Hilfe.

vg Kenneth