Fermer

décembre 23, 2021

Power Query – Intro – Perficient Blogs


Contexte

À l'ère du 21e siècle, les données sont l'actif le plus précieux et le plus critique de toute entreprise. Pour convertir ces données en connaissances, des processus analytiques doivent être appliqués aux données. Chaque niveau de gestion nécessite une analyse des données, mais son contexte est différent pour tous. Auparavant, l'analyse des données était principalement effectuée par l'ERP de l'entreprise lui-même à l'aide de langages de programmation et de requêtes SQL. Mais cette approche nécessite des connaissances techniques. Ainsi, cela a créé une demande pour un langage de script moins technique pour l'analyse des données, qui est facile à apprendre pour les personnes sans formation technique & concentrez-vous davantage sur la transformation des données pour obtenir des résultats rapides.

Idéologie de Power Query

Power Query est la réponse de Microsoft à la demande ci-dessus de l'industrie. Le cœur de Power Query est Mashup Engine qui a la capacité d'ETL (Extract -> Transform -> Load). Le moteur de mashup a son propre script appelé script M Language. Il s'agit d'un outil basé sur une interface graphique avec la possibilité de générer automatiquement des scripts pour la transformation. La majorité de la transformation peut être effectuée via la barre d'outils disponible. Une poignée de scénarios nécessite de peaufiner manuellement le script M via sa fenêtre d'éditeur. propriété exclusive de leurs icônes de produits respectives utilisées dans l'image 2) Crédit d'icône Open-Source icons8.com

Power Query prend en charge l'extraction de données à partir d'un grand nombre de sources (environ 75+). À l'heure actuelle, il existe une poignée de solutions ETL, qui prennent en charge l'interrogation de données à partir de tant de sources de données. Ainsi, certaines des sources populaires classées logiquement sont les suivantes

  • Base de données (comme SQL Server, MySQL, PostgreSQL, Oracle Server, IBM DB2, etc.)
  • Fichiers (Excel, CSV, PDF, JSON, XML, etc.)[19659011]ERP/CRM (Salesforce, Dynamics 365, Quickbooks, Zoho, etc.)
  • Big Data (comme Azure Bricks, Parquet, Apache Spark, Hadoop, etc)
  • Scripts externes (Python, script R)
  • Médias sociaux et flux en ligne (ventes liées, Google Analytics, etc.)
  • Divers (Web, ODBC, Sharepoint, OData, etc.)

Sources de données Power Query

Transform

La transformation ou la mise en forme des données est la tâche cruciale effectuée par le moteur M. La bibliothèque de moteurs M contient de nombreuses fonctions (environ 250+), qui ont été classées logiquement en fonction de leur type. La fonction suit la syntaxe de category_name.function_name de la même manière que le style de la bibliothèque .NET. Le résultat de chaque étape de transformation est stocké dans une variable, qui est ensuite référencée par l'étape suivante de manière linéaire. Il permet à l'utilisateur à la fois de l'interface graphique (pour l'utilisateur de base) et de la fenêtre de l'éditeur brut (pour l'utilisateur avancé) d'écrire du code M pour la transformation. renvoyer la sortie au service/logiciel principal qui a invoqué Power Query pour les services ETL. Voici actuellement quelques services/produits populaires de Microsoft, qui utilisent le moteur de requête Power :

  • Power BI : Power BI est un outil d'analyse et de visualisation de données prenant en charge les requêtes DAX. Mais les données de base de son modèle proviennent de Power Query, qui en fait partie intégrante.

  • Excel : Power Query a été fourni en tant qu'extension pour Excel 2010/2013. Mais avec une utilisation croissante, Microsoft l'a intégré dans Excel pour plus de facilité. Un nombre limité de connecteurs de sources de données est disponible dans Excel pour Power Query.

  • Power Apps : Power Apps prend également en charge l'ETL basé sur Power Query via des flux de données, qui peuvent être automatisés pour la planification. Il est utilisé pour l'insertion/la mise à jour de données pratiques dans Dataverse ou Common Data Service.

  • Azure Data Factory : Data Factory est un outil ETL pour les produits Azure. Il prend également en charge Power Query comme l'un des outils de transformation pour ses tâches.

Avantages

  1. Module intégré/connecté : Power Query n'est pas diffusé en tant que logiciel indépendant, mais est intégré en tant que module complémentaire dans la solution principale. Comme dans Excel 2010/2013, Power Query a été diffusé en tant qu'extension Excel facultative. À partir d'Office 2016, Microsoft l'a intégré dans Excel. Azure Data Factory est lui-même une solution ETL. Mais il contient également Power Query qui y est connecté, pour la transformation.

  2. Transformation étape par étape/évaluation des résultats : Dans la vie réelle, nous divisons toute tâche longue ou compliquée en plusieurs tâches plus petites et divisibles, pour une gestion facile de solution et des résultats infaillibles. Power Query suit également la même règle. Chaque opération de transformation est traitée comme une étape, affichant le résultat du post-traitement de cette étape pour évaluation.

  3. Transformation indépendante de la source : Dans ETL, les données peuvent provenir de diverses sources. Ainsi, il y a de fortes chances que les données structurelles de deux sources différentes soient totalement différentes, comme la structure tabulaire et arborescente, ce qui rend difficile leur corrélation. Traditionnellement, le langage de transformation pour la structure tabulaire et arborescente est différent, comme pour le SQL tabulaire, alors que pour la structure arborescente, XPath / XQuery est principalement utilisé. Power Query supprime le fardeau de la connaissance de tous ces langages.

  4. Structure de l'objet : Power Query prend en charge l'extraction de données à partir du type de source Objet (c'est-à-dire valeur-clé). JSON est un format largement utilisé pour l'échange de données avec le développement croissant de solutions Web. Power Query prend en charge la transformation de ces types d'objets, réduisant ainsi les maux de tête liés à l'écriture de code pour la transformation de ces types de données. réduire la quantité d'efforts de script. Il prend en charge des fonctionnalités similaires aux langages de développement de logiciels.

  5. Récursivité pour la hiérarchie d'analyse : De nombreuses solutions ETL ne prennent généralement pas en charge la récursivité, qui est généralement requise pour la structure arborescente des sources de données, où la hiérarchie de décodage est cruciale plusieurs fois . Power Query prend en charge l'appel de fonctions du langage M de manière récursive pour analyser l'arborescence.

  6. Génération SQL automatique : Power Query prend en charge la génération de requêtes SQL en fonction des étapes de transformation, lorsque le mode de requête directe est sélectionné (applicable au SGBDR sélectionné uniquement), pour actions sélectives de transformation prises en charge par le serveur de base de données sous-jacent. Il s'agit d'une fonctionnalité bienvenue pour les non-techniciens, qui peuvent trouver un peu difficile de composer une requête SQL.

Inconvénients

  1. Manque d'optimisation : Power Query fonctionne bien jusqu'à un certain seuil de volume de données. Mais avec de grands ensembles de données, il est à la traîne. Le serveur de base de données utilise la technique d'indexation pour une sortie optimisée, ce qui manque à Power Query. De plus, la mise en cache des résultats est également manquante dans Power Query et il continue de recalculer la même transformation plusieurs fois (tout comme Excel). Le mode Direct Query, qui utilise l'optimisation côté base de données pour Power Query, a également une prise en charge limitée.

  2. Usage mémoire élevé : Power Query tente d'effectuer des calculs en mémoire avec une utilisation minimale du disque. Cela améliore les performances lorsque la taille des données est petite à moyenne. Mais avec l'augmentation du volume de données, il consomme une quantité considérable de mémoire (RAM) du système, privant éventuellement d'autres applications de mémoire.

  3. Documentation en cours : Microsoft a un site Web officiel MSDN (Microsoft Developer Network) pour tous ses produits / services, contenant une documentation solide ainsi que des exemples. La partie de la documentation Power Query est actuellement en cours, le développeur doit donc s'appuyer sur la plate-forme de la communauté Power BI pour connaître en profondeur toute fonction.

À propos de l'auteur

Dhananjay est un développeur BI avec plus de 8 ans d'expérience dans la création de rapports sur les bases de données et le SIG pour les entreprises. Il adore développer des projets open source et a formé plus de 1 000 personnes à Excel.

En savoir plus sur cet auteur




Source link

décembre 23, 2021 Intro