Supported Power Query M functions

Power Query M functions are the building blocks of the Power Query M formula language. They are mapping values that take a set of input values (arguments) and produce a single output value. Every transformation step you perform in the Power Query editor (like "Remove Columns" or "Filter Rows") is actually a function call happening behind the scenes in the M script.

Collibra Data Lineage uses Power Query M functions to interpret complex transformations within Power BI. This analysis allows BI Admins to view column-level lineage and automated stitching for report assets.

Not all functions have an impact on the technical lineage, so even though an error is raised for any unsupported functions, it might not mean that your lineage is incomplete. We are working to support the most common Power Query functions. If you have a Power Query function that is not yet supported and it’s very important to you, please create an Ideation ticket.

Collibra Data Lineage performs lexical and syntax analysis of M. It currently support the following functions.

For complete information on these functions, see the Microsoft documentation on accessing data functions.

Backend-accessing data functions that impact the lineage diagram

  • AmazonRedshift.Database
  • AnalysisServices.Database
    Note  
    • This function is fully supported if no MDX queries are used.
    • If MDX queries are used and they resemble SQL, they are parsed by the SQL parser.
    • We don't currently support this function if used with MDX queries that resemble DAX, as the Collibra Data Lineage service instances can't parse such queries.
  • AnalysisServices.Databases
  • Csv.Document
  • Databricks.Contents
  • Databricks.Catalogs
  • Excel.Workbook
  • File.Contents
  • GoogleBigQuery.Database
  • Odbc.DataSource
  • Odbc.Query
  • Oracle.Database
  • PostgreSQL.Database
  • SapBusinessWarehouse.cubes
    Note Lineage can't be generated if you use the Table.SelectRows function in conjunction with the SapBusinessWarehouse.cubes function, because the Table.SelectRows function requires a table parameter, not a source parameter.
  • SapHana.Database
  • Snowflake.Database
  • Sql.Database
  • Sql.Databases
  • Sybase.Database
  • Teradata.Database
  • Web.Contents

Transformations that impact the lineage diagram

  • Cube.AddAndExpandDimensionColumn
  • Cube.Transform
  • List.Zip
  • PowerBI.Dataflows
    Note We only support dataflows without parameters that contain the following information:
    • workspace ID
    • dataflow ID
    • entity (Power BI Table) ID
  • PowerPlatform.Dataflows
    Note We only support dataflows without parameters that contain the following information:
    • workspace ID
    • dataflow ID
    • entity (Power BI Table) ID
  • Replacer.ReplaceText
  • Replacer.ReplaceValue
  • Table.AddColumn
  • Table.AddIndexColumn
  • Table.Combine
  • Table.CombineColumns
  • Table.DuplicateColumn
  • Table.ExpandTableColumn
  • Table.FromList
  • Table.FromRecords
  • Table.FromRows
  • Table.Group
  • Table.NestedJoin
  • Table.PromoteHeaders
  • Table.RemoveColumns
  • Table.RenameColumns
  • Table.ReorderColumns
  • Table.ReplaceValue
  • Table.SelectColumns
  • Table.SplitColumn
  • Table.Unpivot
  • Table.UnpivotOtherColumns
  • Table.TransformColumnNames
    Note 
    • Only the following parameters are supported: Text.Upper, Text.Lower, and Text.Proper.
    • If columns in Power BI are renamed before they are transformed via this function (Text.Upper, Text.Lower or Text.Proper), the original column names are now shown in the database node in the technical lineage
    .
  • Value.NativeQuery
    Note Query parameters are supported. Core parameters are not supported.
  • Text.Trim
  • Text.TrimEnd
  • Text.TrimStart

Transformations that don't impact the lineage diagram

  • Table.AddKey
  • Table.AlternateRows
  • Table.Buffer
  • Table.Distinct
  • Table.ExpandListColumn
  • Table.FillDown
  • Table.FillUp
  • Table.FindText
  • Table.FirstN
  • Table.InsertRows
  • Table.IsEmpty
  • Table.LastN
  • Table.MaxN
  • Table.MinN
  • Table.Range
  • Table.RemoveFirstN
  • Table.RemoveLastN
  • Table.RemoveMatchingRows
  • Table.RemoveRows
  • Table.RemoveRowsWithErrors
  • Table.Repeat
  • Table.ReplaceErrorValues
  • Table.ReplaceKeys
  • Table.ReplaceMatchingRows
  • Table.ReplaceRows
  • Table.ReverseRows
  • Table.SelectRows
  • Table.SelectRowsWithErrors
  • Table.Skip
  • Table.Sort
  • Table.TransformColumns
  • TableTransformColumnTypes
  • Table.First
  • Table.Last
  • Table.Max
  • Table.Min
  • Table.SingleRow
  • Text.From

Unsupported transformations

  • DB2.Database
  • Folder.Files
  • Parquet.Document
  • PowerBIRESTAPI.Navigation
  • SharePoint.Contents
  • SharePoint.Files
  • SharePoint.Tables
  • Table.ExpandRecordColumn
  • Table.FromRecords
  • Table.Group
  • Table.ToColumns