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.
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
ciberbombardeo
En respuesta a nathani
No sé por qué, pero esto es lo que recibo.
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
v-eachen-msft
En respuesta a ciberbombardeo
Hola @cyberblitz,
Basándome en su muestra, obtuve el siguiente resultado. ¿Es su salida esperada?
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
v-eachen-msft
En respuesta a ciberbombardeo
Hola @cyberblitz,
Lo siento, olvidé usar un tipo de fecha.
Aquí está el resultado:
Las medidas son las dos medidas anteriores.