Hola, quisiera me ayudara con un tema de power BI.
Tengo un archivo con varias tablas, una de ellas se llama Demanda, la cual esta compuesta por los campos hora, demanda y carga desconectada. Cree una nueva columna para que me diera solo la hora sin minutos ni segundos, la cual llame tiempo, después de eso hice un grupo de ese columna tiempo y le puso Pico, donde me dividia las horas (24 hr) por cierto por nombres
0 al 10, 15 al 17, 22 al 23 hrs corresponde a "Otros"
11 al 14 hrs corresponde a "mañana"
18 al 21 hrs corresponde a "Noche"
Pero ahora necesito crear una medida calculada que me devuelva el valor máximo de la columna demanda pero solo en el rango donde dice mañana y también me de la hora (hora:minuto) donde cae ese máximo
Por ejemplo:
Hora demanda tiempo Pico
10:59 900 10 Otro
11:00 1,000 11 mañana
11:01 1,100 11 mañana
11:02 1,050 11 mañana
.
14:50 1497.32 14 mañana
como resultado quiero una medida que me de: demanda máxima en rango mañana seria 1,497.32 y la hora que corresponde 14:50
solo he logrado hacer un medida para sacar la máxima demanda por todo donde aparece mañana
Pico mañana =
CALCULATE(
MAXX(
ALLEXCEPT(DEMANDA,DEMANDA[Pico]),
CALCULATE(MAX(DEMANDA[demanda]))
), FILTER(DEMANDA,DEMANDA[Pico] = "Mañana")
)
pero con eso solo logro el valor pero no la hora donde esta esa máxima demanda
Le agradecería su ayuda
Hola Mirian, Me he…
Hola Mirian,
Me he preparado un escenario semejante al tuyo pero "de juguete". Parto de la siguiente tabla:
La he leído con Power BI y le he dado como nombre "data".
Mi primer impulso ha sido generar una tabla agregada que muestre, para cada período, el valor máximo de la demanda y la hora correspondiente (para poder extraer después esta información según convenga). Extraer el valor máximo de la demanda es fácil con la función SUMMARIZE:
Tabla1 = SUMMARIZE(
data;
data[Período];
"Max"; MAX(data[Demanda])
)
Ahora bien ¿cómo extraer también la hora? Imagino que debe haber formas más simples, pero la que se me ha ocurrido (y funciona) es hacer un cross join de la tabla anterior con la tabla original, haciendo coincidir el valor de "Max". Esto lo podemos conseguir con la función GENERATE:
Tabla2 =
GENERATE(
SUMMARIZE(
data;
data[Período];
"Max"; MAX(data[Demanda])
);
SELECTCOLUMNS(
data;
"Hora"; data[Hora];
"Max2"; data[Demanda]
)
)
Fíjate que en la columna "Max" solo aparecen los valores máximos obtenidos para cada período, mientras que en Max2 se muestran los valores de cada "Hora".
Ahora basta con filtrar esta tabla de forma que "Max" sea igual a "Max2" (es decir, nos quedamos con la fila correspondiente al valor máximo):
Tabla2 =
FILTER(
GENERATE(
SUMMARIZE(
data;
data[Período];
"Max"; MAX(data[Demanda])
);
SELECTCOLUMNS(
data;
"Hora"; data[Hora];
"Max2"; data[Demanda]
)
);
[Max] = [Max2]
)
Habría que eliminar la columna Max2, claro.
No sé si este enfoque te sirve. Una vez obtenida esta tabla, podrías extraer sus valores para añadirlos en tus objetos gráficos. Ya me contarás...
Un saludo
Daniel Burrueco
Buenas noches, he revisado…
Buenas noches, he revisado lo enviado, pero hay alguna manera de buscar la hora de la demanda maxima por cada periodo, usando una medida calculada.
La demanda máxima por periodo la saque con una medida calculada, sin utilizar tabla agregada y usando CALCULATE, puedo llegar a la hora en que cae esa demanda máxima por periodo con una medida calculada?
Buenas noches, he revisado…
Buenas noches, he revisado lo enviado, pero hay alguna manera de buscar la hora de la demanda maxima por cada periodo, usando una medida calculada.
La demanda máxima por periodo la saque con una medida calculada, sin utilizar tabla agregada y usando CALCULATE, puedo llegar a la hora en que cae esa demanda máxima por periodo con una medida calculada?
Si quieres hacerlo con una…
Si quieres hacerlo con una medida, puedes buscar el valor máximo de la demanda y extraer el valor de la hora correspondiente a dicho valor:
Hora pico Mañana =
VAR
MaxDemanda =
CALCULATE(
MAX(data[Demanda]);
data[Período] = "Mañana"
)
RETURN
CALCULATE(
MIN(data[Hora]);
data[Demanda] = MaxDemanda
)
Con el "MIN(data[Hora])" estamos extrayendo la primera hora para la que se da la coincidencia (podría ocurrir que hubiese más de una hora con el máximo).
Dime si este enfoque te va mejor
Un saludo
Daniel
Gracias lo voy a probar,…
Gracias lo voy a probar, cuando esté en casa. Tengo una pregunta, cuando yo trato de graficar lo siguiente
En un gráfico de área apilada, cuando lo gráfico me sale la hora en eje x, pero en formato de 12 hrs (1:00 pm) y no 13:00. Lo datos viene de una tabla excel y allí está la hora como personaliza para que solo de hora y minuto. Cómo hago para que me salga en power bi la hora en formato de 24 hrs ?
Puedes dar formato a un…
Puedes dar formato a un campo seleccionándolo en la columna de campos y configurando la opción "Formato" que encuentras en la cinta superior de herramientas (pestaña "Herramientas de columnas" del nuevo ribbon).
En el peor de los casos, puedes dar formato al campo creando una medida con FORMAT:
https://www.interactivechaos.com/dax/function/format
Saludos
Daniel
Por cierto, no sé cómo no se…
Por cierto, no sé cómo no se me ocurrió ayer que también puedes extraer la hora buscada con la función LOOKUPVALUE:
https://www.interactivechaos.com/dax/function/lookupvalue
Hora pico Mañana =
VAR
MaxDemanda =
CALCULATE(
MAX(data[Demanda]);
data[Período] = "Mañana"
)
RETURN
LOOKUPVALUE(
data[Hora];
data[Demanda]; MaxDemanda
)
Un saludo
Daniel
Buenos dias Daniel, lo trate…
Buenos dias Daniel, lo trate de configurar en donde estan las tablas, alli seleccione la columna "Hora" y luego en el menu: Modelado le di en Tipo de datos, seleccione Hora y el formato: 13:30 (HH:mm), pero no me funciono.
La forma que usted me indica: " "Formato" que encuentras en la cinta superior de herramientas (pestaña "Herramientas de columnas" del nuevo ribbon)." no la encuentro en mi Power Bi Desktop
Probare crear una medida con FORMAT
´
Hola, lo hice de la…
Hola, lo hice de la siguiente manera:
Hora pico de la mañana = VAR MaxDemanda = CALCULATE(
MAXX(
ALLEXCEPT(Demanda,Demanda[Pico]),
CALCULATE(MAX(Demanda[Demanda]))
), FILTER(Demanda,Demanda[Pico] = "Mañana")
)
RETURN
CALCULATE(MIN(Demanda[Hora]),
Demanda[Demanda] = MaxDemanda
)
para la hora pico de la noche: solo cambie "Mañana" por "noche", lo cual ya tenia definido.
En ese caso debe ser por la…
En ese caso debe ser por la configuración regional de tu ordenador. Lo que puedes hacer es asignar otra configuración a tu informe: Archivo > Opciones y configuración > Opciones > Configuración regional, y cambiar la opción del "idioma del modelo". Como ves en el fondo de la siguiente imagen, a mí me salen las horas de tu modelo de datos en el formato que deseas:
Voy hacer esa prueba de…
Voy hacer esa prueba de cambiar la configuración del modelo. Tengo una duda respecto a una gráfica de área apilada que quiero pero cuando la hago me sale algo diferente que en el Excel.
tengo mi tabla
Entonces: resulta que la gráfica en power bi, no ignora los “ceros” de carga desconectada y me pone la línea (de color rojo) en toda la gráfica no solo en donde aparece qué es desde las 12:58 a 13:02, Excel no hace eso hay línea roja solo solo donde hay carga desconectada y después está desaparece para el resto de la gráfica después solo está la línea de demanda, como cambio eso para que sea como la gráfica Excel y en su forma visual