Umfrageantworten aus Google Formulare umwandeln und in BigQuery laden

1. Einführung

Es gibt viele Gründe, Umfragen durchzuführen: Kundenzufriedenheit bewerten, Marktforschung betreiben, ein Produkt oder eine Dienstleistung verbessern oder das Mitarbeiter-Engagement bewerten. Wenn Sie jedoch schon einmal mit Umfragedaten gearbeitet haben, wissen Sie wahrscheinlich, dass das Standardformat schwierig zu handhaben ist. In diesem Leitfaden erstellen wir eine automatisierte Pipeline, mit der Google Forms-Ergebnisse erfasst, die Daten mit Cloud Dataprep für die Analyse vorbereitet und in BigQuery geladen werden. So kann Ihr Team mit Tools wie Looker oder Data Studio visuelle Analysen durchführen.

Umfang

In diesem Codelab verwenden Sie Dataprep, um Antworten aus unserer Beispielumfrage in Google Formulare in ein Format zu transformieren, das für die Datenanalyse nützlich ist. Sie übertragen die transformierten Daten in BigQuery, wo Sie mit SQL detailliertere Fragen stellen und sie mit anderen Datasets für leistungsstärkere Analysen zusammenführen können. Anschließend können Sie vorgefertigte Dashboards aufrufen oder Ihr eigenes Business-Intelligence-Tool mit BigQuery verbinden, um neue Berichte zu erstellen.

Lerninhalte

  • Umfragedaten mit Dataprep transformieren
  • Umfragedaten in BigQuery übertragen
  • Mehr Informationen aus Umfragedaten gewinnen

Voraussetzungen

  • Ein Google Cloud-Projekt mit aktivierter Abrechnung, BigQuery und Dataprep
  • Grundkenntnisse zu Dataprep sind hilfreich, aber nicht zwingend erforderlich.
  • Grundkenntnisse in BigQuery und SQL sind hilfreich, aber nicht zwingend erforderlich.

2. Google-Formularantworten verwalten

Wir beginnen damit, uns die Antworten auf unsere Beispielumfrage in Google Formulare genauer anzusehen.

f3d25efd2cc923f5.png

Um die Umfrageergebnisse zu exportieren, klicken Sie auf dem Tab „Antworten“ auf das Google Sheets-Symbol und erstellen Sie eine neue Tabelle oder laden Sie die Ergebnisse in eine vorhandene Tabelle. Google Formulare fügt der Tabelle weiterhin Antworten hinzu, wenn Teilnehmer ihre Antworten senden, bis Sie die Schaltfläche „Antworten annehmen“ deaktivieren.

d499e5a4dccdf5fd.png4939332a5d8f9f19.png

Sehen wir uns nun die einzelnen Antworttypen an und wie sie in der Google-Tabellen-Datei dargestellt werden.

3. Umfrageantworten transformieren

Umfragefragen können in vier Gruppen unterteilt werden, die ein bestimmtes Exportformat haben. Je nach Art der Frage müssen Sie die Daten auf bestimmte Weise umstrukturieren. Hier sehen wir uns die einzelnen Gruppen und die Transformationen an, die wir anwenden müssen.

Fragen mit Einzelauswahl: Kurzantwort, Absatz, Drop-down, lineare Skala usw.

  • Fragenname: Spaltenname
  • Antwort: Zellwert
  • Transformationsanforderungen: Es ist keine Transformation erforderlich. Die Antwort wird unverändert geladen.

3eeedc50b0fd54fd.png

Multiple-Choice-Fragen: Multiple Choice, Kästchen

  • Fragenname: Spaltenname
  • Antwort: Liste der Werte mit Semikolon als Trennzeichen (z.B. „Antwort 1; Antwort 4; Antwort 6“)
  • Transformationsanforderungen: Die Liste der Werte muss extrahiert und umgestellt werden, sodass jede Antwort eine neue Zeile bildet.

cab8a38a96a13ce4.png

Rasterfragen mit Mehrfachauswahl

Hier ist ein Beispiel für eine Multiple-Choice-Frage. Aus jeder Zeile muss ein einzelner Wert ausgewählt werden.

c6ea3d47d4dd5e78.png

  • Fragenname: Jede einzelne Frage wird zu einem Spaltennamen mit dem Format „Frage [Option]“.
  • Antwort: Jede einzelne Antwort im Raster wird zu einer Spalte mit einem eindeutigen Wert.
  • Transformationsanforderungen: Jede Frage/Antwort muss zu einer neuen Zeile in der Tabelle werden und in zwei Spalten aufgeteilt werden. Eine Spalte mit der Frageoption und die andere Spalte mit der Antwort.

9223d0271516c58d.png

Fragen vom Typ „Kästchenraster“

Hier sehen Sie ein Beispiel für ein Kästchenraster. In jeder Zeile kann kein bis mehrere Werte ausgewählt werden.

4e3189b8cc2d4a8b.png

  • Fragenname: Jede einzelne Frage wird zu einem Spaltennamen in diesem Format: „Frage [Option]“.
  • Antwort: Jede einzelne Antwort im Raster wird zu einer Spalte mit einer Liste von durch Semikolon getrennten Werten.
  • Anforderungen an die Transformation: Bei diesen Fragetypen werden die Kategorien „Kästchen“ und „Multiple-Choice-Raster“ kombiniert. Sie müssen in dieser Reihenfolge aufgelöst werden.

Zuerst muss die Liste der Werte jeder Antwort extrahiert und umgestellt werden, sodass jede Antwort zu einer neuen Zeile für die jeweilige Frage wird.

Zweitens: Jede einzelne Antwort muss zu einer neuen Zeile in der Tabelle werden und in zwei Spalten aufgeteilt werden. Eine Spalte mit der Frageoption und die andere Spalte mit der Antwort.

3c3c2bd098e03003.png

Als Nächstes zeigen wir, wie diese Transformationen mit Cloud Dataprep verarbeitet werden.

4. Cloud Dataprep-Ablauf erstellen

„Google Forms Analytics Design Pattern“ in Cloud Dataprep importieren

Laden Sie das Flow-Paket Google Forms Analytics Design Pattern herunter, ohne es zu entzippen. Klicken Sie in der Cloud Dataprep-Anwendung in der linken Navigationsleiste auf das Symbol „Abläufe“. Wählen Sie dann auf der Seite „Flows“ (Abläufe) im Kontextmenü die Option „Import“ (Importieren) aus.

ba7c0cb0eec398df.png

Nachdem Sie den Flow importiert haben, wählen Sie ihn aus, um ihn zu bearbeiten. Ihr Bildschirm sollte so aussehen:

44978861eb34ec71.png

Google Sheets-Tabelle mit Umfrageergebnissen verknüpfen

Auf der linken Seite des Ablaufs muss die Datenquelle wieder mit einer Google-Tabelle verbunden werden, die die Google-Formulare-Ergebnisse enthält. Klicken Sie mit der rechten Maustaste auf das Objekt für Google-Tabellen-Datasets und wählen Sie „Ersetzen“ aus.

55c16f0c04366f0c.png

Klicken Sie dann unten im Modal auf den Link „Datasets importieren“. Klicken Sie auf das Stiftsymbol „Pfad bearbeiten“.

8afeef260c96277f.png

Ersetzen Sie den aktuellen Wert durch diesen Link, der auf eine Google-Tabelle mit einigen Google-Formular-Ergebnissen verweist. Sie können unser Beispiel oder Ihre eigene Kopie verwenden: https://docs.google.com/spreadsheets/d/1DgIlvlLceFDqWEJs91F8rt1B-X0PJGLY6shkKGBPWpk/edit?usp=sharing

Klicken Sie auf „Go“ (Los) und dann rechts unten auf „Import & Add to Flow“ (Importieren und zu Ablauf hinzufügen). Klicken Sie dann unten rechts im Modal auf die Schaltfläche „Ersetzen“.

BigQuery-Tabellen verbinden

Auf der rechten Seite des Ablaufs müssen Sie die Ausgaben mit Ihrer eigenen BigQuery-Instanz verbinden. Klicken Sie für jede Ausgabe auf das Symbol und bearbeiten Sie dann die Eigenschaften wie unten beschrieben.

Bearbeiten Sie zuerst die manuellen Ziele.

a3fc2cb80153ec25.png

Klicken Sie auf dem folgenden Bildschirm „Veröffentlichungseinstellungen“ auf die Schaltfläche „Bearbeiten“.

85791e6162a370de.png

Wenn Sie den Bildschirm „Publishing Action“ (Veröffentlichungsaktion) sehen, müssen Sie die Verbindungseinstellungen ändern. Klicken Sie dazu auf die BigQuery-Verbindung und bearbeiten Sie ihre Eigenschaften.

1f3e4887baaeaffd.png

Wählen Sie das BigQuery-Dataset aus, in das die Google-Formulare-Ergebnisse geladen werden sollen. Sie können „default“ auswählen, wenn Sie noch kein BigQuery-Dataset erstellt haben.

f4eaa05ecf9de162.png

Nachdem Sie die manuellen Ziele bearbeitet haben, gehen Sie für die Ausgabe der geplanten Ziele genauso vor.

46edea1b8ca63270.png

Wiederholen Sie die Schritte für jede Ausgabe. Insgesamt müssen Sie 8 Ziele bearbeiten.

5. Cloud Dataprep-Flows

Die grundlegende Idee des Ablaufs „Google Forms Analytics Design Pattern“ besteht darin, die Transformationen für die Umfrageantworten wie oben beschrieben auszuführen. Dazu wird jede Fragekategorie in ein bestimmtes Cloud Dataprep-Rezept für die Datentransformation unterteilt.

In diesem Ablauf werden die Fragen zur Vereinfachung in vier Tabellen unterteilt, die den vier Fragekategorien entsprechen.

afa421849b1bd398.png

Wir empfehlen, sich die einzelnen Rezepte nacheinander anzusehen, beginnend mit „Clean Headers“ (Überschriften bereinigen), dann „SingleChoiceSELECT-Questions“ (SingleChoiceSELECT-Fragen) und dann die anderen Rezepte.

Alle Schemas sind kommentiert, um die verschiedenen Transformationsschritte zu erläutern. Wenn Sie sich in einem Rezept befinden, können Sie einen Schritt bearbeiten und sich den Zustand einer bestimmten Spalte vor und nach dem Schritt ansehen.

449da06d96cd520e.png4ac6e14f578d0707.png

6. Cloud Dataprep-Ablauf ausführen

Nachdem Sie die Quelle und die Ziele richtig konfiguriert haben, können Sie den Flow ausführen, um die Antworten zu transformieren und in BigQuery zu laden. Wählen Sie die einzelnen Ausgaben aus und klicken Sie auf die Schaltfläche „Ausführen“. Wenn die angegebene BigQuery-Tabelle vorhanden ist, werden neue Zeilen angehängt. Andernfalls wird eine neue Tabelle erstellt.

47cf50f6d17a5b1e.png

Klicken Sie im linken Bereich auf das Symbol „Jobverlauf“, um die Jobs zu überwachen. Es sollte einige Minuten dauern, bis die BigQuery-Tabellen geladen sind.

afc79eeb27202fb4.png

Wenn alle Jobs abgeschlossen sind, werden die Umfrageergebnisse in BigQuery in einem bereinigten, strukturierten und normalisierten Format geladen, das für die Analyse bereit ist.

7. Umfragedaten in BigQuery analysieren

In der Google Console für BigQuery sollten Sie die Details der einzelnen neuen Tabellen sehen können.

df370873572511ac.png

Mit den Umfragedaten in BigQuery können Sie ganz einfach umfassendere Fragen stellen, um die Umfrageantworten besser zu verstehen. Angenommen, Sie möchten herausfinden, welche Programmiersprache am häufigsten von Personen mit unterschiedlichen Berufsbezeichnungen verwendet wird. Dann können Sie eine Abfrage wie diese schreiben:

SELECT
   programming_answers.Language  AS programming_answers_language,
   project_answers.Title  AS project_answers_title,
   AVG((case when programming_answers.Level='None' then 0 
when programming_answers.Level='beginner' then 1
when programming_answers.Level='competent' then 2 
when programming_answers.Level='proficient' then 3
when programming_answers.Level='expert' then 4 
else null end) ) AS programming_answers_average_level_value
FROM `my-project.DesignPattern.A000111_ProjectAnswers` AS project_answers
INNER JOIN `my-project.A000111_ProgrammingAnswers` AS programming_answers
ON programming_answers.RESPONSE_ID = project_answers.RESPONSE_ID
GROUP BY 1,2
ORDER BY 3 DESC

Um Ihre Analysen noch aussagekräftiger zu machen, können Sie die Umfrageantworten mit CRM-Daten zusammenführen. So lässt sich feststellen, ob die Teilnehmer Konten zugeordnet werden können, die bereits in Ihrem Data Warehouse enthalten sind. So können Sie fundiertere Entscheidungen zum Kundensupport oder zum Targeting von Nutzern für neue Produkte treffen.

Hier sehen Sie, wie Sie die Umfragedaten anhand der Domain des Antwortenden und der Website des Kontos mit einer Kontotabelle zusammenführen können. Sie können sich jetzt die Verteilung der Antworten nach Kontotyp ansehen. So lässt sich nachvollziehen, wie viele Antworten von Nutzern mit bestehenden Kundenkonten stammen.

SELECT
   account.TYPE  AS account_type,
   COUNT(DISTINCT project_answers.Domainname) AS project_answers_count_domains
FROM `my-project.A000111_ProjectAnswers` AS project_answers
LEFT JOIN `my-project.testing.account` AS account 
ON project_answers.Domainname=account.website
GROUP BY 1

8. Visuelle Analysen durchführen

Nachdem Ihre Umfragedaten in einem Data Warehouse zentralisiert wurden, können Sie sie ganz einfach mit einem Business-Intelligence-Tool analysieren. Wir haben einige Beispielberichte in Data Studio und Looker erstellt.

Looker

Wenn Sie bereits eine Looker-Instanz haben, können Sie mit LookML in diesem Ordner beginnen, die Beispielumfrage- und CRM-Daten für dieses Muster zu analysieren. Erstellen Sie einfach ein neues Looker-Projekt, fügen Sie das LookML hinzu und ersetzen Sie die Verbindungs- und Tabellennamen in der Datei, damit sie Ihrer BigQuery-Konfiguration entsprechen. Wenn Sie keine Looker-Instanz haben, aber mehr erfahren möchten, können Sie hier eine Demo vereinbaren.

129db05d6f85f484.png

Data Studio

Alternativ können Sie einen Bericht in Data Studio erstellen, indem Sie auf den Rahmen mit dem Google-Kreuz „Leerer Bericht“ klicken und eine Verbindung zu BigQuery herstellen. Folgen Sie der Anleitung in Data Studio. Hier finden Sie eine Kurzanleitung und eine Einführung in die wichtigsten Funktionen von Data Studio. Hier finden Sie auch unsere vorgefertigten Data Studio-Dashboards.

5e744869e3fe3f8f.png

9. Bereinigen

Am einfachsten können Sie die Abrechnung deaktivieren, wenn Sie das Cloud-Projekt löschen, das Sie für die Anleitung erstellt haben. Alternativ können Sie die einzelnen Ressourcen löschen.

  1. Wechseln Sie in der Cloud Console zu „Ressourcen verwalten“.
  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Herunterfahren, um das Projekt zu löschen.