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
jgo1986
Frequent Visitor

Contador acumulativo + calendario + mostrar elementos sin datos

Hola

Estoy atascado y me gustaría pedirte ayuda.

Tengo la siguiente tabla, con una lista de incidentes de varios años y varias "causas":
tabla.JPG

Mi año fiscal comienza en la semana 14 y termina en la semana 13 del año siguiente, por lo que después de crear una columna de #FY_NUM que clasifica cada incidente perteneciente a FY1415, FY1516 ... FY1920, creé un gráfico de línea y agrupado como:

Tabla2.JPG

donde la columna cuenta el número de incidentes en la columna [Idenfity] y la línea es un recuento cummulative de los incidentes (ver hay 2 filtros, uno para FY y otro para Causa de Incidente):

## Cummulative = CALCULATE(COUNT(Incidencias[identify]); FILTER(ALL(Incidencias[Custom]);Incidencias[Custom]<=MAX(Incidencias[Custom])); VALUES(Incidencias[# FY_NUM]))

Desgraciadamente, necesitaba poner en el eje todas las semanas del año vi, así que arreglé esto creando un calendario y haciendo una relación entre la tabla del calendario y la tabla de incidentes. El problema es que ahora no puedo representar el recuento de incidentes.

table3.JPG

Mis columnas se están contrarrerrestando bien, pero necesito dibujar el recuento cummulative como la línea roja que pinté en el gráfico de arriba en lugar de lo que estoy representando en la línea de Cummulative_2. Esta es la medida calculada "Cummulative_2" que representa en azul:

## Cummulative_2 = CALCULATE(COUNTROWS(Incidencias); FILTER(ALLSELECTED(Incidencias);Incidencias[date]<=MAX(Incidencias[date])))
  1. ¿Me puede ayudar a cambiar la medida de "Cummulative_2" para que pueda representar una línea completa?
  2. Dada la fórmula de Cummulative_2 correcta, como puede ver el gráfico es filtrar los datos que pertenecen a FY1516. ¿Hay alguna manera de crear una medida Cummulative_3 que calcule el año FY1415 (el año anterior dado un filtro) para representar tanto el año fiscal (el filtrado y el anterior)?

Gracias de antemano.

Atentamente

Jorge

1 ACCEPTED SOLUTION

Hola Maggie,

En primer lugar gracias por haberme contestado.

Siguiendo sus instrucciones cambié mi medida a:

## Cummulative2 = CALCULATE(COUNT(Incidencias[identify]); FILTER(ALLSELECTED(Incidencias);Incidencias[# FY_NUM]=MAX(Incidencias[# FY_NUM]) && Incidencias[date]<=MAX(Incidencias[date])))

Si utilizo como Eje compartido la letra Semana de la tabla "Incidencias", puedo representar la línea, pero el problema es que no hay un incidente cada semana, por lo que el gráfico solo representa aquellas semanas en las que se produjo un incidente.

Pero cuando relaciono la tabla "Incidencias" con una tabla de calendario que tiene todas las semanas y presiono la opción "mostrar elementos sin datos" del gráfico Eje compartido, la línea desaparece 😞

Captura 1.JPG

He visto que su tabla "sheet1" tiene valores para el campo "identificar" para todas las semanas, ¿podría tratar de eliminar algunas semanas con el fin de ver lo que sucede con su línea de gráfico?

PD: Como las fechas de mi tabla de incidentes tienen el formato "dd/mm/aaaa hh:mm:ss" y las fechas de mi tabla de calendario tienen el formato "dd/mm/aaaa 00:00:00", relaciono ambas tablas por una columna date_as_int:

date_as_int-FORMAT ( [Fecha]; "AAAAMMDD");

Calendario - 
ADDCOLUMNS (
CALENDARIO (DATE(2015;01;01); FECHA(2021;12;31));
" DateAsInteger"; FORMAT ( [Fecha]; "AAAAMMDD" );
" Año"; Año ( [Fecha] );
" Monthnumber"; FORMAT ( [Fecha]; "MM" );
" WeekNumber"; WEEKNUM( [Fecha];2);
" YearMonthnumber"; FORMAT ( [Fecha]; "YYMM" );
" YearMonthShort"; FORMAT ( [Fecha]; "YY/mmm" );
" YearMonthShort2"; FORMAT ( [Fecha]; "mmm/YY" );
" MonthNameShort"; FORMAT ( [Fecha]; "mmm" );
" MonthNameLong"; FORMAT ( [Fecha]; "mmmm" );
" WeekNameShort";IF(WEEKNUM([Date];2)<10; CONCATENAR("W0"; WEEKNUM([Fecha];2)); CONCATENAR("W"; WEEKNUM([Fecha];2)));
" DayOfWeekNumber"; SEMANA ( [Fecha];2 );
" DayOfWeek"; FORMAT ( [Fecha]; "dddd" );
" DayOfWeekShort"; FORMAT ( [Fecha]; "ddd" );
" Cuarto"; "Q" & FORMAT ( [Fecha]; "Q" );
" YearQuarter"; FORMAT ( [Fecha]; "AAAA" ) & "/Q" & FORMAT ( [Fecha]; "Q" );
" YearWeek"; CONCATENAR(IF(WEEKNUM([Date];2)<10; CONCATENAR("W0"; WEEKNUM([Fecha];2)); CONCATENAR("W"; WEEKNUM([Fecha];2))); CONCATENAR("'"; Año([Fecha])));
" FYWEEK_NUM"; IF(WEEKNUM( [Fecha];2)>-14; WEEKNUM( [Fecha];2)-13; WEEKNUM( [Fecha];2)+39)
)

Atentamente

Jorge.

View solution in original post

2 REPLIES 2
v-juanli-msft
Community Support
Community Support

Hola @jgo1986

No puedo reproducir tu problema.

Por favor, compruebe mi pbix para ver si mi prueba se ajusta a su escenario.

Utilizo esta fórmula para el Cummulative_2

clc1 - CALCULATE([count],FILTER(ALLSELECTED(Sheet1),Sheet1[FY]-MAX(Sheet1[FY])&&[date]<-MAX(Sheet1[date])))

En cuanto a Cummulative_3 medida que calcula el año anterior,

Podría considerar la función SAMEPERIODLASTYEAR.

rosca similar:

VENTAS del año pasado de DAX

Saludos
Maggie

Equipo de apoyo a la comunidad _ Maggie Li
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola Maggie,

En primer lugar gracias por haberme contestado.

Siguiendo sus instrucciones cambié mi medida a:

## Cummulative2 = CALCULATE(COUNT(Incidencias[identify]); FILTER(ALLSELECTED(Incidencias);Incidencias[# FY_NUM]=MAX(Incidencias[# FY_NUM]) && Incidencias[date]<=MAX(Incidencias[date])))

Si utilizo como Eje compartido la letra Semana de la tabla "Incidencias", puedo representar la línea, pero el problema es que no hay un incidente cada semana, por lo que el gráfico solo representa aquellas semanas en las que se produjo un incidente.

Pero cuando relaciono la tabla "Incidencias" con una tabla de calendario que tiene todas las semanas y presiono la opción "mostrar elementos sin datos" del gráfico Eje compartido, la línea desaparece 😞

Captura 1.JPG

He visto que su tabla "sheet1" tiene valores para el campo "identificar" para todas las semanas, ¿podría tratar de eliminar algunas semanas con el fin de ver lo que sucede con su línea de gráfico?

PD: Como las fechas de mi tabla de incidentes tienen el formato "dd/mm/aaaa hh:mm:ss" y las fechas de mi tabla de calendario tienen el formato "dd/mm/aaaa 00:00:00", relaciono ambas tablas por una columna date_as_int:

date_as_int-FORMAT ( [Fecha]; "AAAAMMDD");

Calendario - 
ADDCOLUMNS (
CALENDARIO (DATE(2015;01;01); FECHA(2021;12;31));
" DateAsInteger"; FORMAT ( [Fecha]; "AAAAMMDD" );
" Año"; Año ( [Fecha] );
" Monthnumber"; FORMAT ( [Fecha]; "MM" );
" WeekNumber"; WEEKNUM( [Fecha];2);
" YearMonthnumber"; FORMAT ( [Fecha]; "YYMM" );
" YearMonthShort"; FORMAT ( [Fecha]; "YY/mmm" );
" YearMonthShort2"; FORMAT ( [Fecha]; "mmm/YY" );
" MonthNameShort"; FORMAT ( [Fecha]; "mmm" );
" MonthNameLong"; FORMAT ( [Fecha]; "mmmm" );
" WeekNameShort";IF(WEEKNUM([Date];2)<10; CONCATENAR("W0"; WEEKNUM([Fecha];2)); CONCATENAR("W"; WEEKNUM([Fecha];2)));
" DayOfWeekNumber"; SEMANA ( [Fecha];2 );
" DayOfWeek"; FORMAT ( [Fecha]; "dddd" );
" DayOfWeekShort"; FORMAT ( [Fecha]; "ddd" );
" Cuarto"; "Q" & FORMAT ( [Fecha]; "Q" );
" YearQuarter"; FORMAT ( [Fecha]; "AAAA" ) & "/Q" & FORMAT ( [Fecha]; "Q" );
" YearWeek"; CONCATENAR(IF(WEEKNUM([Date];2)<10; CONCATENAR("W0"; WEEKNUM([Fecha];2)); CONCATENAR("W"; WEEKNUM([Fecha];2))); CONCATENAR("'"; Año([Fecha])));
" FYWEEK_NUM"; IF(WEEKNUM( [Fecha];2)>-14; WEEKNUM( [Fecha];2)-13; WEEKNUM( [Fecha];2)+39)
)

Atentamente

Jorge.

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.