Post-Migration Reporting

Nach der Pflicht kommt bekanntlich die Kür. So ist es auch bei der Migration von SharePoint.

Vor einiger Zeit hatten wir für einen Kunden Inhalte von einer bestehenden SharePoint 2007 Farm zu einer SharePoint 2013 Farm migriert – mit ShareGate. Dabei wurden diverse Listen und Sites migriert. Am Ende hatten wir 11 Migrationen mit ShareGate durchgeführt und alle Inhalten waren erfolgreich übertragen.

Nun geht es also darum die Migration ein klein wenig aufzuarbeiten und zu dokumentieren. Praktischerweise kann man sich die Migrations-Reports in ShareGate als Excel-Datei speichern. Nun habe ich also alle Informationen in 11 Excel-Dateien. Nun ist also die Frage: wie kann ich das am besten aufbereiten?

Hierzu fällt die Wahl auf eines meiner Lieblingswerkzeuge (abgesehen von Visual Studio): Excel!

Mit den neuen BI Funktionen von Excel ist es ein leichtes die Daten aufzubereiten.

sg_mig_rep

Aber ganz in der und der Reihe nach.

Zunächst einmal habe ich also die 11 Excel-Dateien aus ShareGate.

sg_mig_01

sg_mig_02

Hier fällt schon auf, dass die Daten noch ein wenig überarbeitet werden müssen. So wird das Datum hier aktuell noch als Zahl angezeigt. Das ist kein Problem, einfach die Spalte entsprechend formatieren.

Aber wie kann ich nun eine kombinierte Auswertung über alle 11 Dateien machen? Hier kommt Power Query zum Einsatz.

Zunächst einmal beginne ich damit eine einzelne Datei in Power Query einzulesen.

sg_mig_03

sg_mig_04

Nun kann ich sagen, dass die erste Zeile als Header interpretiert werden soll, und die Spalte Date vom Typ Datum/Uhrzeit ist.

sg_mig_05

Nun kann ich mir die Aufbereitung als Script im Erweiterten Editor ansehen. Hier steht nun als Quelle meine Excel-Datei drin. Das kann ich durch einen Parameter ersetze, so dass ich die Aufbereitungsschritte als Funktion in Power Query speichern kann, die als Parameter den Namen der Datei entgegen nimmt, auf die diese Schritte angewandt werden sollen.

sg_mig_06

Nun kann ich also die Abfrage schließen und erstelle eine neue Power Query Abfrage. Dieses mal öffne ich aber nicht eine einzelne Datei, sondern den Ordner in dem sich meine ganzen ShareGate-Reports befinden.

sg_mig_07

Nun habe ich also eine Liste aller Dateien. In dieser Liste kann ich nun die Spalten “Folder Path” und “Name” zusammenfassen, so dass ich den kompletten Pfad bekomme.

sg_mig_08

Anschließend kann ich noch eine benutzerdefinierte Spalte hinzufügen. Hier rufe ich meine als Funktion abgespeicherte Abfrage auf, und übergebe dieser Funktion den gerade zusammengebauten Pfad.

sg_mig_09

Als Ergebnis habe ich nun eine neue Spalte (“Custom”) vom Typ “Table”. Dabei handelt es sich um eine geschachtelte Tabelle – also jede Zeile hat nun eine Tabelle, die den Inhalt der Datei darstellt, der ja mit meine Funktion schon ein wenig aufbereitet wurde.

Eine der absolut coolsten Funktionen von Power Query ist es nun, dass ich diese geschachtelte Tabelle expandieren kann.

sg_mig_10

Wenn ich das mache, dann erhalte ich eine alle Daten aus allen Dateien. Jeder Datensatz hat dabei auch die Daten, die ich in der Liste der Dateien auch schon hatte …

sg_mig_11

Diese Daten kann ich nun aus der Power Query Abfrage in mein Excel Arbeitsblatt übernehmen. Dann noch schnell eine PowerView über die Daten gestülpt – fertig!

Natürlich hätte man das auch anders machen können. Man hätte die 11 Dateien geöffnet und die Daten per Copy & Paste in ein neues Arbeitsblatt eingefügt. Anschließend hätte man ja auch eine Liste mit allen Daten, die man mit PowerView anzeigen lassen kann.

Aber was ist, wenn dann noch 3 Dateien dazu kommen? Kein Problem: einfach die Daten ebenfalls einfügen/anfügen.

Und was ist, wenn eine der Reports nicht mit einbezogen werden soll, weil der von einer Testmigration stammt? Dann müsste man die dafür notwendigen Datensätze aus der Liste löschen.

Durch den Einsatz von Power Query sind in meiner Excel-Datei alle Schritte für die Aufbereitung der Daten gespeichert. Ich kann nun hingehen und ganz andere Reports in dem Ordner ablegen, meine Excel Datei öffnen und auf “Alle Daten aktualisieren” in Excel klicken. Dann werden alle Schritte für die Aufbereitung erneut durchgeführt. Es werden also alle Dateien aus dem Verzeichnis aufgelistet werden, der Pfad wird zusammengestellt, meine benutzerdefinierte Funktion wird ausgeführt und die geschachtelte Tabelle wird expandiert. Schließlich werden die Daten in dem Excel-Arbeitsblatt aufgrund der Power Query Abfrage aktualisiert und die Grafik in dem PowerView wird automatisch aktualisiert. Und das Ganze passiert wie von Geisterhand.

Migration (m)eines SharePoint-Blogs nach O365

Es begab sich zu der Zeit als ich meinen Blog von meiner SharePoint 2007 Mysite auf meine neue SharePoint 2013 (in Office365 gehostete) MySite migrieren wollte.

Das Vorgehen

Also schnell ShareGate geladen und loslegen. Als erstes also die Kategorien migrieren, damit die BlogPosts auf meiner neuen MySite dann auch darauf korrekt verweisen können; check!

Dann sind die Beiträge dran. Das sind schon ein paar mehr (>600) aber jetzt auch nicht so die Masse. Auch hier ist das Migrieren zunächst kein Problem. Bis ich mir dann die BlogPosts einmal angesehen habe. Dabei ist mir aufgefallen, dass HTML-Text, der von einem Pre-Tag umschlossen ist und der dazu noch Zeilenumbrüche beinhaltet nicht korrekt übernommen wird. OK, also mit den Jungs von ShareGate eine Lösung gebaut (Anmerkung: das war ein Bug in der Version 4.0 von ShareGate, der mit der Version 4.1 behoben wurde). Continue reading