Wrap Conditional Logic in a Reusable Function in Power Query M

Moves a conditional expression into its own function so it can be reused and tested independently of a table step.

Conditional LogicAdvancedfunctionconditionalreusable

Power Query M code

let
    ClassifyAmount = (amount as number) as text =>
        if amount >= 10000 then "High"
        else if amount >= 1000 then "Medium"
        else "Low",
    Source = YourTable,
    AddedCategory = Table.AddColumn(Source, "SalesCategory", each ClassifyAmount([Amount]), type text)
in
    AddedCategory

Notes

Once the logic is a named function, it's easier to unit test in isolation or reuse across multiple queries.

Requirements

How to use this snippet

  1. In Power BI Desktop, choose Transform data to open Power Query, then open the Advanced Editor on a query (or start from a blank query).
  2. Paste the snippet and replace the placeholder names (tables, columns, file paths) with your own. Check the requirements above first.
  3. Run it through the Power Query M Formatter to tidy the layout.

Related Power Query M snippets

More Power Query M resources

Browse all 145 snippets in the Power Query M Code Snippets, or search the library for something similar to Wrap Conditional Logic in a Reusable Function.