1. ¿Qué es el lenguaje M?
El lenguaje M es un lenguaje declarativo, lo que significa que describes lo que quieres que se haga con los datos en lugar de cómo hacerlo. Es un lenguaje conciso y fácil de aprender, lo que lo convierte en una buena opción para usuarios no Informáticos.
2. ¿Para qué se utiliza el lenguaje M?
El lenguaje M se utiliza principalmente para:
Transformar datos: Puedes limpiar, transformar y agregar nuevos datos a tu conjunto de datos.
Conectar a diferentes orígenes de datos: Puedes conectarte a una amplia variedad de orígenes de datos, como archivos CSV, bases de datos SQL y servicios web.
Crear consultas: Puedes crear consultas para recuperar datos específicos de un origen de datos.
3. Elementos básicos del lenguaje M:
Expresiones: Las expresiones son las unidades básicas del lenguaje M. Se utilizan para calcular valores, filtrar datos y crear nuevas variables.
Funciones: Las funciones son bloques de código que se pueden reutilizar para realizar tareas comunes.
Tipos de datos: El lenguaje M tiene una variedad de tipos de datos, como texto, números y fechas.
Ejemplos de Instrucciones básicas en M:
Conexión a un archivo:
let
// Paso 1: Cargar el archivo CSV
Origen = Csv.Document(File.Contents("C:\Datos\datos.csv"),[Delimiter=",", Columns=2, Encoding=65001, QuoteStyle=QuoteStyle.None]),
// Paso 2: Promover la primera fila como encabezados
Encabezados = Origen{0},
Datos = Table.PromoteHeaders(Table.Skip(Origen,1))
in
Datos
Filtrar:
let
// Paso 1: Cargar el archivo CSV
Origen = Csv.Document(File.Contents("C:\Datos\datos.csv"),[Delimiter=",", Columns=2, Encoding=65001, QuoteStyle=QuoteStyle.None]),
// Paso 2: Promover la primera fila como encabezados
Encabezados = Origen{0},
Datos = Table.PromoteHeaders(Table.Skip(Origen,1))
// Paso 3: Aplicar el filtro WHERE
Filtro = Table.SelectRows(Datos, each [Salario] <= 1800)
in
Filtro
Agregar nueva columna:
let
// Paso 1: Cargar el archivo CSV
Origen = Csv.Document(File.Contents("C:\Datos\datos.csv"),[Delimiter=",", Columns=2, Encoding=65001, QuoteStyle=QuoteStyle.None]),
// Paso 2: Promover la primera fila como encabezados
Encabezados = Origen{0},
Datos = Table.PromoteHeaders(Table.Skip(Origen,1))
// Paso 3: Aplicar el filtro WHERE
Filtro = Table.SelectRows(Datos, each [Salario] <= 1800)
// Paso 4: Agregar una nueva columna calculada
NuevaColumna = Table.AddColumn(Filtro, "RangoSalario", each if [Salario] >= 500 and [Salario] <= 800 then "Minimo" else "Alto")
in
NuevaColumna
Comments