Aus den Ideen für unser eigenes Intranet ergab sich folgende Anforderung (vereinfacht dargestellt):
- Eine Liste enthält Einnahmen. Dort gibt es eine Spalte, ob der Kunde schon bezahlt hat. Nur aus den schon bezahlten Posten soll eine Summe gebildet werden.
- Eine zweite Liste enthält Ausgaben. Hier soll die Summe der Ausgaben über eine bestimmte Kategorie gebildet werden.
- Der Anwender im Management-Cockpit soll auf der Webpartseite nur die Summen sehen, nicht die einzelnen Einnahmen/Ausgaben.
- Weiterhin soll die Differenz zwischen Einnahmen und Ausgaben berechnet und angezeigt werden, möglichst mit einer bedingten Formatierung.
Wie die einzelnen Summen mit SharePoint Designer und Datenansichten dargestellt werden können, haben wir im vorigen Artikel dargestellt. Wie jedoch kann eine Differenz zwischen den Summen zweier Spalten aus unterschiedlichen Listen ermittelt werden?
Nach einigem Probieren haben wir die Lösung gefunden, die wir Ihnen nicht vorenthalten möchten.
Voraussetzungen für unser Beispiel
- Eine Liste "Einnahmen" mit einer Spalte "Bezahlt" (ja/nein) und dem Betrag:
- Eine Liste "Ausgaben" mit einer Kategorienspalte (Auswahl) und dem Betrag:
Aus den "Einnahmen" sollen nur die bezahlten Beträge, aus den Ausgaben nur die mit der Kategorie "Ausgabe" summiert und davon die Differenz gebildet werden.
Schritt 1: Kopien der Datenquellen erstellen
Wir öffnen den SharePoint Designer, dort die gewünschte Website sowie die Webpartseite, die die Auswertung enthalten soll. Dann öffnen Sie den Aufgabenbereich Datenquellenbibliothek.
Klicken Sie dort auf die Datenquelle "Einnahmen" und klicken auf Kopieren und Ändern im Dropdown-Menü:
Ein Dialogfeld Datenquelleneigenschaften wird angezeigt. Klicken Sie dort auf die Schaltfläche Filter und definieren die Filterkriterien, für unser Beispiel "Bezahlt gleich Ja":
Bestätigen Sie die Eingabe mit "OK". Klicken Sie nun noch in den Datenquelleneigenschaften auf den Reiter "Allgemein" und vergeben einen Namen für die neue Datenquelle, z.B. EinnahmenBezahlt. Bestätigen Sie die Einstellungen mit "OK".
Nun gehen Sie mit der zweiten Datenquelle "Ausgaben" entsprechend vor, definieren Sie dort als Filter "Kategorie gleich Ausgabe".
Für Ihre Anwendungszwecke können Sie hier natürlich weitere, auch komplexere Filterkriterien definieren. Außerdem ist es bei großen Datenmengen sinnvoll, über die Schaltfläche Felder nur die Felder auszuwählen, die Sie später benötigen.
Schritt 2: Verknüpfte Datenquelle erstellen
KLicken Sie in der Datenquellenbibliothek unter Verknüpfte Quellen auf Neue verknüpfte Quelle erstellen. Klicken Sie im Dialogfeld Datenquelleneigenschaften unter Quelle auf die Schaltfläche Verknüpfte Datenquelle konfigurieren. Wählen Sie dort die zwei oben neu erstellten Datenquellen und fügen diese den Ausgewählten Datenquellen hinzu:
Klicken Sie jetzt auf Weiter und wählen die Option Die Inhalte aus den Datenquellen zusammenführen und klicken abschließend auf Fertig stellen. Wählen Sie jetzt noch den Reiter Allgemein in den Datenquelleneigenschaften und definieren einen Namen, z.B."EinnahmenAusgaben" und klicken abschließend auf "OK".
Schritt 3: Webpart aus der neuen verknüpften Quelle einfügen
Klicken Sie jetzt in der Datenquellenbibliothek auf die neue verknüpfte Datenquelle und wählen Daten anzeigen im Dropdown-Menü:
(Die folgenden Schritte sind nur eine Hilfskonstruktion, um zum Ergebnis zu kommen)
Jetzt wird der Aufgabenbereich Datenquellendetails dazu angezeigt. Selektieren Sie dort die Spalten BetragEinnahmen und BetragAusgaben und ziehen die Selektion in die gewünschte Webpartzone. Mit unseren wenigen Beispieldatensätzen sieht das Ergebnis so aus:
Klicken Sie jetzt oben rechts am Webpart auf den kleinen Pfeil und wählen dort Datenansichtseigenschaften. Aktivieren Sie dort unter Allgemein die Option Ansichtsfußzeile anzeigen. Wählen Sie jetzt den Reiter Seitenverwaltung und aktivieren die Einstellung Alle Einträge anzeigen. Bestätigen Sie das Dialogfeld mit OK.
Klicken Sie nun noch mit rechts in die Tabelle z.B. in eine leere Zelle und wählen Markieren/Tabelle im Kontextmenü, betätigen Sie anschließend Entf, dann bleibt nur noch die Ansichtsfußzeile übrig:
Jetzt können Sie noch den Text "Anzahl" durch "Differenz Einnahmen/Ausgaben" ersetzen.
Schritt 4: Differenz ermitteln
Im Moment wird die Anzahl der Datensätze angezeigt, das macht natürlich noch keinen Sinn. Selektieren Sie daher jetzt die Zahl (bei uns die 5) und wählen anschließend im Menü Datenansicht den Menüpunkt Formel bearbeiten. In unserem Beispiel steht dort folgender XPATH-Ausdruck:
count(/dsQueryResponse/Rows/Row)
Ersetzen Sie diesen durch folgenden Ausdruck:
sum(/dsQueryResponse/Rows/Row/@BetragEinnahmen) – sum(/dsQueryResponse/Rows/Row/@BetragAusgaben
Hier wird also jeweils die Summe über eine Spalte gebildet und davon die Differenz ermittelt. Ersetzen Sie in der Praxis die Spaltenbezeichnungen einfach durch Ihre Bezeichnungen.Abschließend können Sie das Ergebnis durch Anklicken des kleinen Pfeils noch als Währung (oder wie gewünscht) formatieren:
Schritt 5: Bedingte Formatierung
Nun zum Abschluss noch das I-Tüpfelchen, die Zelle soll grün erscheinen bei positiven Beträgen (Einnahmen > Ausgaben) und rot bei negativen Beträgen. (Sie können in der Praxis natürlich andere Elemente nach Ihren Wünschen formatieren).
Klicken Sie dazu im Webpart auf die Markierung der Zelle "td", so dass diese selektiert ist:
Öffnen Sie jetzt Aufgabenbereich Bedingte Formatierung und klicken dort auf Erstellen. Im DropDown-Menü wählen Sie Formatierung übernehmen. Da wir mit einer verknüpften Datenquelle arbeiten, können wir die Kriterien nicht direkt wählen sondern klicken auf Erweitert. Geben Sie dort den XPATH-Ausdruck von oben ein, sowie das Vergleichskriterium, in unserem Beispiel "> 0":
Bestätigen Sie mit OK und nochmal mit OK. Jetzt erscheint das Dialogfeld "Formatvorlage ändern", wir wollen bei Werten größer Null eine grüne Hintergrundfarbe definieren. Wählen Sie daher links Hintergrund und dann grün als "background-color":
Bestätigen Sie die Änderungen mit OK.
Wiederholen Sie jetzt die Schritte für Werte kleiner/gleich Null und wählen eine rote Hintergrundfarbe. Der Aufgabenbereich Bedingte Formatierung sollte nun in etwa so aussehen:
Und das war’s, nun können Sie sich über das Ergebnis freuen:
Nun ja, jetzt schnell noch eine neue Zahlung, und dann sind Sie im grünen Bereich!

The Microsoft Office SharePoint Designer 2007 Training (Portal Edition) leads the learner step-by-step through SharePoint Designer features using easy to understand videos. Built with the SharePoint platform integration in mind and engineered to work efficiently with Microsoft Windows SharePoint Services and Microsoft Office SharePoint Server 2007.