Skip to content

Instantly share code, notes, and snippets.

@lcorbasson
Last active March 17, 2025 15:57
Show Gist options
  • Select an option

  • Save lcorbasson/42cf418b368934ff3b3a83868731b055 to your computer and use it in GitHub Desktop.

Select an option

Save lcorbasson/42cf418b368934ff3b3a83868731b055 to your computer and use it in GitHub Desktop.
let
removeUncleanColumns = (source_table as table) as table =>
let
columnsToKeep = Table.ColumnsOfType(source_table, {
type nullable logical, // qui classifie les valeurs true et false.
type nullable number, // qui classifie les valeurs numériques.
type nullable time, // qui classifie les valeurs d’heure.
type nullable date, // qui classifie les valeurs de date.
type nullable datetime, // qui classifie les valeurs datetime.
type nullable datetimezone, // qui classifie les valeurs datetimezone.
type nullable duration, // qui classifie les valeurs de durée.
type nullable text // qui classifie les valeurs de texte.
// type binary, qui classifie les valeurs binaires.
// type type, qui classifie les valeurs de type.
// type list, qui classifie les valeurs de liste.
// type record, qui classifie les valeurs d’enregistrement.
// type table, qui classifie les valeurs de table.
// type function, qui classifie les valeurs de fonction.
// type anynonnull, qui classifie toutes les valeurs à l’exception de Null.
// type none // qui classifie aucune valeur.
}),
cleanedTable = Table.SelectColumns(source_table, columnsToKeep),
// dataflow-incompatible types
dataflowIncompatibleColumnsTransformations = List.Combine({
List.Transform(Table.ColumnsOfType(cleanedTable, {type nullable datetimezone}), each {_, DateTimeZone.ToUtc, type nullable datetime}),
List.Transform(Table.ColumnsOfType(cleanedTable, {type nullable duration}), each {_, Duration.TotalSeconds, type nullable number})
}),
transformedTable = Table.TransformColumns(cleanedTable, dataflowIncompatibleColumnsTransformations)
in
transformedTable
in
removeUncleanColumns
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment