
En Power Query (Lenguaje M), podemos detectar fácilmente si un valor contiene letras, números o ambos usando funciones como Text.Select
, Text.ContainsAny
, y un poco de lógica 🔍
Detectar si en cadena texto los tres primeros caracteres son letras y luego los 3 siguientes son números. Resolvemos el caso con Lenguaje M + Power Query
Abrimos un nuevo proyecto e ingresamos a Transformar datos

creamos una nueva consulta

Ingresamos al Editor avanzado

let
Origen =
#table (
type table [ #"PlacasAutos" = text ],
{
{"ADG965"},
{"ASD9Q1"},
{"AW1312"},
{"JUR3621"},
{"PLKJYT"},
{"HYS145"}
}
),
#"Personalizada agregada" =
Table.AddColumn(
Origen,
"Personalizado",
each
if Text.Length([PlacasAutos]) = 6 then
let
Placa = List.Split( Text.ToList([PlacasAutos]), 3),
Parte1 = Placa{0},
Parte2 = Placa{1},
VerificarLetras =
List.Sum(
List.Transform(
Parte1,
each
Number.From(List.ContainsAny({_}, {"a".."z"}, Comparer.OrdinalIgnoreCase ))
)
),
VerificarNumeros =
List.Sum(
List.Transform(
Parte2,
each
Number.From(List.ContainsAny({_}, {"0".."9"} ))
)
)
in
if VerificarNumeros = 3 and VerificarLetras = 3
then "Placa Correcta"
else "Verificar Placa"
else "Verificar Placa [Length]"
)
in
#"Personalizada agregada"

explicación del código

- Creación de una tabla +6 registros con diferentes formatos
- Se recorre la tabla creada
- Se verifica que la longitud de la placa sea igual a 6 caracteres
- Se crea un lista con las placas tomando de 3 en 3 caracteres
- Se crean 2 variables de tipo lista con los 2 segmentos
- Se recorre la primera lista verificando que los 3 caracteres tenga formato de Letras
- Se recorre la primera lista verificando que los 3 caracteres tenga formato de Numérico
- Se verifica si la Placa es correcta (3 caracteres + 3 números)
- Retorna si la longitud es diferente de 6 y si es así le asigna el valor «Verificar Placa [Length]»
Resultado

👍 Comenta y comparte si este contenido te fue útil.
Ricardo A. Huamán Suárez
Especialista en SQL Server y Power BI. Ofrezco consultoría estratégica, formación especializada y servicios personalizados para empresas que buscan optimizar la gestión de sus datos.
Leave a Reply