Exploiter les résultats TypeForm avec Power BI

Exploiter les résultats TypeForm avec Power BI

TypeForm est un superbe outil permettant de créer de riches formulaires.

Que ce soit pour organiser un événement ou réaliser des enquêtes RH, vous trouverez mille utilisations pertinentes.

Vous êtes convaincu ? Vous avez déjà créé un premier formulaire ? Parfait ! Les choses sérieuses commencent maintenant : comment exploiter les résultats ?

Première solution : la page résultats de TypeForm

La première solution qui s’offre à vous est bien évidemment la page résultats de TypeForm :

Très pratique dans le cadre d’un usage ponctuel, mais limité dès que l’on souhaite faire une utilisation un tant soit peu sérieuse des données.

 

Deuxième solution : l’export Excel + PowerBI

Grâce à ce bouton magique, vous allez pouvoir récupérer toutes les réponses au format Excel :

On progresse !

Maintenant il ne nous reste plus qu’à analyser tout ça sous PowerBI :

Easy !

Sauf que vous allez devoir télécharger le fichier à chaque fois que vous voulez actualiser les données ☹

On automatise tout ça ?

 

Troisième solution : Flow, SQL Azure et Power BI

 

Attention, là ça ne plaisante plus du tout, on commence à faire de la magie.

Le principe : Nous allons utiliser Flow pour recopier les données des formulaires dès que ceux-ci sont soumis.

Les données seront enregistrées dans une base SQL Azure (histoire de les archiver) et consultées sous Power BI.

En image cela donne :

 

Etape 1 : création de la base SQL Azure

Là c’est du classique :

Une fois cette base créée, nous allons y ajouter une table pour contenir les réponses :

CREATE TABLE [dbo].[ResponsesFormulaire](
       [Question] [nvarchar](500) NULL,
       [Reponse] [nvarchar](max) NULL,
       [Formulaire] [nvarchar](500) NULL,
       [IDReponse] [uniqueidentifier] NULL
)

 

Nous allons aussi ajouter une procédure stockée qui nous facilitera l’enregistrement des résultats :

CREATE PROCEDURE [dbo].[InsertReponseFormulaire]
       @formulaire varchar(500),
       @json varchar(max)
AS
BEGIN
       SET NOCOUNT ON;
       DECLARE @ID uniqueidentifier = NEWID ( );
       INSERT INTo [dbo].[ResponsesFormulaire] (Formulaire,IDReponse, Question,Reponse)
       SELECT @formulaire,@ID , [key], [value]
       FROM OPENJSON(@json);
END
GO

Attention, il y a une petite subtilité : l’emploi de la fonction OPENJSON. En effet TypeForm renvoie ses réponses sous forme de flux json :

Lien vers la documentation : https://docs.microsoft.com/en-us/sql/relational-databases/json/convert-json-data-to-rows-and-columns-with-openjson-sql-server

C’est fini pour la partie base de données.

 

Etape 2 : création du Flux Flow

C’est le plus simple :

SI tout s’est bien passé, vous devriez avoir votre table bien remplie :

 

Etape 3 : connecter Power BI

Là aussi, rien de bien compliqué : on se connecte à la base SQL Azure et le tour est joué !

 

Partager cette publication