Wie kann ich in einer View alle Variablen eines Feldes zusammenrechnen?
am 16.01.2015 - 14:05 Uhr in
Ich habe einen Inhaltstypen mit zwei Feldern, einem Adressfeld (geofield) und einem weiteren Feld (Dezimalzahl).
Da die Adresse häufig identisch ist, hab ich meine View gefiltert und sie sieht wie folgt aus:
geofield:POINT (13.4371059 52.6002354) decimalnumber-field:0.69, 0.58
geofield:POINT (11.232422143221 52.565665692354) decimalnumber-field: 1.02, 1.02
....
Nun möchte ich jeweils die Werte, die in dem Dezimalfeld stehen addieren. Ich habe es schon mit Aggregations-SUM probiert. Leider fasst mir durpal dann die Werte nur zusammen und addiert sie nicht, so dass ich dann folgendes Ergebnis erhalte:
geofield:POINT (11.232422143221 52.565665692354) decimalnumber-field: 1.02
Vielen Dank!
- Anmelden oder Registrieren um Kommentare zu schreiben

Herzlich Willkommen, mit
am 16.01.2015 - 21:26 Uhr
Herzlich Willkommen,
mit Views wird das so nichts. Entweder regelst du die Addition des Wertepaares in einem Custom Module oder du änderst die Struktur im Inhaltstypen dahingehend, dass du mit zwei Dezimalfeldern D1 und D2 arbeitest. D1 und D2 kannst du mit views_calc addieren.
Vielen Dank für deine Antwort
am 17.01.2015 - 09:20 Uhr
Vielen Dank für deine Antwort :-)
Auf dieses Modul bin ich bei meiner Recherche auch gestoßen, allerdings gibt es quasi unendlich viele Dezimal-Werte.
Ganz kurz zur Struktur:
Ich habe einen Inhaltstypen "Benutzer", hier erfasse ich Vorname, Nachname, Wohnort (geofield). Dann gibt es noch einen Inhaltstypen
"Bücher". Der Benutzer kann unendlich viele Nodes vom Inhaltstypen "Bücher" anlegen. Der Inhaltstyp besteht aus zwei Feldern: Buchtitel und Preis.
Was ich eigentlich "nur" will:
Eine View mit einer Zeile pro "Benutzer" in der Vorname, Nachname, Wohnort und ein Feld mit allen Bücherpreisen addiert enthalten sind.
Die Aggregation-Funktion der Views kann ich leider nicht nehmen, da es zu einem Fehler im OpenLayers-Modul kommt (dieses Modul benötige ich zur Visualisierung der Wohnorte auf einer Karte) - dies aber nur am Rande.
Evtl. habe ich schon oben einen Denkfehler?
Vielen Dank und viele Grüße!
Baue einen eigenen View, der
am 17.01.2015 - 09:54 Uhr
Baue einen eigenen View, der mittels Aggregation nur das Aufsummieren erledigt und eine Zahl als Ergebnis liefert mit der User-ID als Kontextfilter. Diesen View gibst Du mittels [do:views_field_view] als Feld im ersten View, der die User auflistet, aus.
Guter Hinweis
am 17.01.2015 - 11:08 Uhr
Hallo wla,
sehr guter Hinweis!
Ich habe nun die View mit der Aggregation + Aufsummieren erstellt. Dazu habe ich einen Contextual filters auf "Author uid" gesetzt
und die Aggregation auf yes gestellt. Dann habe ich mein Feld "Preis" genommen und die Werte mit SUM aufsummiert. Jetzt habe ich nur noch
eine Zeile mit einem Ergebnis (addiert) - allerdings werden damit alle Preise addiert und nicht mehr Benutzer-spezifisch. Ich habe einfach noch ein Feld "author uid" hinzugefügt - nun habe ich das gewünschte Ergebnis.
Funktioniert deine Methodik nun noch? Meine View gibt ja nun zwei Felder zurück (aufsummierte Preise und author uid)?
Das Modul Views Field View habe ich ebenfalls schon installiert. Beim Erstellen der zweiten View ist mir nur aufgefallen, dass
ich zwar das Ergebnis-Feld aus View1 hinzufügen kann, ich aber doch eine Aggregation benötige, um jeden Benutzer nur einmal in der
View zu haben, oder?
Danke Dir und einen schönen Samstag :-)