Um zum Beispiel das Alter eines Kontakts anhand eines gepflegten Geburtsdatums zu erhalten, bietet SharePoint die Möglichkeit mit berechneten Spalten zu arbeiten.
Damit kann man dann zum Beispiel aus einem angegebenen Geburtsdatum und dem aktuellen Datum die Differenz, also das Alter des Kontakts ermitteln.
Da Sharepoint es nicht mag wenn man in berechneten Spalten die Felder HEUTE oder ICH verwendet, legt man zuerst eine Spalte namens ‘HEUTE’ an, die man später wieder entfernt.
Jetzt erstellt man zuerst eine neue Spalte, nennt diese zum Beispiel ‘Alter’ und nimmt als Spaltentyp ‘Berechnet’.
Um die Differenz zwischen dem Geburtsdatum und dem oben ermittelten Geburtstag im aktuellen Jahr zu ermitteln bietet sich die Funktion DATEDIF an.
=DATEDIF([Geburtsdatum];[HEUTE];”y”)
Mit Hilfe dieser Formel und dem Parameter ‘y’ ermittelt man die Differenz in Jahren, also dem Alter des Kontakts.
Um zu vermeiden das jetzt auch krumme Werte bei Kontakten ohne Geburtsdatum auftauchen, kann man die Abfrage noch weiter ausbauen z.B. durch eine Abfrage ob das Geburtsdatum größer ist als null ist.
=WENN(Geburtsdatum>0;DATEDIF(Geburtsdatum;HEUTE;”y”);0)
Falls in der Spalte ‘Alter’ noch #ZAHL oder etwas ähnliches steht hat man die temporär angelegte Spalte ‘HEUTE’ noch nicht wieder entfernt.
Quellen:
Hallo,
was muss man tun, damit in der temporären Spalte “Today” oder “HEUTE” immer das aktuelle Datum gespeichert ist?
Das Feld wird erst aktualisiert, wenn ich den Datensatz bearbeite. Kann ich das irgendwie automatisieren?
Afraid I have to tell you that this work around DOES NOT WORK in WSSv3/MOSS. It will not update, see http://blog.pentalogic.net/2008/11/truth-about-using-today-in-calculated-columns/ for details and some workarounds
Das Problem habe ich leider auch. Es ist mir Anfangs garnicht aufgefallen. Bin schon auf der Suche nach einer vernünftigen Lösung.