PQM.guide

Community-driven Power Query M language reference with visual table examples. No more Table.FromRecords.

New to M? Start Here →
An 8-step learning path from the M paradigm to query folding.
Practical Patterns →
Real-world M recipes: joins, pagination, fuzzy matching, and more.
Search 661 functions
Press Ctrl+K to search by name or description.

Recently Edited

Web.Headersfunction
Returns the HTTP response headers for the specified URL as a record.
2026-10-15
Error Handlingconcept
How to handle errors gracefully in M using try, otherwise, and error records.
2026-10-15
Type.Facetsfunction
Returns a record containing the facets (type constraints) of a type, such as precision and scale for decimal types.
2026-10-15
Table.AlternateRowsfunction
Keeps an initial number of rows, then alternates between skipping and keeping groups of rows.
2026-10-15
Date.IsInCurrentMonthfunction
Returns true if the date falls within the current calendar month.
2026-10-15
Table.FillDownfunction
Replaces null values in specified columns with the most recent non-null value above.
2026-10-15

Patterns

View all 18 →
Conditional Column LogicBeginner
Use if/then/else inside Table.AddColumn to classify, label, and derive values from row data — the most common M transformation pattern.
Null-Safe OperationsBeginner
Understand how null propagates silently through M expressions and learn the standard patterns for defaulting, filtering, and intentionally preserving null values.
Parameterized QueriesBeginner
Build queries that accept parameters — from simple Power BI parameters to dynamic function-based filtering — without hardcoding values.
Cross-Query Lookup (VLOOKUP in M)Intermediate
Look up values from one table in another — the M equivalent of VLOOKUP — using Table.NestedJoin or direct list lookup patterns.
Accessing Data
Functions for connecting to and reading from data sources.
70 functions
Binary
Functions for working with binary data.
40 functions
Combiner
Functions that combine multiple values into a single value.
5 functions
Comparer
Functions for comparing values with customizable comparison logic.
4 functions
Date
Functions for creating, manipulating, and extracting parts of date values.
58 functions
DateTime
Functions for working with combined date and time values.
26 functions
DateTimeZone
Functions for date/time values with timezone information.
16 functions
Duration
Functions for working with time duration values.
13 functions
Expression
Functions for evaluating and working with expressions.
12 functions
Function
Functions for working with function values.
6 functions
Lines
Functions for converting text to and from lists of lines.
4 functions
List
Functions for creating, manipulating, and transforming lists.
71 functions
Logical
Functions for logical (boolean) operations.
3 functions
Number
Functions for numeric calculations, conversions, and formatting.
52 functions
Record
Functions for creating, accessing, and transforming records.
17 functions
Replacer
Functions used as replacer arguments in other functions.
2 functions
Splitter
Functions used to split text values.
10 functions
Table
Functions for creating, transforming, and querying tables.
131 functions
Text
Functions for working with text (string) values.
43 functions
Time
Functions for creating and manipulating time values.
10 functions
Type
Functions for working with the M type system.
24 functions
URI
Functions for encoding and decoding URI components.
4 functions
Value
Functions for inspecting and comparing values of any type.
40 functions