Buscar el último valor por fecha

Un usuario Pregunto ✅

ciberbombardeo

Estoy luchando para resolver esto. He buscado y probado varias fórmulas en vano. El conjunto de datos es así (lo siento por el formato):

Habitaciones de cambio de instalaciones del distrito modificadasAt

hoteles hotel1 Noche 9:00 pm 22 12/06/2020 08:46:50
hoteles hotel1 AM 7:00 am 24 12/06/2020 08:46:40
hoteles hotel1 AM 7:00 am 0 12/06/2020 08:46:30
hoteles hotel2 PM 3:00 pm 5 12/06/2020 07:38:50
hoteles hotel2 Noche 9:00 pm 4 12/06/2020 07:38:40
hoteles hotel1 Noche 21:00 23 11/06/2020 17:29:50
hoteles hotel1 PM 3:00 pm 22 11/06/2020 17:12:40
hoteles hotel1 Noche 9:00 pm 23 11/06/2020 17:12:30
hoteles hotel2 PM 3:00 pm 5 11/06/2020 15:27:50
hoteles hotel2 Noche 9:00 pm 4 11/06/2020 15:26:40
hoteles hotel2 Noche 9:00 pm 5 11/06/2020 15:26:30
hoteles hotel2 PM 3:00 pm 4 11/06/2020 15:26:50
hoteles hotel2 Noche 9:00 pm 5 11/06/2020 15:26:40
hoteles hotel2 Noche 9:00 pm 5 11/06/2020 15:26:30
hoteles hotel1 Noche 21:00 22 11/06/2020 08:47:50
hoteles hotel1 PM 3:00 pm 20 11/06/2020 08:47:40
hoteles hotel1 AM 7:00 am 22 11/06/2020 08:47:30
hoteles hotel1 PM 3:00 pm 20 11/06/2020 08:46:50
hoteles hotel1 AM 7:00 am 22 11/06/2020 08:46:40
hoteles hotel2 Mañana AM 5 11/06/2020 08:06:30
hoteles hotel2 PM 3:00 pm 4 11/06/2020 08:06:20
hoteles hotel2 AM 7:00 am 4 11/06/2020 08:06:10
hoteles hotel1 Noche 9:00 pm 22 11/06/2020 07:13:50
hoteles hotel1 Noche 21:00 2 11/06/2020 07:13:40
hoteles hotel1 Noche 9:00 pm 24 11/06/2020 07:13:30
hoteles hotel1 PM 3:00 pm 20 11/06/2020 07:13:20
hoteles hotel1 PM 3:00 pm 24 11/06/2020 07:13:10
hoteles hotel1 AM 7:00 am 22 11/06/2020 07:13:05
hoteles hotel1 Noche 9:00 pm 24 11/06/2020 07:12:50
hoteles hotel1 PM 3:00 pm 24 11/06/2020 07:12:50
hoteles hotel1 AM 7:00 am 24 11/06/2020 07:12:40
hoteles hotel1 Noche 9:00 pm 24 11/06/2020 07:12:30
hoteles hotel1 PM 3:00 pm 24 11/06/2020 07:12:20
hoteles hotel1 AM 7:00 am 24 11/06/2020 07:12:10
hoteles hotel2 AM 7:00 am 5 11/06/2020 01:00:50
hoteles hotel2 AM 7:00 am 6 11/06/2020 01:00:40
hoteles hotel2 Mañana AM 4 10/06/2020 08:37:50
hoteles hotel2 AM 7:00 am 6 10/06/2020 08:37:40
hoteles hotel2 Noche 9:00 pm 5 10/06/2020 08:37:50
hoteles hotel2 Noche 9:00 pm 6 10/06/2020 08:37:40
hoteles hotel2 AM 7:00 am 5 10/06/2020 08:37:30

He probado fórmulas similares a estas, y luego algunas:

max('Sheet1 (2)'[ModifiedAt]) return maxx(FILTER('Sheet1',[ModifiedAt] = maxDate),'Sheet1'[Rooms])
Max Date = 
VAR CurrentName="Survey table"[Name]

RETURN
MAXX(
   FILTER( ALL( 'Survey table' ), 'Survey table'[Name] = CurrentName ),
        'Survey table'[Date Taken] )

Pero lo que termino es algo como esto:

HOTEL1 06/12/2020 08:46 4,200

HOTEL2 06/12/2020 07:38 468

en su lugar, quiero:

HOTEL1 06/12/2020 08:46 22

HOTEL2 06/12/2020 07:38 5

Es como su agregación del valor de la habitación por alguna razón. Estoy perdiendo el pelo con este. Por favor, sálvame el pelo

nathani

Hola @cyberblitz,

Compruebe si los tipos de datos en Power Query son correctos.

1.jpg

saludos
Nathani duro

¿Él respondió a tu pregunta? ¡Marca mi puesto como una solución! ¡¡Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)

ciberbombardeo

En respuesta a nathani

@harshnathani

Gracias. Los tipos de datos se establecieron correctamente y todavía no funcionan

nathani

En respuesta a ciberbombardeo

Hola @cyberblitz,

¿Cuál es la lógica de la salida esperada?

8:46 es para 3 columnas relacionadas con el Hotel 1.

¿Puede compartir la lógica.

saludos

Nathani duro

ciberbombardeo

En respuesta a nathani

@harshnathani

La seria logica tener el valor MAX de aquellos del mismo tiempo

nathani

En respuesta a ciberbombardeo

Hola @cyberblitz,

Crear una medida

máximo?MAXX(RESUMIR(‘Tabla’,’Tabla'[ModifiedAt],’Tabla'[Rooms]),’Tabla'[Rooms])
1.jpg
saludos
Nathani duro
¿Él respondió a tu pregunta? ¡Marca mi puesto como una solución! ¡¡Apreciar con un Kudos!! (Haga clic en el botón de pulgar arribanorte

ciberbombardeo

En respuesta a nathani

No sé por qué, pero esto es lo que recibo.

cyberblitz_2-1592912491067.png

En SQL, así es como lo haría:

select a.Facility, modif, rooms
from table a
inner join (
select Facility, max(modifiedAt) modif
from table
group by Facility
) b on a.Facility = b.Facility and a.ModifiedAt = b.modif

amichandak

@cyberblitz , consulta si uno de estos puede funcionar

currículum (tabla, tabla[Facility],ÚLTIMO VALOR NO EN BLANCO (Tabla[ModifiedAt],max(tabla[Rooms])))

O
currículum (tabla, tabla[Facility],ÚLTIMO VALOR NO EN BLANCO (Tabla[ModifiedAt],ÚLTIMO VALOR NO EN BLANCO (Tabla[Shift],max(tabla[Rooms])))

O
currículum (tabla, tabla[Facility],ÚLTIMO VALOR NO EN BLANCO (Tabla[ModifiedAt],PRIMERO VALOR NO EN BLANCO (Tabla[Shift],max(tabla[Rooms])))

ciberbombardeo

En respuesta a amichandak

Me temo que no. Obtengo el error: Function SUMMARIZE espera un nombre de columna como argumento número 4.

Cuando inserto un nombre de columna, obtengo el error: La expresión hace referencia a varias columnas. No se pueden convertir varias columnas en un valor escalar.

amichandak

En respuesta a ciberbombardeo

@cyberblitz , Probar como

sumx(resumir(Tabla,tabla[Facility],»_1″,ÚLTIMO VALOR NO EN BLANCO (Tabla[ModifiedAt],max(tabla[Rooms]))),[_1])
sumx(resumir(Tabla,tabla[Facility],»_1″,ÚLTIMO VALOR NO EN BLANCO (Tabla[ModifiedAt],ÚLTIMO VALOR NO EN BLANCO (Tabla[Shift],max(tabla[Rooms])))) ,[_1])
sumx(resumir(Tabla,tabla[Facility],»_1″,ÚLTIMO VALOR NO EN BLANCO (Tabla[ModifiedAt],PRIMERO VALOR NO EN BLANCO (Tabla[Shift],max(tabla[Rooms])))) ,[_1])

ciberbombardeo

En respuesta a amichandak

@amitchandak

Me temo que esto tampoco funciona.

Lo que obtuve es:

HOTEL1 06/12/2020 08:46 4,200

HOTEL2 06/12/2020 07:38 468

en su lugar, quiero esto:

HOTEL1 06/12/2020 08:46 22

HOTEL2 06/12/2020 07:38 5

Cada vez que aplico estas fórmulas, el valor que necesito se ha ampliado. Esto es tan fácil de hacer en SQL, ¿por qué es tan difícil usar DAX??

amichandak

En respuesta a ciberbombardeo

@cyberblitz, proporción de datos en formato de tabla. Desde Excel copiar pegar en la palabra y de la palabra al navegador. O cargar Excel dropbox o onedrive

ciberbombardeo

En respuesta a amichandak

@amitchandak

Claro: https://www.dropbox.com/s/ngvn2ff15iwymzd/Rooms.xlsx?dl=0

En respuesta a ciberbombardeo

Hola @cyberblitz,

Basándome en su muestra, obtuve el siguiente resultado. ¿Es su salida esperada?

2-1.PNG

Aquí hay dos medidas que usar.

Max Date =
CALCULATE (
    MAX ( 'Table'[ModifiedAt] ),
    ALLEXCEPT ( 'Table', 'Table'[Facility] )
)
Value =
CALCULATE (
    MAX ( 'Table'[Beds] ),
    FILTER ( 'Table', 'Table'[ModifiedAt] = [Max Date] )
)

ciberbombardeo

En respuesta a v-eachen-msft

@v-eachen-msft

Sí, eso es todo. Muchas gracias. Supongo que es similar al script SQL que cree para producir el mismo resultado, donde se refiere a sí mismo..

ciberbombardeo

En respuesta a v-eachen-msft

@v-eachen-msft

No, lo siento.

El resultado debe ser exactamente igual que:

VALOR DE FECHA MÁXIMA DE LA INSTALACIÓN

HOTEL1 06/12/2020 08:46:17 22

HOTEL2 06/12/2020 07:38:39 5

En respuesta a ciberbombardeo

Hola @cyberblitz,

Lo siento, olvidé usar un tipo de fecha.

Aquí está el resultado:

3-2.PNG

Las medidas son las dos medidas anteriores.

Deja un comentario

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