Sooner or later, you may find yourself working directly with Power Query’s M formula language. Tools like Microsoft Excel’s Get & Transform Data and Microsoft Power BI provide point-and-click interfaces allowing you to build data transformation sequences which behind-the-scenes are implemented in Power Query’s M language. However, these query editors can’t do everything you might need. Using Power Query to its full potential involves, at times, directly reading and writing M code.
Search the Internet and you’ll find many examples showing how to use Power Query and the M language to solve one problem or another but little is out there describing the syntax and paradigm of the M language in detail. A limited knowledge of these details may be insignificant when simply copying and pasting samples and editing variable and column names, but move beyond this to weaving and writing your own solutions directly in M and a solid understanding of the language’s syntax, rules and capabilities becomes most helpful.
Grab a seat and buckle your safety harness! We’re going to barrel down the tracks, take some dives, loops and perhaps even a wiz around a few tight curves as we take a deep, systematic dive into M, the language at the heart of Power Query.
Prefer to learn about M in a live, web-class format instead? Then check out the Meet M: The Language That Powers Power Query class!
Index
- Introduction, Simple Expressions &
let
(part 1) - Functions: Defining (part 2)
- Functions: Function Values, Passing, Returning, Defining Inline, Recursion (part 3)
- Variables & Identifiers (part 4)
- Paradigm (part 5)
- Types—Intro & Text (Strings) (part 6)
- Types—Numbers (part 7)
- Types—The Temporal Family (part 8)
- Types—Logical, Null, Binary (part 9)
- Types—List, Record (part 10)
- Tables—Syntax (part 11)
- Tables—Table Think I (part 12)
- Tables—Table Think II (part 13)
- Control Structure (part 14)
- Error Handling (part 15)
- Type System I – Basics (part 16)
- Type System II – Facets (part 17)
- Type System III – Custom Types (part 18)
- Type System IV – Ascription, Conformance and Equality’s “Strange” Behaviors (part 19)
- Metadata (part 20)
- Identifier Scope & Sections (part 21)
- Identifier Scope II – Controlling the Global Environment, Closures (part 22)
- Query Folding I (part 23)
- Query Folding II (part 24)
- More to come!