karimk
¡Hola!
Tengo uno difícil. ¿Es posible de alguna manera hacer un gráfico similar a una línea de tiempo para mostrar cómo está ocupado mi edificio durante el año? Consideraciones:
-Un eje muestra meses y semanas
-Otro eje muestra mis edificios, por piso
-La línea de tiempo «llenando» serían los equipos que ocupan cada piso
-Puedo tener puntos en blanco donde nadie usaría ese espacio
-Preferiblemente, el nombre del ocupante se mostraría en la barra que llena la línea de tiempo, pero podríamos tener una tabla separada para eso.
Un ejemplo hecho en Excel:
¿Algunas ideas?
Muchísimas gracias.
MFelix
En respuesta a karimk
Hola @karimk,
Ansewring en la pregunta 1 y en el problema que tiene, he cometido un error en la fórmula donde pusimos Calendario[Week] debiera ser [Week_Year] a continuación se muestra la medida corregida que hice la copia antes de finalizar mi fórmula, lo siento
Ocupation_Dates = VAR Week_number = MAX ( 'Calendar'[Week_Year] ) RETURN CALCULATE ( MIN ( occupation[PRODUCTION] ), occupation[Start_Week] <= Week_number, occupation[End_week] >= Week_number )
Entonces, esto resuelve su problema de valores en blanco en la matriz y responde a su primera pregunta, la columna Week_Year es cómo defino el inicio y la parada en los valores de la matriz
Proceso de Thougt:
La medida se basa en el contexto por lo que al agregar las columnas (fechas) y las Filas (edificios) todos los cálculos se realizarán con el «cruce» de la información de filas y columnas.
La variable Número de semana realiza una validación de contexto dentro de la matriz y devuelve ese número de semana de columna por año
En el cálculo, elijo el valor de producción en el año / mes / semana elegido y en el edificio. Entonces, en base a eso, lo que hace la fórmula es comparar el número de semana en la columna y verificar si la semana de inicio es más alta que eso y la semana de finalización es más baja, por lo que en base a eso se devuelven los valores de la producción.
Saludos,
MFelix
MFelix
En respuesta a karimk
Hola @karimk,
Puede hacer esto con la URL de la imagen; sin embargo, la parte del nombre no estará disponible. Las imágenes URL solo se pueden mostrar con URL y no con fórmulas compuestas.
Saludos,
MFelix
MFelix
Hola @karimk,
Puede probar y usar la matriz visual, no tiene un ejemplo de conjunto de datos completo, pero el resultado final se vería así:
Si quieres más explicaciones sobre cómo lograr esto, si me das una muestra de datos, puedo intentar hacerte una pequeña guía.
Saludos,
MFelix
karimk
En respuesta a MFelix
Muchas gracias por la respuesta. Esa foto que subiste parece la dirección correcta. ¿Sería posible colorear celdas específicas en la matriz? Como: AA es rojo, BB es azul, etc.
Estoy subiendo una foto de una hoja de cálculo simple con un ejemplo de datos que debería convertirse en la foto que mostraste. No sé cómo subir un archivo Excel aquí.
¡Gracias!
MFelix
En respuesta a karimk
Hola @karimk,
He dado mi primera respuesta basada en eso, pero no estoy seguro de cómo tiene sus datos, ¿puede hacer una copia y pegar de parte de la tabla en una publicación o enviar un enlace onedrive / google drive / wetranfer para tener una mejor comprensión de sus datos? .
Saludos,
MFelix
karimk
En respuesta a MFelix
Oye. Pruebe el archivo Escel en el enlace siguiente.
https://www.dropbox.com/sh/czvw71jmrn7l2so/AADKdLqbpLJxHPtWtsqv1-gZa?dl=0
¡Muchos gracias!
MFelix
En respuesta a karimk
Hola @karimk,
Disculpe la demora en la respuesta, utilice el siguiente esquema:
Cree una tabla de calendario (consulte este enlace para obtener una tabla más compleja) Solo agrego una nueva tabla con la siguiente sintaxis:
Calendar = CALENDAR("01/01/2017","31/12/2018")
En la fecha del calendario agregue las siguientes columnas:
Week = WEEKNUM('Calendar'[Date]) Week_year = YEAR('Calendar'[Date])&FORMAT(WEEKNUM('Calendar'[Date]),"00")
En su tabla de ocupaciones, cree las siguientes columnas:
Start_Week = YEAR(occupation[START DATE])&FORMAT(WEEKNUM(occupation[START DATE]),"00") End_week = YEAR(occupation[END DATE])&FORMAT(WEEKNUM(occupation[END DATE]),"00")
Esto le dará la estrella y la semana final de cada línea en su tabla para completar su matriz.
También agregue esta medida:
Ocupation_Dates = VAR Week_number = MAX ( 'Calendar'[Week] ) RETURN CALCULATE ( MIN ( occupation[PRODUCTION] ), occupation[Start_Week] <= Week_number, occupation[End_week] >= Week_number )
Ahora que ha configurado su tabla, vaya y cree una matriz visual (para simplificar, usé solo el último dígito de la producción para que la matriz pueda ser visible en su totalidad):
Matriz visual:
Filas:
- Tabla de ocupación – Edificio
- Tabla de ocupación – Piso
Columnas
- Tabla de calendario – Fecha (Jerarquía – Año)
- Tabla de calendario – Semana
Valores
- Tabla de ocupaciones – Occupations_Dates (medida)
Opción en la matriz:
Encabezados de fila:
- Diseño escalonado: desactivado
- Profundice en filas y columnas hasta el final.
En la imagen a continuación, puede ver la tabla final y también cómo creo la tabla con la configuración anterior:
Espero que este sea el resultado que necesitas.
Saludos,
MFelix
karimk
En respuesta a MFelix
MFelix, esto se ve brillante. ¡¡Muchas gracias por tu ayuda!!
Lamentablemente todavía no he podido reproducirlo. Mi problema parece estar en la medida, especialmente con «<= Week_number" y "=> Week_number».
Lo que sucede es que la matriz muestra valores en blanco.
A continuación se muestra una foto de cómo escribí la medida. ¿Es correcto?
Si no escribo «<= Week_number" y "=> Week_number», la matriz mostrará valores, pero, obviamente, son incorrectos.
En la imagen de abajo, la matriz superior tiene una medida sin sintaxis «<= Week_number". En la matriz inferior, la medida tiene el Sintaxis «<= Week_number".
A continuación se muestran los enlaces de Dropbox para el archivo PowerBI y la base de datos actualizada. Usaré ID en lugar de texto para los nombres de producción. Esto me ayudará a utilizar el formato condicional.
https://www.dropbox.com/s/jhut185fvc4dn42/TIMELINE%20MFELIX.pbix?dl=0
https://www.dropbox.com/s/sxw9my19rkahx6u/TIMELINE%20TEST.xlsx?dl=0
Además de todo esto, tengo algunas preguntas, que si tuvieras tiempo para responder sería increíble:
1) ¿Dónde se usó la columna Week_year en todo esto?
2) ¿Cuál es el proceso de pensamiento detrás de la medida que creó?
3) ¿Qué debo hacer si quiero mostrar al mismo tiempo el año, el mes y las semanas, en lugar del formato actual de año y semanas?
Muchas gracias. Si estoy pidiendo demasiado, no se preocupe. Intentaré resolver esto de otra manera. Ya has ayudado mucho.
MFelix
En respuesta a karimk
Hola @karimk,
Ansewring en la pregunta 1 y en el problema que tiene, he cometido un error en la fórmula donde pusimos Calendario[Week] debiera ser [Week_Year] a continuación se muestra la medida corregida que hice la copia antes de finalizar mi fórmula, lo siento
Ocupation_Dates = VAR Week_number = MAX ( 'Calendar'[Week_Year] ) RETURN CALCULATE ( MIN ( occupation[PRODUCTION] ), occupation[Start_Week] <= Week_number, occupation[End_week] >= Week_number )
Entonces, esto resuelve su problema de valores en blanco en la matriz y responde a su primera pregunta, la columna Week_Year es cómo defino el inicio y la parada en los valores de la matriz
Proceso de Thougt:
Las medidas se basan en el contexto, por lo que al agregar las columnas (fechas) y las Filas (edificios) todos los cálculos se realizarán con el «cruce» de la información de filas y columnas.
La variable Número de semana realiza una validación de contexto dentro de la matriz y devuelve ese número de semana de columna por año
En el cálculo, elijo el valor de producción en el año / mes / semana elegido y en el edificio. Entonces, en base a eso, lo que hace la fórmula es comparar el número de semana en la columna y verificar si la semana de inicio es más alta que eso y la semana de finalización es más baja, por lo que en base a eso se devuelven los valores de la producción.
Saludos,
MFelix
karimk
En respuesta a MFelix
¡Lo resolviste! ¡¡¡Muchísimas gracias!!!
Lo único que me falta ahora, pero creo que es una cuestión de funcionalidad de Power BI, es tener más opciones de coloración. con formato condicional.
Ejemplo:
SI el Nombre de producción es cualquier valor entre 1800 y 2299 -> Rojo. Si está entre 1000 y 1799 -> Gris. Si está entre 3000 y 4000 -> morado.
Bien. ¡Gracias!
MFelix
En respuesta a karimk
Hola @karimk,
no sé si esto resuelve su problema, pero siempre puede vincular un unichar a su código y luego usarlo en su medida y tendrá un número de producción y un símbolo conectado a sus datos:
Occupation with symbol: = SWITCH ( TRUE (), occupation[Ocupation_Dates] = BLANK (), BLANK (), [Ocupation_Dates] >= 1 && [Ocupation_Dates] <= 2, occupation[Ocupation_Dates] & UNICHAR ( 9971 ), [Ocupation_Dates] >= 3 && [Ocupation_Dates] <= 4, occupation[Ocupation_Dates] & UNICHAR ( 9977 ), occupation[Ocupation_Dates] & UNICHAR ( 9978 ) )
Nuevamente, para esto utilicé el último número en la columna Producción para hacerlo más fácil.
Para obtener los caracteres UNICODE, vaya a este enlace y use el código HTML para cada carácter que necesite.
Solo trato de pensar fuera de la caja, no surja si esto es lo que quieres.
Saludos,
MFelix
karimk
En respuesta a MFelix
¿Funcionaría este enfoque Unicode si la producción fuera un texto, en lugar de un número?
MFelix
En respuesta a karimk
Seguro que acabo de colocar un número para facilitar que necesites ajustar la fórmula a tu solicitud.
¿Tiene una muestra de los valores que desea incluir?
Puedo hacer un cambio rápido a la fórmula.
Saludos,
MFelix
karimk
En respuesta a MFelix
Hola,
El enlace de Dropbox a continuación tiene un archivo de Excel con una base de datos de muestra.
https://www.dropbox.com/s/j3c0y69gebrpwzz/TIMELINE%20TEST3.xlsx?dl=0
Básicamente, me gustaría poner un Unicode de color al lado de cada nombre de «PRODUCCIÓN» en la línea de tiempo, basado en su «GÊNERO».
La relación GÊNERO-color está en la hoja «UNICODE REF».
La imagen Unicode debería ser lo más neutra posible (un rectángulo, por ejemplo).
es posible?
Muchas gracias por seguir ayudando.
MFelix
En respuesta a karimk
Hola @karimk
Pruebe esta medida, nuevamente puede elegir el carácter Unicode en el enlace.
Occupation with symbol: = SWITCH ( TRUE (), occupation[Ocupation_Dates] = BLANK (), BLANK (), VALUES ( occupation[GÊNERO] ) = "Dramaturgia Diária", occupation[Ocupation_Dates] & UNICHAR ( 9650 ), VALUES ( occupation[GÊNERO] ) = "Dramaturgia Semanal", occupation[Ocupation_Dates] & UNICHAR ( 9724 ), VALUES ( occupation[GÊNERO] ) = "Escritorial", occupation[Ocupation_Dates] & UNICHAR ( 9670 ), VALUES ( occupation[GÊNERO] ) = "Variedades Diária", occupation[Ocupation_Dates] & UNICHAR ( 9677 ), VALUES ( occupation[GÊNERO] ) = "Variedades Noite", occupation[Ocupation_Dates] & UNICHAR ( 9608 ), occupation[Ocupation_Dates] )
Saludos,
MFelix
karimk
En respuesta a MFelix
Hola. Muchas gracias.
No puedo obtener unicodes de colores. Parece que sí porque tengo Windows 7. Estoy buscando otras opciones.
¿Es posible hacer el mismo tipo de medida que hizo, pero en lugar de Unicode, una imagen de una URL?
MFelix
En respuesta a karimk
Hola @karimk,
Puede hacer esto con la URL de la imagen; sin embargo, la parte del nombre no estará disponible. Las imágenes URL solo se pueden mostrar con URL y no con fórmulas compuestas.
Saludos,
MFelix
karimk
En respuesta a MFelix
Y ahora una evolución de la solución que me diste:
¿Es posible también dar un «valor» a los espacios en blanco de tiempo (sin valor de producción)? Mi objetivo es filtrar una fecha específica y hacer que me muestre todos los espacios en blanco, así puedo estar seguro de dónde puedo ubicar una producción.
MFelix
En respuesta a karimk
No estoy seguro de si esto es lo que necesita, pero si cambia esta parte de la fórmula, obtendrá un «valor» en lugar de un valor en blanco:
Occupation with symbol: = SWITCH ( TRUE (), occupation[Ocupation_Dates] = BLANK (), "VACANT", VALUES ( occupation[GÊNERO] ) = "Dramaturgia Diária", occupation[Ocupation_Dates] & UNICHAR ( 9650 ), VALUES ( occupation[GÊNERO] ) = "Dramaturgia Semanal", occupation[Ocupation_Dates] & UNICHAR ( 9724 ), VALUES ( occupation[GÊNERO] ) = "Escritorial", occupation[Ocupation_Dates] & UNICHAR ( 9670 ), VALUES ( occupation[GÊNERO] ) = "Variedades Diária", occupation[Ocupation_Dates] & UNICHAR ( 9677 ), VALUES ( occupation[GÊNERO] ) = "Variedades Noite", occupation[Ocupation_Dates] & UNICHAR ( 9608 ), occupation[Ocupation_Dates] )
Saludos,
MFelix
MFelix
En respuesta a karimk
Hola @karimk,
La opción condicional solo funciona con números y no con texto, por lo que si mantiene la PRODUCCIÓN1, no devolverá la opción condicional y no funciona con 3 opciones.
Saludos
MFelix
karimk
En respuesta a karimk
Solo quiero decir que resolví mi pregunta 3) desde la parte inferior de mi respuesta.
TomMartens
En respuesta a karimk
Oye, sube el archivo de Excel a onedrive o dropbox y solo comparte el enlace. Esto le ahorrará a la gente mucho tiempo y también evitará errores tipográficos.
Saludos
Tomás