Donnerstag, 9. März 2017

SharePoint Tipp: Zahlenwerte eines Lookup-Felds in einer SharePoint-Ansicht summieren


In SharePoint 2013 ist es nicht möglich, die Werte eines Lookup-Feldes in einer SharePoint-Ansicht zu summieren. Der typische Workaround für solche Fälle ist die Werte des Lookups mit Hilfe eines Workflows in ein weiteres Feld zu schreiben und diese dann zu summieren. Leider stößt man hierbei auf ein interessantes Verhalten von SharePoint, denn standardmäßig schreibt SharePoint den Wert des Lookups als Billion in das zusätzliche Zahlenfeld. Das heißt aus 4,99 wird 499000000000000,00

Als Beispielszenario sollen hier eine Produkteliste und eine Liste Bestellungen dienen. In der Produkte-Liste stehen Produktnamen (Titelspalte) mit jeweils einem Preis (Zahlen-Spalte mit Dezimalstellen). In der Liste Bestellungen wird dann per Lookup-Feld der Name eines Produktes nachgeschlagen und zusätzlich wird der Preis hierfür gezogen. Wie bereits erwähnt ist es nun nicht möglich die nachgeschlagene Spalte Produkt:Preis in der Ansicht zu summieren. Lediglich die Anzahl kann hierfür gezählt werden.

Wenn man nun versucht, mit Hilfe eines SharePoint Designer Workflows die Werte des Lookups in eine Zahlen-Spalte (welche dann summiert werden kann) im gleichen Element zu schreiben erhält man bei SharePoint 2013 mit deutschem Sprachpaket folgenden Effekt:


SharePoint schreibt hier einen Zahlenwert mit zu vielen Nullen in die zusätzliche Zahlen-Spalte Produkt-Preis.

Lösung

Die Lösung ist sehr einfach: Man schreibt nicht die Werte des Lookups in die zusätzliche Zahlenspalte der Liste Bestellungen, sondern den nachgeschlagen Wert. Hierfür erstellt man einen neuen SharePoint Designer Workflow für die Liste Bestellungen, der auf neue und oder geänderte  Elemente reagiert. Dieser beinhaltet

·        Schritt1: Aktion Workflowvariable festlegen

Variable List-ID als Ganze Zahl auf das aktuelle Element Produkt:Preis festlegen

Wichtig: Feld zurückgeben als Nachschlage-ID (als ganze Zahl)

·        Schritt 2: Feld im aktuellen Element festlegen

Produkt-Preis auf das Feld Preis aus der Liste Produkte festlegen, bei dem die ID der List_ID der Variable entspricht.


Das Ergebnis zeigt korrekt übertragene Werte die dann, wie man es erwarten würde, summiert werden können.


Unsere Berater stehen Ihnen jederzeit gerne für Ihre Fragen zu Workflows (SharePoint Designer, Visual Studio oder Nintex) zur Verfügung.

Keine Kommentare:

Kommentar veröffentlichen