Häufig möchte man in SharePoint in einem Webpart die Summe über eine Spalte angezeigt bekommen.
Standardmäßig kann man hier natürlich eine Ansicht mit einer Summenzeile generieren, allerdings werden dabei die einzelnen Datensätze alle angezeigt. In manchen Fällen ist es jedoch wünschenswert, nur die Summe zu sehen. Wir zeigen Ihnen hier, wie Sie dies mit dem SharePoint Designer realisieren können.
Bitte beachten Sie die Hinweise im Artikel unten!
Voraussetzungen
Für unser Beispiel erstellen wir zuerst eine benutzerdefinierte Liste, z.B. "Umsätze". Diese enthält eine Spalte "Betrag" vom Typ "Zahl". Wir erstellen dann einige Datensätze in der neuen Liste.
Datenansicht vorbereiten
Jetzt starten wir den SharePoint Designer und verbinden uns mit der Site. Anschließend öffnen wir die gewünschte Webpartseite, z.B. die "default.aspx". Schließlich öffnen wir den Aufgabenbereich "Datenquellenbibliothek" über Menü "Aufgabenbereiche". Die weiteren Schritte nun im Detail:
- Klicken Sie im Aufgabenbereich auf die oben erzeugte Liste und wählen "Daten anzeigen" im Dropdown-Menü.
- Jetzt wird der dazugehörigt Aufgabenbereich "Datenquellendetails" angezeigt.
- Ziehen Sie jetzt per Drag&Drop die Spalte "Betrag" in eine Webpartzone auf der "default.aspx".
- Jetzt wird ein Datenansichtswebpart eingefügt, das folgendermaßen aussieht:
- Selektieren Sie dieses Webpart und klicken auf das kleine Pfeilsymbol oben rechts am Webpart (s. Abbildung).
- Klicken Sie auf das Symbol und wählen "Datenansichtseigenschaften".
- Ein Dialogfeld wird geöffnet, aktivieren Sie hier die Option "Ansichtsfußzeile anzeigen" und bestätigen mit "OK".
- Jetzt wird unterhalb der Betragszeilen eine Fußzeile mit einer Anzahl der Datensätze angezeigt.
Formel ändern und Datensätze entfernen
Nun muss zuerst die Formel geändert werden, anschließend wird die Anzeige der Einzelbeträge entfernt:
- Klicken Sie auf die angezeigte Anzahl in der Fußzeile (diese muss selektiert sein) und wählen anschließend im Menü "Datenansicht" auf "Formel bearbeiten".
- Ein neues Dialogfeld wird angezeigt, in dem Sie den XPATH-Ausdruck für die Anzahl der Beträge finden. Dieser lautet:
count(/dsQueryResponse/Rows/Row) - Bearbeiten Sie diesen Ausdruck, so dass anschließend folgendes erscheint:
sum(/dsQueryResponse/Rows/Row/@Betrag) - Verwenden Sie anstatt "@Betrag" die Spaltenbezeichnung Ihrer Liste.
- Bestätigen Sie die Änderung mit "OK".
- Jetzt können Sie noch in der Fußzeile den Text "Anzahl" z.B. durch "Gesamt" ersetzen:
- Klicken Sie nun noch auf den Gesamtbetrag (bei uns 3770) und anschließend rechts davon auf das kleine Pfeilsymbol.
- Wählen Sie im Dropdown-Menü "Formatieren als" die Option "Währung" (oder "Zahl") und definieren anschließend die gewünschte Darstellung für den Gesamtbetrag.
Jetzt werden noch die Einzelbeträge entfernt.
- Klicken Sie jetzt mit rechts auf einen der Einzelbeträge.
- Wählen Sie im Kontextmenü "Markieren/Tabelle".
- Entfernen Sie die Tabelle mit der Entf-Taste, es bleibt allein die Summe sichtbar!
- Diesen Inhalt können Sie jetzt noch nach Bedarf formatieren
Und noch ein Tipp:
Klicken Sie noch einmal auf den Gesamtbetrag, jetzt wird ein Blitz-Symbol angezeigt, hier können Sie für die Berechnung z.B. auch den Mittelwert als Formel wählen:
Was tun bei Beträgen mit Nachkommastellen
Das ganze funktioniert wunderbar, solange die Beträge in der Liste ohne Nachkommastellen vorliegen. Sobald jedoch Kommabeträge enthalten sind, erscheint im Webpart folgendes:
Das ist natürlich hässlich, die Ursache ist, dass in SharePoint die Zahlen tatsächlich mit Komma abgespeichert sind (zumindest in unserer deutschen SharePoint-Umgebung), der XPATH-Ausdruck jedoch den Dezimalpunkt verlangt. Zur Zeit haben wir dafür keine saubere Lösung, aber es gibt einen Workaround:
- Definieren Sie in der Liste eine berechnete Spalte mit folgender Formel:
=TEXT(Betrag*100;"0") - Der von der Formel zurückgegebene Datentyp ist "Zahl" mit keinen Nachkommastellen.
Warum diese Umstände? Ganz einfach – weil im Zahlenformat standardmäßig der Tausenderpunkt verwendet wird. Dies interpretiert der XPATH-Ausdruck jedoch als Dezimalpunkt und unsere Berechnung wäre wieder falsch. Durch die TEXT-Formel wird die Zahl ohne Punkt und Komma dargestellt.
Nun muss noch die Formel für das Gesamtergebnis bearbeitet werden (s.o.), in unserem Beispiel haben wir eine Spalte "B_Betrag" eingefügt und die Formel lautet:
sum(/dsQueryResponse/Rows/Row/@B_Betrag) div 100
"div" bedeutet hier Division, da das Zeichen "/" reserviert ist. Nun können Sie das Ergebnis noch nach Bedarf formatieren:
TIPP: Wenn Sie von vornherein Nachkommestellen erwarten, erstellen Sie am besten gleich die berechnete Spalte, so dass Sie die Datenansicht nicht nachträglich anpassen müssen sondern gleich korrekt erstellen können.

Hallo,
ich hab mich mal mit diesem Eintrag beschäftigt und hab diesen Summeneintrag sogar hinbekommen. Ist echt easy, wenn man weiß wie es geht. Was bei diesem Customizing allerdings nachher nicht beachtet wird ist die Tatsache, welcher Summenwert rauskommt, wenn die Quelldatensätze gefiltert werden. Die Summe bezieht sich nämlich immer auf die ganze Liste.
Das ist z.B. in meinem Fall so nicht gewollt.
Gruß
Leonid Reisenbüchler
Dazu kann eine Liste als Datenquelle kopiert werden, beim Erstellen der Kopie kann ein Filter definiert werden:
http://www.mindbusiness.de/blog/2008/03/10/datenansichten-datenquellen-in-sharepoint-vergleichen/
Hallo,
super Arbeit. Ich habe eine Frage, wenn ich jetzt zusätzlich zu der Betragsspalte noch eine andere Spalte (Gesamts_Geldvolumen = 100000) definiert habe, von der ich den Betrag noch abziehen möchte, also quasi mit der Formel:
sum(@Gesamtes_Geldvolumen)- sum(/dsQueryResponse/Rows/Row/@Betrag)
dann kommt immer NaN. Funktioniert das nicht so?
Hat sich erledigt, ich musste das erste Feld ebenfalls so einsetzen:
number(/dsQueryResponse/Rows/Row/@Gesamtes_Geldvolumen) – …