Migration Power Query → fabrictools
Ce guide explique comment convertir un script Power Query M en Python avec le package
fabrictools.powerquery, en partant d’une lecture Lakehouse plutôt que d’Excel.
Principe
Avec fabrictools.read_lakehouse(), ignorez le préambule M suivant :
Excel.Workbook/File.ContentsTable.SkipTable.PromoteHeadersTable.TransformColumnTypes(étape initiale de typage)
Les en-têtes et types sont déjà corrects dans Delta/Parquet. Commencez à la première
transformation métier : Table.Group, Table.SelectRows, Table.AddColumn, etc.
Imports
from fabrictools import read_lakehouse, Table, Text, Date, Number, List, Order, Percentage, type
df = read_lakehouse("MonLakehouse", "Tables/dbo/ma_table")
Les noms Python sont identiques à Power Query : Table.Group, Text.Clean, Date.Year.
Module Table
Fonctions des scripts scripts powerquery/ :
Fonctions populaires supplémentaires :
Table.Distinct,Table.Combine,Table.NestedJoin,Table.JoinTable.FillDown,Table.FillUpTable.FirstN,Table.Skip,Table.LastN,Table.RangeTable.DuplicateColumn,Table.SplitColumnTable.Pivot,Table.UnpivotTable.ReplaceErrorValues,Table.Buffer
Module Text
Text.Clean— équivalentText.Clean/fnTextText.Select— filtrer les caractères (montants invoicing)Text.Trim,Text.Lower,Text.Upper,Text.ProperText.Combine,Text.From
Module Date
Date.Year,Date.Month,Date.DayDate.From,Date.AddDays
Module Number
Number.FromText— parse US/FR (script invoicing,fxToNumber)
Exemples
Voir aussi scripts powerquery/README.md pour les extraits complets des quatre scripts M
(customer project, turnover, invoicing, oi backup).