¿Y necesito el lenguaje M?

Por supuesto, podemos comenzar por cuestionarnos la necesidad de conocer este lenguaje. Lo cierto es que las herramientas visuales ofrecidas en el editor de consultas nos dan acceso a una inmensa variedad de opciones, por lo que -normalmente- no vamos a necesitar escribir o modificar código M. Pero habrá ocasiones en las que tengamos que crear demasiados pasos para obtener una cierta transformación cuando podríamos obtenerla en un único paso, ocasiones en las que no sea posible obtener lo que queremos usando esas herramientas visuales, o cuando nuestras transformaciones sean tan complejas que resulte necesario optimizar su ejecución.

Con lo que sí nos encontraremos de vez en cuando es con la conveniencia de modificar ligeramente el código M que genera automáticamente el editor de consultas. En la mayor parte de los casos, estas modificaciones no requieren un conocimiento profundo del lenguaje, pero, por supuesto, requieren un mínimo de conocimiento.

M es un lenguaje funcional, no es especialmente difícil de usar, y la mayor complejidad proviene del alto número de funciones estándar a las que tenemos acceso (más de 800).

Otra pregunta que surge frecuentemente es "¿me conviene aprender primero DAX o M?". En mi opinión, la respuesta corta es "DAX es más útil". Pero una respuesta un poco más completa sería "DAX es más útil, pero M es más sencillo: aprende las bases de M -no pretendas conocer las 800 funciones que ofrece-, aprende después DAX y, cuando te sientas cómodo con DAX, vuelve a M y a sus 800 funciones".

Este tutorial está orientado a dar esa base del lenguaje M...