Skip to content
Support formation Rapports Power BI
  • Pages
    • Présentation du support
    • Organisation des formations Power BI
    • Ressources pédagogiques
      • Kit pédagogique
      • Références
      • Mise en pratique
        • Exo 1
        • Exo 2
        • Exo 3
        • Exo 4 Parc Auto
        • Exo 5 Vente data
        • Exercice EuroDesk
      • Aide à la décision d'une formation courte Power BI
    • Généralités
      • Carte & schéma Power BI
      • Guide de survie
      • Architecture des données [ToDo]
      • Optimisations & bonnes pratiques
      • Présentation de la solution Power BI
        • Le marché des solutions BI
        • A quoi sert Power BI ?
        • Versions & licences
        • Installation
      • Organiser son projet Power BI
      • Microsoft Fabric [WIP]
      • Planification de l’implémentation de Power BI
      • Planification de la migration et du déploiement Power BI
    • 1 | Se connecter aux données
      • Modes de connexion aux données (résumé)
      • Obtenir les données d’un fichier Excel (SharePoint)
      • Obtenir les données d’un fichier CSV/Texte
      • Obtenir les données d'un classeur Google Sheet
      • Créer un Dataflow (Query dans BI Service)
      • Base de données (Azure SQL Server)
      • Récupérer le contenu d'un fichier Zip
      • Récupérer les fichiers d'un site SharePoint
      • OData
      • Tips - retours d'expériences [WIP]
    • 2 | Transformer ses données (Power Query)
      • Pourquoi transformer ses données ? (dépivoter)
      • Transformations
        • Fusionner des requêtes ("RECHERCHEV")
          • Les 6 types de jointure
        • Ajouter des requêtes
        • Transformations complexes
        • Combiner les feuilles d'un classeur
        • Combiner automatiquement les fichiers d’un dossier
        • Équivalent d'un RECHERCHEV / VRAI
      • Paramètres de la source de données
      • Langage M
        • 1 | Introduction
          • Ressources
        • 2 | Travailler avec Power Query
          • Options [WiP]
        • icon picker
          3 | Accès et combinaison des données
        • 4 | Valeurs et expressions
        • Fonctions personnalisées
        • Recherche de la valeur précédente
        • Contourner l'erreur Firewall
        • Tips
          • let ... in imbriqués
          • Closures (fermetures) [WiP]
          • Récursivité [ToDo]
      • Transformer avec R [WIP]
      • Transformer avec Python [WIP]
      • Query folding
      • Tips
    • 3 | Modéliser (+ DAX)
      • Propriétés du modèle
      • Modèle de données
        • Relations
        • Schéma en étoile
          • Concepts liés au schéma en étoile
        • Slow Changing Dimension (SCD) [WiP]
      • Composants du modèles
        • Groupes & hiérarchies
        • Groupe de calculs
        • Relations
        • Mesures d'expression de détail des lignes
        • Agrégations manuelles et automatiques
      • DAX (le langage) et Power BI
        • Mesures explicites dans Power BI
        • Exploiter le volet Vue de requête DAX
        • Calculs visuels
        • User-defined functions (UDF)
      • Table de dates
      • Level Security
        • RLS (Row Level Security)
          • RLS partiel [WiP]
        • "Page Level Security" [WiP]
        • OLS (Object Level Security) [WiP]
        • Visuel Level Security
      • Tables recommandées (Type de données dans Excel)
      • Optimisation du modèle
        • Roche's Maxim
        • Réduire la taille du modèle
    • 4 | Présenter et analyser
      • Filtres & tris
        • Paramètres dynamiques
        • Focus Segments
        • L'exploration ("drill")
      • Objets visuels
        • Axes dynamiques
        • Couleurs fixes selon les catégories
        • KPI
        • Jauge
        • Sparkline [WiP]
        • Valeur dynamique des zones de texte
        • Icônes personnalisées
        • Cartes (Map)
        • Mises en forme conditionnelle
        • Jolies tables [WiP]
        • Nouvelles cartes [WiP]
      • Animer le rapport
        • Infos bulles personnalisées
        • Extractions
        • Signets
      • Étendre le rapport
        • Ajouter des visuels
        • Présenter avec R [WIP]
        • Présenter avec Python [WIP]
        • Visuels personnalisés avec Deneb
        • Infographic Designer [WiP]
        • Power Automate dans Power BI
      • Flux de tâches translyticaux [mai 2025]
      • Styles & thèmes
        • Styles prédéfinis
    • 5 | Partager et diffuser
      • Diffuser et partager un rapport Power BI
        • Modèle sémantique comme source de rapport
        • Partager un espace de travail
        • Intégrer Power BI [WiP]
        • bouton_publier
          "Publier" avec Power BI Desktop dans OneDrive/SharePoint
      • Tableaux de bord
      • Créer l'application d'un Espace de travail Power BI
      • Espaces de travail
        • [Admin] Créer un Espace de travail
        • Approbation
        • Application dans un espace de travail
        • Rôles dans un espace de travail
        • Sécurité [ToDo]
        • Alertes dans Power BI
          • Fabric Activator pour Power BI
      • Power BI Server
        • Analysis Services (SSAS)
      • Datamart [beta]
      • Date de dernière actualisation
      • Requête dans Excel vers un modèle Power BI
      • Incorporer des rapports (Embed - API)
    • Développeurs
      • Tabular Editor
      • Mode développeur (Projet Power BI)
      • [Dev] PowerOps : analyser un rapport avec
      • ModeOp express
      • Semantic Labs
    • Echange documents formation
    • logo_copilot
      Copilot
      • ChatGPT
    • Rapports multilangue
    • Préparation PL-300

3 | Accès et combinaison des données

100 fonctions standard de récupération de données
350 fonctions de données en tenant compte de ces extensions offrent la possibilité d'écrire des extensions pour récupérer des données à partir de sources supplémentaires
Puissantes fonctionnalités de fusion et d’ajout

Accès aux fichiers et dossiers

Fonctions M pour différents formats de fichiers
Format de fichier
Fonctions M
Azure Storage
AzureStorage.BlobContents, AzureStorage.
Blobs, AzureStorage.DataLake, AzureStorage.
DataLakeContents, AzureStorage.Tables
Binary
File.Contents
Excel
Excel.Workbook, Excel.CurrentWorkbook
Folder
Folder.Contents, Folder.Files
HDFS
Hdfs.Contents, Hdfs.Files
HDInsight
HdInsights.Containers, HdInsight.Contents,
HdInsight.Files
JSON
Json.Document
PDF
Pdf.Tables
RData
RData.FromBinary
Text/CSV
Csv.Document
XML
Xml.Document, Xml.Tables
There are no rows in this table

File.Contents

Renvoi le contenu (binaire) du fichier. Utilisée avec Csv.Document, Excel.Workbook, Json.Document, Xml.Document et Xml.Tables.
Saisir let Source = File.Contents in Source pour afficher :
image(1).png

info
Une fonction sans argument renvoi l’aide et les paramètres nécessaires, parfois mal documentés.

Text/CSV (Csv.Document)

4 arguments:
Une version binaire du fichier CSV, via la fonction File.Contents(chemin)
Un 2e argument optionnel, qui peut être :
Vide,
un type de table, un nombre de colonnes, une liste ou un enregistrement de paramètres.
Un 3e argument: délimiteur, comme #(tab) ou #(2605).
Un 4e argument: extraValues, qui détermine la façon de gérer les paramètres supplémentaires :
Nom convivial
Valeur
Commentaires
extraValues.List
0
Renvoie des colonnes supplémentaires sous forme de liste
extraValues.Error
1
Lève une erreur
extraValues.Ignore
2
Ignore les colonnes supplémentaires, par défaut
There are no rows in this table
Un 5e argument : l’énumération TextEncoding.Type :
Nom convivial
Valeur
Commentaires
TextEncoding.Utf16, TextEncoding.Unicode
1200
Forme binaire Little Endian (UTF16)
TextEncoding.Unicode
1200
Forme binaire Little Endian (UTF16)
TextEncoding.BigEndianUnicode
1201
Forme binaire Big Endian (UTF16)
TextEncoding.Windows
1252
Forme binaire Windows
TextEncoding.Ascii
20127
Forme binaire ASCII
TextEncoding.Utf8
65001
Forme binaire UTF8



There are no rows in this table
Dans le cas d’un enregistrement de paramètres en 2e argument (les 3 autres arguments doivent être vides) :
Delimiter: Spécifie que les colonnes des données sont séparées par une virgule (,) ou autre.
Columns : Spécifie qu'il y a X colonnes dans les données.
Encodage : spécifie la page de codes 1252 (encodage de caractères Windows). Une page de codes est simplement une spécification de la façon dont les caractères imprimables et les caractères non imprimables (tels que les caractères de contrôle tels que le retour chariot et le saut de ligne) sont associés à des numéros uniques.
CsvStyle : détermine si les guillemets d'un champ sont uniquement significatifs immédiatement après le délimiteur ou s'ils sont toujours significatifs.
Nom convivial
Valeur
Commentaires
CsvStyle.QuoteAfterDelimiter
0
Les guillemets n'ont de sens que s'ils sont immédiatement précédés d'un délimiteur. Il s'agit de l'option par défaut.
CsvStyle.QuoteToujours
1
Les citations sont toujours importantes.
There are no rows in this table
QuoteStyle : spécifie que les sauts de ligne sont traités comme la fin de la ligne actuelle, que le saut de ligne se produise ou non dans une valeur entre guillemets.
Nom convivial
Valeur
Commentaires
QuoteStyle.Aucun
0
Les guillemets sont ignorés. Il s'agit de l'option par défaut.
QuoteStyle.Csv
1
Les guillemets sont le début d'une chaîne entre guillemets. Deux guillemets représentent des guillemets imbriqués.
There are no rows in this table

Excel (Excel.Workbook)

3 arguments :
Une version binaire du fichier Excel, via la fonction File.Contents(chemin)
2e argument : useHeaders. null, true ou false. Prend en compte la première ligne en tant qu’en-tête. Peut être remplacé par Promouvoir les en-têtes.
3e argument : delayTypes, null, true ou false. Analyse automatiquement les types. Meilleure pratique des analystes de données : manuellement (false).
Le 2e argument peut être un enregistrement (le 3e devra être vide) :
UseHeaders
DelayTypes
InferSheetDimensions : null, true ou false (par défaut). Que si format de fichier Open XLM (moderne). Si la valeur true est spécifiée, la fonction Excel.Workbook ignore les métadonnées de dimensions incluses dans le fichier Excel et déduit la zone d'une feuille de calcul en lisant la feuille de calcul.

Dossiers

Autres connecteurs

PDF
XML
Xml.Tables
Xml.Document
Azure
AzureStorage.Blobs
AzureStorage.Tables
AzureStorage.BlobContents
AzureStorage.DataLake
AzureStorage.DataLakeContents

Récupération de contenu Web (Web.BrowserContents)

Utiliser le connecteur Web, indiquer une URL, puis choisir un contenu de la page :
image.png
Choisir Code HTML ou Texte affiché pour voir la différence de code.
Web.BrowserContents(url) : retourne toute la page Web brute.
let
#"HTML Code" = Web.BrowserContents("https://www.google.com/
search")
in
#"HTML Code"
Html.Table : retourne le texte visible d’un élément, par exemple BODY :
let
Source = Web.BrowserContents("https://www.google.com/"),
#"Extracted Table From Html" = Html.Table(Source, {{"Column1", "BODY"}}),
Column1 = #"Extracted Table From Html"[Column1]{0}
in
Column1
Web.Page : retourne une table qui permet de naviguer dans le DOM de la page (cliquer sur Table dans la colonne Data puis sur Table dans la colonne Children), comme Xml.Document.
let
Source =
Web.Page(
Web.BrowserContents("https://www.google.com/)
Chapter 3
75
),
Data = Source{0}[Data],
Children = Data{0}[Children]
in
Children
Web.Contents : retourne le contenu en binaire d’une page, comme avec File.Contents.
let
Source =
Web.Contents(
"https://subscription.packtpub.com",
[
RelativePath = "search",
Query = [ query = "power+bi",
products = "Book"
],
Timeout = #duration(0,0,0,30)
]
)
in
Source
Web.Headers
WebAction.Request

Investigation des fonctions binaires

40 fonctions, principalement utilisées dans le mode Entrée les données.
Saisir ces données dans ce mode :
Column1
Column2
One
1
Two
2
Three
3
There are no rows in this table
et voir le code généré :

let
Source =
Table.FromRows(
Json.Document(
Binary.Decompress(
Binary.FromText(
"i45W8s9LVdJRMlSK1YlWCinPB7KNIOyMolSQjLFSbCwA",
BinaryEncoding.Base64
),
Compression.Deflate
)
),
let _t = ((type nullable text) meta [Serialized.Text = true]) in
type table [Column1 = _t, Column2 = _t]
),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column2", Int64.
Type}})
in
#"Changed Type"

Accès aux bases de données et aux cubes

Les fonctions M pour accéder aux bases de données et aux cubes
System
System 2
Description
M Functions
Microsoft SQL Server
Microsoft’s relational database system.
Sql.Database Sql.Databases
Microsoft Analysis Services
Refers to SQL Server Analysis Services (SSAS) and Azure Analysis Services (AAS). Supports both
tabular and multidimensional cubes. Tabular
cubes use Data Analysis Expressions (DAX) for queries and calculations while Multidimensional cubes use Multidimensional Expressions (MDX) for the same.
AnalysisServices. Database AnalysisServices. Databases
Microsoft Access
The relational Access Database Engine (ACE), formerly the Jet database engine.
Access.Database
Adobe Analytics cubes
Adobe Experience Cloud’s cube analytics service, a leading system for web analytics. Adobe Experience Cloud was formerly known as Adobe Marketing Cloud. Adobe Systems acquired the analytics components of Adobe Experience Cloud from Omniture.
AdobeAnalytics.Cubes
IBM DB2
A relational database system developed by IBM.
DB2.Database
IBM Informix
A relational database system originally developed by Informix, which was acquired by IBM in 2001.
Informix.Database
Oracle Essbase
A multidimensional cube system originally developed by Arbor Software Corporation, which merged with Hyperion Software in 1998. Oracle later acquired Hyperion Solutions Corporation and originally marketed Essbase as DB2 OLAP Server.
Essbase.Cubes
Oracle MySQL
MySQL is a free and open-source relational database released under the GNU General Public License in 1995. Originally owned and sponsored by the company MySQL AB, which was acquired by Sun Microsystems, which was itself acquired by Oracle in 2010.
MySQL.Database
Oracle Database
Commonly referred to as simply Oracle, Oracle Database is a relational database that supports OLTP and data warehouse workloads.
Oracle.Database
PostgreSQL
Also simply known as Postgres, PostgresSQL is a free and open-source relational database originally released in 1996.
PostgreSQL.Database
SAP HANA
A column-oriented, in-memory, relational database system developed by SAP.
SapHana.Database
SAP Business Warehouse
Originally a relational database, SAP’s Business Warehouse later evolved to leverage the SAP HANA in-memory database and provide advanced OLAP functionality.
SapBusinessWarehouse. Cubes
SAP Sybase
A relational database system originally created by Sybase and then later acquired by SAP.
Sybase.Database
Teradata
Teradata’s relational database system.
Teradata.Database
There are no rows in this table

Travailler avec des protocoles de données standard


Adressage de connecteurs supplémentaires


Combiner et assembler des données

Table.Combine
let
Source = Table.Combine( {Table1, Table2})
in
Source
Table.NestedJoin
Accueil > Fusionner des requêtes
let
Source = Table.NestedJoin(Table1, {"ID"}, Table2, {"ID"}, "NouvelleColonne", JoinKind.LeftOuter)
in
Source

Table.Join
Table.Join(
Table.FromRecords({
[CustomerID = 1, Name = "Bob", Phone = "123-4567"],
[CustomerID = 2, Name = "Jim", Phone = "987-6543"],
[CustomerID = 3, Name = "Paul", Phone = "543-7890"],
[CustomerID = 4, Name = "Ringo", Phone = "232-1550"]
}),
"CustomerID",
Table.FromRecords({
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100.0],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0],
[OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25.0],
[OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200.0],
[OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2.0],
[OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20.0],
[OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25]
}),
"CustomerID"
)
Table.FuzzyNestedJoin et Table.FuzzyJoin
Correspondance floue
image.png

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.