La génération de rapports sous différents formats (Excel, PDF, etc.) est possible via le logiciel de data visualisation PowerBI, de manière individuelle. Mais si vous utilisez régulièrement cet outil, vous aurez remarqué que la diffusion de ces rapports à grande échelle est plus difficilement applicable. Elle est disponible uniquement sur la capacité Premium, à un coût prohibitif par rapport au service apporté.

Mais il existe une version intermédiaire qui s’appelle « Power BI Embedded ».

Automatiser vos rapports PowerBI avec « Power BI Embedded »

Power BI, le logiciel de datavisualisation de Microsoft Office permet d’exporter un rapport en PDF. En revanche, est-il possible d’appliquer un filtre particulier sur ce même rapport ? Est-il possible de générer automatiquement autant de rapports que le filtre contient de valeurs ? La réponse est : oui et elle s’appelle Power BI Embedded.

Power BI Embedded est un service payant de Power BI dont le coût est fixé en fonction de la mémoire vive du serveur choisi, mais aussi à l’usage, c’est à dire à l’heure consommée (plus d’infos sur la facturation : https://azure.microsoft.com/en-us/pricing/details/power-bi-embedded/).

L’ensemble des appels API proposés par ce service permet un bon nombre d’actions dont la génération automatique d’exports de rapports. Il permet également d’exporter des pages ou des graphiques extraits de ces rapports.

Pour ce faire, il vous suffit seulement de 4 appels API :

1.       Le premier appel consiste à récupérer votre « access_token » afin de pouvoir vous authentifier dans tous les appels suivants. Pour cela, plusieurs paramètres seront nécessaires comme mentionnés dans le schéma ci-dessous.

2.       Le deuxième appel sert à envoyer votre rapport vers l’API en précisant votre format d’export avec éventuellement les pages que vous voulez exporter, voire les filtres à appliquer. Ceci se fait sous le format JSON dans le body de l’appel. Le message de retour vous fournira l’id du rapport dans l’API que vous allez utiliser dans la suite de l’opération.

Exemple de body JSON :{ \ »format\ »: \ »pdf\ », \ »paginatedReportConfiguration\ »: \ »\ », \ »powerBIReportConfiguration\ »:         {            \ »pages\ » : [{\ »pageName\ »:\ » » + nom_de_la_page+ « \ »}],\ »reportLevelFilters\ » : [{\ »filter\ »:\ » » + Table/champ eq valeur_souhaitée « ‘\ »}]        }}

3.       La troisième étape est l’appel en boucle du service afin de connaître, à travers le message de retour, le statut de l’export. Tant que le « status » est égal à « Running » nous continuons de faire l’appel jusqu’à ce que le « status » se convertisse en « Succeeded ».

4.       La quatrième et dernière étape consiste simplement à télécharger le fichier généré dans le format souhaité.

appels api

Et le tour est joué !

Cette opération permet de gagner un temps considérable dans la génération et la diffusion de rapports quels que soient les indicateurs que vous avez choisis de suivre avec Power BI.

Vision du même processus sous Talend :

Le rôle de Talend dans l’export automatisé de rapports avec Power BI

Pour automatiser l’exécution de cette suite d’appels, nous conseillons d’utiliser l’ETL Talend (voir capture ci-dessous). Pour parfaire ce traitement, nous allumons et éteignons PowerBI Embedded par API. De cette façon, si l’export mensuel en masse dure 5h, seules 5h seront facturées (soit quelques euros).

Voici la capture du job qui nous permet d’allumer/éteindre ce service :

Le logiciel nous permet enfin d’itérer le processus avec un filtre particulier.

Si par exemple, votre rapport concerne 100 magasins et que vous souhaitez générer un PDF par magasin, il suffit de faire votre requête et d’itérer directement l’export qui s’exécutera donc 100 fois (autant de fois par magasin).