SharePoint Calculated Fields – Wissenswertes über Formulas

Wer wie ich in einem eigenen Feature berechnete Spalten definieren muss, wird sicherlich auf ähnliche Probleme stoßen. Im Gegensatz zu Formeln, die man über die Oberfläche eingeben kann, befindet man sich bei Spaltendefinitionen innerhalb von XML, sodass Sonderzeichen immer ein leidiges Thema sind. Hier zwei Beispiele:

   1: <Field ID="{FC13F3E2-ED5A-41B6-99A7-FEA6A2605D9E}"

   2:    Name="Heco_ITAM_MachineGroup"

   3:    StaticName="Heco_ITAM_MachineGroup"

   4:    DisplayName="Machine Group"

   5:    Type="Calculated"

   6:    ShowInNewForm="TRUE"

   7:    ShowInEditForm="TRUE"

   8:    Group=" heco ITAM"

   9:    ReadOnly="TRUE"

  10:    Indexed="TRUE"

  11:    Hidden="FALSE"

  12:    Description="Dient zum Gruppieren von zusammengebundener Soft- und Hardware"

  13:    ResultType="Text"

  14:    SourceID="http://schemas.microsoft.com/sharepoint/v3" >

  15:   <FieldRefs>

  16:     <FieldRef Name="Heco_ITAM_AssetNo"/>

  17:     <FieldRef Name="Heco_ITAM_MachineRefId"/>

  18:   </FieldRefs>

  19:   <Formula>=IF(Heco_ITAM_MachineRefId=&quot;&quot;,Heco_ITAM_AssetNo,
Heco_ITAM_MachineRefId)</Formula>

  20: </Field>


  
  1: <Field ID="{9379E5FF-0DDA-4772-91AB-61CAFB9F88E9}"

   2:    Name="Heco_ITAM_OperatingSystem"

   3:    StaticName="Heco_ITAM_OperatingSystem"

   4:    DisplayName="Operating System"

   5:    Type="Calculated"

   6:    ShowInNewForm="TRUE"

   7:    ShowInEditForm="TRUE"

   8:    Group=" heco ITAM"

   9:    ReadOnly="TRUE"

  10:    Indexed="TRUE"

  11:    Description="Dient zum Gruppieren von zusammengebundener Soft- und Hardware"

  12:    ResultType="Text"

  13:    SourceID="http://schemas.microsoft.com/sharepoint/v3" >

  14:   <FieldRefs>

  15:     <FieldRef Name="Heco_ITAM_WindowsVersion"/>

  16:     <FieldRef Name="Heco_ITAM_Architecture"/>

  17:     <FieldRef Name="Heco_ITAM_ServicePack"/>

  18:   </FieldRefs>

  19:   <Formula>=Heco_ITAM_WindowsVersion &amp;&quot; &quot; &amp;
Heco_ITAM_ServicePack &amp;&quot; &quot;&amp; Heco_ITAM_Architecture</Formula>

  20: </Field>

Auf Folgendes sollte man achten:

  • Die FieldRefs benötigen lediglich den Spaltennamen, auf den verweisen wird. Die GUID muss nicht (und darf nicht?) hinterlegt werden
  • Bei den Formeln werden keine Klammern verwendet
  • Um Hochkommata und kaufmännische & abzubilden, müssen die entsprechenden HTML Entities verwendet werden, d.h. &quot; und &amp;. Diese benötigt man z.B. zum Zusammenfügen der Zeichenketten oder zum Prüfen von leeren Eingaben. Eine Tabelle findet ihr hier.
  • Statt Semikolons müssen Kommas verwendet werden, um Funktionsparameter bzw. um Funktionen zu trennen

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: