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
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 :
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.
#"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
Les fonctions M pour accéder aux bases de données et aux cubes
System
System 2
Description
M Functions
System
System 2
Description
M Functions
Microsoft SQL Server
Microsoft SQL Server
Microsoft’s relational database system.
Sql.Database
Sql.Databases
Microsoft Analysis Services
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
Microsoft Access
The relational Access Database Engine (ACE), formerly the Jet database engine.
Access.Database
Adobe Analytics cubes
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
IBM DB2
A relational database system developed by IBM.
DB2.Database
IBM Informix
IBM Informix
A relational database system originally developed by Informix, which was acquired by IBM in 2001.
Informix.Database
Oracle Essbase
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
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
Oracle Database
Commonly referred to as simply Oracle, Oracle Database is a relational database that supports OLTP and data warehouse workloads.
Oracle.Database
PostgreSQL
PostgreSQL
Also simply known as Postgres, PostgresSQL is a free and open-source relational database originally released in 1996.
PostgreSQL.Database
SAP HANA
SAP HANA
A column-oriented, in-memory, relational database system developed by SAP.
SapHana.Database
SAP Business Warehouse
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
SAP Sybase
A relational database system originally created by Sybase and then later acquired by SAP.
Sybase.Database
Teradata
Teradata
Teradata’s relational database system.
Teradata.Database
There are no rows in this table
Travailler avec des protocoles de données standard