Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
PiccinelliSte
Regular Visitor

Filtrado dinámico+cálculo

Hola
Estoy tratando de migrar algunas funcionalidades de un código Python a PowerBI. Hasta ahora, la idea era mantener la limpieza de datos en Python y migrar la visualización y permitir el filtrado dinámico y el procesamiento de datos a través de la segmentación de datos.

Tenemos formularios semanales que recopilan cómo nuestro equipo está gastando cuánto tiempo en qué proyecto. Los datos están en granularidad semanal/por empleado y agregados como total por mes en Python. Larga historia corta, al final obtenemos una trama de datos con "ProjectName" vs. "Mes", "FTE/Month" donde:

  • "ProjectName es una cadena;
  • "Mes" es una cadena: 'Jan', 'Feb'...'Dec';
  • FTE/Mes es un flotador.

Importo los datos en PowerBi como Excel y pivoto la tabla obteniendo lo siguiente (DummyData)

Capture.PNG

También creo una tabla adicional que contiene el orden del mes en el año, el nombre largo de los meses y el número de semana por mes. A continuación, tengo una asignación de <Mes> de la primera tabla a <Short_month> y habilitar la dirección del filtro cruzado en ambas direcciones. Esta tabla adicional se requiere principalmente para pasar de FTE a día de trabajo (a través de la <Semana por mes> columna) pero también me permite a través de la <Orden> tener la cortadora NO en orden alfabético, sino en orden cronológico.
Capture.PNG

Hasta aquí todo bien. La funcionalidad real que queremos implementar es la siguiente:
queremos permitir que el usuario elija en una cortadora el(los) mes, por ejemplo, mayo, o mayo+junio... y ver el % del tiempo que la gente ha pasado en qué proyecto en ese/esos meses, por ejemplo, a través de TreeMap. Esto requiere cambiar la base con la que se calcula el porcentaje, por ejemplo.

  • si en mayo ProjectA es 0.5 FTE y el total de mayo es 5FTE --> ProjectA - 10%;
  • si en mayo+junio ProjectA es 0.5+1 FTE y total mayo+junio es 10FTE --> ProjectA - 15%

Probé varias combinaciones DAX de CALCULATE o SUMX+FILTER suponiendo que una vez que elijo un valor en el sector la tabla se filtra y sólo puedo elegir el valor por proyectoNombre / total de Proyecto, pero no parece funcionar.

¿Alguna sugerencia? Me gustaría adjuntar el archivo, pero al parecer nuevo usuario no puede hacerlo... y desde el PC de trabajo no se me permite compartir nada.

4 REPLIES 4

Me temo que sin más información / conjunto de datos es difícil entender lo que está tratando de hacer aquí.

Entiendo, es bastante malo no ser capaz de cargar directamente el archivo. Dado que PowerBi está "diseñado para los negocios" y la mayoría del negocio no permite compartir cosas desde el PC de trabajo, es muy limitante. Trato de proporcionar información adicional...

Tengo 2 Tablas:

  • Table1 contiene X filas y 3 columnas: ProjectName, Month, Value;
  • Table2 se conecta a través de Mes a la primera tabla y contiene algún valor que quiero poder asignar al mes de cada fila de la primera tabla.

Por ejemplo, para la semplicidad supongamos que la Tabla 1 es esta

NombredeproyectoMesValor
Proyecto AJul0.1
Proyecto AAgosto0.5
Proyecto ASeptiembre0.2
Proyecto BJul0.3
Proyecto BAgosto0
Proyecto BSeptiembre1

Tabla 2 es el reportado en la foto en mi post principal.

Tengo una segmentación con valor <Long_month> de Table2 (que está vinculada al mes en la Tabla1, por ejemplo, "Aug" <-> "August")

La funcionalidad que estoy buscando es la siguiente;

  • si el usuario elige "Agosto" en la segmentación de datos, la visualización debe filtrar los datos de "Aug" y calcular (medir) el % de valor para cada fila filtrada (Mes-Aug) con respecto al valor total (suma) de las filas que contienen "Aug" como mes. A continuación, la visualización debe ser ProjectA % de valor [ProjectA] en agosto.

    Cortadora de Enerosde Agosto ; Visualización: ProjectA a 0,5/(0,5+0) a 1 (100%), ProjectB a 0/(0,5+0) a 0 (0%)
  • si el usuario elige "Agosto+Septiembre" en la segmentación de datos, la visualización debe filtrar los datos de "Aug"+"Sep", y calcular (medir) el % de Valor para cada fila con respecto al valor total (suma) de las filas que contienen "Aug" Y "Sept" como mes;
    Slicer á Agosto+Septiembre; Visualización: ProjectA (0,5+0,2)/(0,5+0+0,2+1) a 0,41 (41%), ProjectB (0+1)/(0,5+0+0,2+1) a 0,59 (59%)

Espero que esto ayude.

Eso ayudó mucho. Pude replicar tu escenario. Nombré la mesa con los proyectos sólo 'Proyectos'.

Esta es la medida que hace lo que necesita:

Value% = 
DIVIDE(
    SUM(Projects[Value]),
    SUMX(
        ALLSELECTED(Projects),
        Projects[Value])
)
Por favor, hágamelo saber y marcar como solución si pude ayudarle.

Resuelve el 90% de lo que quería hacer. El desafío es que en la visualización no filtra sólo para el Mes (a través de la cortadora) sino también si yo, por ejemplo, elijo visualizar los 10 mejores proyectos. Si hago esto, el % visualizado en el Mapa de árbol vuelve a calcular en el total de 10 proyectos superiores.

Creo que sin embargo es un buen punto de partida... también, si tengo una tabla cercana, el % es correcto.

Muchas gracias

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.