Voici la définition officielle de Microsoft :
Avec les flux de tâches translyticaux, vous pouvez automatiser les actions de l’utilisateur final, telles que la mise à jour des enregistrements, l’ajout d’annotations ou la création de flux de travail qui déclenchent des actions dans d’autres systèmes.
Ajouter des données : ajoutez un enregistrement de données à une table de votre base de données et voyez-le se refléter dans votre rapport. Par exemple, l’ajout d’un nouvel enregistrement client.
Modifier les données : modifiez un enregistrement existant dans une table de votre base de données et voyez-le se répercuter dans votre rapport. Par exemple, la mise à jour d’un champ d’état ou d’une annotation.
Supprimer des données : supprimez un enregistrement existant d'une table de votre base de données et voyez-le supprimé de votre rapport. Par exemple, la suppression d’un enregistrement client qui n’est plus nécessaire.
Et c'est donc ici que l'on arrive à la partie « usine à gaz ». Cela signifie que Power BI pourrait devenir une sorte d'ERP où les utilisateurs pourraient directement modifier leurs données dans le rapport. (Brrrrr... rien que d'y penser, j'en ai déjà des frissons !)
Mais comment cela marche ?
J'aurais pu me contenter de suivre le tutoriel officiel de Microsoft disponible sous le lien suivant :
https://learn.microsoft.com/fr-fr/power-bi/create-reports/translytical-task-flow-tutorial
Mais que nenni ! Nous allons utiliser notre magnifique dataset relatif aux bières et voir comment nous allons pouvoir le modifier.
Avant de commencer, il faut activer la fonctionnalité "User Data Functions" dans Fabric, ce qui nécessite un accès administrateur.
Donc, deux solutions :
Soit vous êtes administrateur.
Soit vous êtes copain avec votre administrateur (par exemple, en lui offrant une bière ;-))
Donc, la première étape est de créer une user data function.
Une "user data function" (UDF) dans Microsoft Fabric est une fonction personnalisée que vous créez pour effectuer des opérations spécifiques sur vos données. Elle vous permet de réutiliser des logiques complexes et de simplifier vos requêtes en encapsulant des calculs ou des transformations.
Vous n'avez rien compris à la définition ? Ça tombe bien, moi non plus...
Pour simplifier, une user data function va vous permettre d'écrire un code (une fonction) qui peut être appelée à divers endroits, comme depuis un rapport Power BI (par exemple, pour ajouter ou mettre à jour des données dans une base de données SQL ou un fichier CSV).
Note technique : Actuellement, le point de terminaison (endpoint) du Lakehouse ne prend pas en charge toutes les fonctionnalités d'une base de données SQL. J'ai donc déplacé notre magnifique dataset dans une base de données SQL.
Voici donc le code que nous allons utiliser dans notre UDF.
import fabric.functions as fn
udf = fn.UserDataFunctions()
@udf.connection(argName="sqlDB",alias="adwSQL")
@udf.function()
# Take a product description and product model ID as input parameters and write them back to the SQL database
# Users will provide these parameters in the PowerBI report
def update_one_to_sql_db(sqlDB: fn.FabricSqlConnection, BeerDescription: str, BeerId:str) -> str:
# Error handling to ensure product description doesn't go above 200 characters
if(len(BeerDescription) > 200):
raise fn.UserThrownError("Beer Descriptions have a 200 character limit. Please shorten your description.", {"Description:": BeerDescription})
# Establish a connection to the SQL database
connection = sqlDB.connect()
cursor = connection.cursor()
# update data into the beer_data table
update_description_query = "UPDATE [dbo].[beer_data] SET [beer_description] = ? WHERE [beer_id] = ?"
cursor.execute(update_description_query, BeerDescription, BeerId)
# Commit the transaction
connection.commit()
cursor.close()
connection.close()
Et voila, je sais sur que tu risques de me dire cher lecteure, ouais, t'as juste écris une query SQL dans du pyspark, je fais ça dans Jupyter depuis des années...
Mais non, je ne te prends pas pour un jambon, nous sommes actuellement à la premiere phase: Créer la fonction
Maintenant, nous allons créer un "rapport Power BI", pour vous montrer ce qu'on va pouvoir faire avec cette fonction
Avant de pouvoir créer le rapport, il faut IMPERATIVEMENT activer deux features en preview dans Power BI Desktop
Translytical Task Flow
Text Slicer Visual
Voici donc mon chef d'oeuvre
Passons donc à la démo, je pense que nous allons revoir cette horrible définition de la biere de ma région: l'orval
Je souhaiterais rempalcer la description par cette description: (non, je ne suis pas fou, c'est mon ami copilot qui me l'a rédigé ;-) )
Chère Orval, avec ta robe ambrée et ton col de dentelle, tu promets une complexité que seule ta nature sauvage et évolutive sait offrir. Chaque gorgée est un dialogue unique, une amertume franche qui s'adoucit en une fidélité fruitée, faisant de toi bien plus qu'une bière, un véritable amour de trappiste.
Malheureusement, ma description dépassant 200 caracteres, j'ai eu droit à une petite erreur ( limitation écrite dans ma fonction, donc la fonction prend en compte ce morceau de code)
J'ai donc revu ma copie pour quelque chose de moins pédant, dont voici la description
La nouvelle fonctionnalité permettant d'écrire dans les sources de données directement depuis Power BI le positionne comme un véritable hub opérationnel. Si le potentiel est immense, sa mise en œuvre pratique appelle à la prudence.
Avantages :
Centralisation : Power BI n'est plus seulement un outil de visualisation, mais aussi d'action.
Efficacité : Les utilisateurs peuvent corriger ou enrichir les données sans quitter leur rapport.
Points de vigilance :
Licence : L'accès à cette fonctionnalité est conditionné par une licence Microsoft Fabric.
Gouvernance : Une stratégie de gouvernance des données mature est indispensable pour contrôler qui peut écrire, où et comment.
Risque de divergence des données : C'est le défi principal. L'écriture ne modifie que la destination (base de données, warehouse), pas la source d'origine (ex: fichiers plats). À terme, cela peut créer un décalage dangereux entre les données de référence et celles des rapports.
Il s'agit donc d'une évolution puissante mais exigeante. Son adoption à grande échelle semble pour l'instant peu probable, la réservant aux organisations les plus matures sur le plan de la data.

.png)






0 Commentaires