Power Query: List.Max no funciona en Fecha

Un usuario Pregunto ✅

ovetteabejuela

Hola,

Necesito ayuda. Supuestamente, List.Max debería funcionar en Dates, ¿verdad? Me gusta List.Max([Date Column]).

Tengo una columna de tipo Fecha e intenté Agregar columna con la fórmula List.Max([Date Column]) pero me da este error:

Expression.Error: no podemos convertir el valor #date(2017, 10, 31) al tipo List.
Detalles:
Valor=31/10/2017
Tipo=Tipo

Así que podría estar perdiendo algo aquí…

En respuesta a ovetteabejuela

Hola @ovetteabejuela,

Como probé, debe crear la columna de fecha como una lista y luego usarla en List.Max(). Tengo la siguiente tabla de muestra.

1 PNG

2. Cree una columna personalizada utilizando la fórmula.

=List.Max(#"Changed Type"[Date])

2 PNG

3. Obtendrá el resultado esperado de la siguiente manera.

3 PNG

Atentamente,
ángelia

EILOOP

Esto ha sido respondido, pero los pasos no están del todo claros, para el nuevo usuario de Power BI, desglosaré la solución:

Actualmente NO hay un tipo de datos de «Lista», solo asegúrese de tener la columna como Datos o Número.

Aquí es donde entra la parte confusa, ya que la función real «List.Max ()» no está completa en la sintaxis, debe saber exactamente cómo codificarla o debe hacer un ajuste en la Sección del Editor Avanzado para escribir manualmente en el anterior Nombre del paso de consulta como referencia de «tabla».

Creo una nueva columna. Escribo lo siguiente en la página del formulario de la columna «=List.Max({INSERT COLUMN NAME})» Add Column

LUEGO entro en el Editor avanzado y copio el nombre de la consulta del paso anterior al frente de mi NOMBRE DE COLUMNA INSERTADO.

ANTES DE:

#»Tipo de columna cambiado» = Table.TransformColumnTypes(Navegación, {{«ci_item_time», escriba fecha}}), #»Personalizado agregado» = Table.AddColumn(#»Tipo de columna cambiado», «Personalizado», cada List.Max([ci_item_time]))

DESPUÉS:

#»Tipo de columna cambiado» = Table.TransformColumnTypes(Navegación, {{«ci_item_time», escriba fecha}}),

#»Personalizado añadido» = Table.AddColumn(#»Tipo de columna cambiado», «Personalizado», cada List.Max(#»Tipo de columna cambiado»[ci_item_time]))

AHORA, si supiera cuál era el nombre de su paso de consulta anterior, podría haberlo codificado manualmente en la declaración de fórmula de nueva columna como List.Max(#»Tipo de columna cambiado»[ci_item_time]) Espero que esto aclare cualquier confusión sobre este tema.

EILOOP

jeffshieldsdev

Hilo antiguo, pero también está/estaba disponible en la cinta: pestaña Transformar > sección Columna de fecha y hora > Fecha > Más reciente

Genera la misma M que en este hilo:

= List.Max(Source[Date])

KasparsT

En respuesta a jeffshieldsdev

¡Gracias por responder! Probablemente mi pregunta no se describió completamente… Lo que quiero obtener es FECHA MÁXIMA para un número de cliente en particular y ordenarla de la lista.

Ejemplo:

cliente fecha
1 18.06.2019
1 19.06.2019
1 20.06.2019
2 18.06.2019
2 19.06.2019
3 20.06.2019

¡Gracias!

Anónimo

¿Cuál es el contexto de la línea de código de consulta de energía? ¿Está pasando un tipo de columna o lista a la función? El mensaje de error dice que ha pasado un valor desde el tipo Fecha.

ovetteabejuela

En respuesta a Anónimo

Así que agregué una columna con esta fórmula:

=Lista.Max([Date Column])

En respuesta a ovetteabejuela

Hola @ovetteabejuela,

Como probé, debe crear la columna de fecha como una lista y luego usarla en List.Max(). Tengo la siguiente tabla de muestra.

1 PNG

2. Cree una columna personalizada utilizando la fórmula.

=List.Max(#"Changed Type"[Date])

2 PNG

3. Obtendrá el resultado esperado de la siguiente manera.

3 PNG

Atentamente,
ángelia

estebanf

En respuesta a v-huizhn-msft

¿Cómo hago esto con una columna de tipo Int? No existe tal cosa como un elemento de lista en el menú desplegable, también puedo transformar esto.

KasparsT

En respuesta a v-huizhn-msft

¡Hola @v-huizhn-msft!

Pero, ¿cómo obtener la fecha máxima para cada número de Cliente si tiene pocos?

Gracias

Caspar

Anónimo

En respuesta a ovetteabejuela

Entonces, cuando observa el código real en el Editor avanzado, ¿viene esto después de una declaración ‘cada’? Si es así, está pasando un solo valor a esa declaración.

Marcel Beug

En respuesta a Anónimo

El nombre de la columna debe estar precedido por el nombre de la tabla, que puede ser el nombre de otra consulta o el nombre de otro paso en la consulta actual.

=List.Max(Table[Date Column])

parar2k

su tipo de columna es Lista? Esa función es encontrar el máximo en una lista o usar la función groupby para obtener la fecha máxima.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *