Microsoft Forms, mehrere Antworten und SharePoint

Man kann in Microsoft Forms eine Multiple-Choice Frage definieren. Wie schreibe ich alle Antworten in ein SharePoint-Textfeld?

Ich kann recht einfach einen PowerAutomate Workflow definieren, der startet, wenn es in einem MS Forms Formular einen neuen Eintrag gegeben hat und der dann einen neuen Eintrag in einer SharePoint Liste erstellt.

form

Dafür brauche ich drei Aktionen:

  • "Bei Übermitteln einer neuen Antwort"
  • "Antwortdetails abrufen". Hier setzte ich die "Antwort-ID" auf die "Antwort-ID" aus dem vorherigen Schritt.
  • "Element erstellen". Hier erstelle ich ein neues Element in einer SharePoint Liste und trage die Daten aus dem vorherigen Schritt ein.

simpleflow

So weit so gut, aber wenn ich das Feld "Multiquestion" eine Mehrfachauswahl ist, dann sieht das Ergebnis so aus.

SharePointResults

Der Wert im Mehrfachauswahl-Feld wird nämlich im JSON-Format zurückgegeben. Den müssen wir parsen und umformatieren.

["Option 1","Option 2","Option 4"]

Dazu fügen wir zunächst eine "JSON analysieren" Aktion mit ein. In das Feld "Inhalt" fügen wir den Multichoice-Wert aus dem Formular und das folgende Schema in das "Schema"-Feld ein.

{
    "type": "array",
    "items": {
        "type": "string"
    }
}

JSONAnalysieren

Damit haben wir dann alle gegebenen Antworten aus dem JSON-Format ausgelesen. Sie stehen uns nun in einem Array zur Verfügung. Dieses Array wollen wir aber umformatieren und alle Elemente in einem Textfeld als eigene Zeilen darstellen.

Dazu benutzen wir nun eine "Verknüpfung" / "Beitreten" Aktion (im Englischen "Join") und fügen in das "Von"-Feld den "Text" aus der vorherigen Aktion ein.

In das "Verknüpfen mit" Feld können wir theoretisch nun jedes Zeichen einfügen. Alle Werte der Mehrfachauswahl werden mit diesem Zeichen als Trennzeichen zusammengefügt.

Wir wollen aber einen Zeilenumbruch haben. Da das ein Sonderzeichen ist, müssen wir den Zeilenumbruch mittels der folgenden Formel darstellen.

decodeUriComponent('%0A')

Damit sieht die Aktion dann so aus

join

Die Ausgabe dieses Feldes fügen wir nun in der "Element erstellen" Aktion in das Textfeld für "MyChoiceField" mit ein. Das ergibt dann insgesamt diesen Flow

completeFlow

Wenn nun ein neuer Eintrag in das Formular geschieht, dann wird in der SharePoint Liste der Wert entsprechend formatiert eingetragen.

formatted

Hat dir das gefallen? Vielleicht magst du auch...

Die versteckte SharePoint Benutzerinformationsliste

In einer versteckten Liste speichert SharePoint Informationen über Benutzer

SharePoint Json List Formatting und die nicht existierende WEEKDAY Funktion

Es gibt keine Funktion beim JSON List Formatting, mit der sich der Wochentag berechnen lässt. Man kann ihn aber selbst berechnen.

Quick Tip: Eine Communication Site als Subsite anlegen

Man kann über die UI keine Communication Site als Subsite anlegen. Per Powershell geht es aber problemlos.