Anónimo
12Mes Rolloing Attr% = CALCULAR ([12 month Attrition Nos]/[12 month Avg Billable No], FILTRO (‘Calendario’, ‘Calendario'[Date]> = fecha (2016,12,1)))
I hv data desde el 16 de enero en adelante, la fórmula anterior funciona bien desde el 16 de diciembre en adelante. Pero quiero 2 calcular el% de deserción durante los primeros 11 meses que tiene una fórmula de diferencia como
Promedio del% mensual (para el promedio de enero de enero, para el promedio de febrero de enero y febrero, etc.) * 12 meses
¿Alguien puede sugerir cambios en la primera medida DAX para calcular lo mismo?
Además, la fecha codificada no funcionará si algún proceso comienza en el último año, por ejemplo, 2018/2019. Necesito arreglar esto también.
Ayuda apreciada. Gracias por adelantado.
v-lid-msft
En respuesta a Anónimo
Hola @Anónimo,
Lo siento por no entender claramente su requerimiento, ahora he arreglado mi fórmula, podemos usar la siguiente medida para archivar su requerimiento:
Test = VAR selectedtime = MAX ( 'Calendar'[Date] ) VAR starttime = CALCULATE ( MIN ( 'BillableNos'[Month] ), FILTER ( ALL ( BillableNos ), AND ( AND ( 'BillableNos'[Billable Nos] > 0, NOT ISBLANK ( BillableNos[Billable Nos] ) ), BillableNos[Sow Name] IN FILTERS ( 'SOWMaster'[SOW] ) ) ) ) VAR starttimemonth = DATE ( YEAR ( starttime ), MONTH ( starttime ), 1 ) VAR t = ADDCOLUMNS ( ADDCOLUMNS ( DISTINCT ( ALLSELECTED ( BillableNos[Month] ) ), "MonthBill", CALCULATE ( SUM ( BillableNos[Billable Nos] ), FILTER ( ALLSELECTED ( 'BillableNos' ), [Month] = EARLIER ( [Month] ) ) ) + 0 ), "MonthNo", CALCULATE ( COUNT ( ActualAttritionRaw[Attrition Gross/Net] ), FILTER ( ALLSELECTED ( ActualAttritionRaw ), AND ( ActualAttritionRaw[Attrition Gross/Net] = "Net", AND ( MONTH ( ActualAttritionRaw[Last Working Day] ) = MONTH ( [Month] ), YEAR ( ActualAttritionRaw[Last Working Day] ) = YEAR ( [Month] ) ) ) ) ) + 0 ) VAR t1 = ADDCOLUMNS ( t, "MonthAtt", IF ( [Month] < starttimemonth, BLANK (), DIVIDE ( [MonthNo], [MonthBill], 0 ) ) ) RETURN IF ( selectedtime < starttimemonth, BLANK (), IF ( selectedtime < ( starttimemonth + 365 ), FORMAT ( AVERAGEX ( FILTER ( t1, [Month] <= selectedtime ), [MonthAtt] ) * 12, "Percent" ), FORMAT ( DIVIDE ( SUMX ( FILTER ( t1, AND ( [Month] <= selectedtime, [Month] >= selectedtime - 365 ) ), [MonthNo] ), AVERAGEX ( FILTER ( t1, AND ( [Month] <= selectedtime, [Month] >= selectedtime - 365 ) ), [MonthBill] ), 0 ), "Percent" ) ) )
Por cierto, pbix como adjunto.
Atentamente,
Equipo de apoyo de la comunidad _ Dong Li
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
v-lid-msft
Hola @Anónimo,
De acuerdo con su descripción, me burlo de algunos datos y creo esta medida.
Measure = VAR d = SELECTEDVALUE ( Data[Date] ) RETURN CALCULATE ( SUM ( Data[Attrition] ) / MONTH ( d ), FILTER ( ALL ( Data ), AND ( YEAR ( Data[Date] ) = YEAR ( d ), MONTH ( Data[Date] ) <= MONTH ( d ) ) ) ) * 12
Si no cumple con sus requisitos, comparta amablemente su resultado exceptuado basado en mis datos de muestra.
POR CIERTO, pbix como adjunto.
Atentamente,
Equipo de soporte de la comunidad _ DongLi
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más
Anónimo
En respuesta a v-lid-msft
Hola, ¿alguien puede sugerir lo mejor que podemos hacer en este caso?
v-lid-msft
En respuesta a Anónimo
Hola @Anónimo,
Lamento haber respondido tan tarde, podemos utilizar lo siguiente para cumplir con sus requisitos.
Test = VAR selectedtime = MAX ( 'Calendar'[Date] ) VAR totalnos = CALCULATE ( COUNT ( ActualAttritionRaw[Attrition Gross/Net] ), FILTER ( ALLSELECTED ( ActualAttritionRaw ), AND ( ActualAttritionRaw[Attrition Gross/Net] = "Net", ActualAttritionRaw[Last Working Day] <= selectedtime ) ) ) + 0 VAR totalbill = CALCULATE ( SUM ( BillableNos[Billable Nos] ), FILTER ( ALLSELECTED ( BillableNos ), BillableNos[Month] <= selectedtime ) ) + 0 VAR starttime = MINX ( FILTER ( ALL ( ActualAttritionRaw ), ActualAttritionRaw[SOW] IN FILTERS ( SOWMaster[SOW] ) ), [Last Working Day] ) RETURN IF ( selectedtime < starttime, BLANK(), IF ( selectedtime < ( starttime + 365 ), FORMAT ( DIVIDE ( totalnos, totalbill, 0 ) * 12, "Percent" ), FORMAT ( CALCULATE ( [12 month Attrition Nos] / [12 month Avg Billable No], FILTER ( 'Calendar', 'Calendar'[Date] >= starttime + 365 ) ), "Percent" ) ) )
Por cierto, pbix como adjunto.
Atentamente,
Equipo de apoyo de la comunidad _ Dong Li
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Anónimo
En respuesta a v-lid-msft
Hola Dong Li, Muchas gracias por investigar esto. no puedo abrir el enlace parece que ha caducado. Pero no se preocupe, he usado la fórmula de msg body.
Para ser honesto, no entendí mucho acerca de su fórmula complicada, pero funciona bien con SOW E. Resultados bastante similares para nuestras dos fórmulas, pero falla en SOW F. Nuestro requisito es que la fórmula de los primeros 11 meses sea Promedio de Desgaste Mensual% * 12 ( promedio (18 de enero) * 12, prom (18 de enero, 18 de febrero) * 12, promedio (18 de enero, 18 de febrero, 18 de marzo) * 12, hasta el 18 de noviembre ) y tan pronto como estén disponibles los datos de tendencias de 12 meses; a partir del 18 de diciembre de 12 meses en adelante, la fórmula es la suma de 12 attriones / promedio del número facturable de los últimos 12 meses. Consulte las instantáneas a continuación. 1-Resultados de la SOW E. 2-Cálculo de requisitos reales SOW F
¿También desea saber por qué los porcentajes de Excel y Power BI son ligeramente diferentes entre sí? no dan los mismos resultados.
Saludos
Amol
v-lid-msft
En respuesta a Anónimo
Hola @Anónimo,
¿Qué tal el resultado después de seguir las sugerencias mencionadas en mi publicación original? ¿Podría proporcionar más detalles al respecto si no cumple con sus requisitos?
Atentamente,
Equipo de apoyo de la comunidad _ Dong Li
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
v-lid-msft
En respuesta a Anónimo
Hola @Anónimo,
Lo siento por no entender claramente su requerimiento, ahora he arreglado mi fórmula, podemos usar la siguiente medida para archivar su requerimiento:
Test = VAR selectedtime = MAX ( 'Calendar'[Date] ) VAR starttime = CALCULATE ( MIN ( 'BillableNos'[Month] ), FILTER ( ALL ( BillableNos ), AND ( AND ( 'BillableNos'[Billable Nos] > 0, NOT ISBLANK ( BillableNos[Billable Nos] ) ), BillableNos[Sow Name] IN FILTERS ( 'SOWMaster'[SOW] ) ) ) ) VAR starttimemonth = DATE ( YEAR ( starttime ), MONTH ( starttime ), 1 ) VAR t = ADDCOLUMNS ( ADDCOLUMNS ( DISTINCT ( ALLSELECTED ( BillableNos[Month] ) ), "MonthBill", CALCULATE ( SUM ( BillableNos[Billable Nos] ), FILTER ( ALLSELECTED ( 'BillableNos' ), [Month] = EARLIER ( [Month] ) ) ) + 0 ), "MonthNo", CALCULATE ( COUNT ( ActualAttritionRaw[Attrition Gross/Net] ), FILTER ( ALLSELECTED ( ActualAttritionRaw ), AND ( ActualAttritionRaw[Attrition Gross/Net] = "Net", AND ( MONTH ( ActualAttritionRaw[Last Working Day] ) = MONTH ( [Month] ), YEAR ( ActualAttritionRaw[Last Working Day] ) = YEAR ( [Month] ) ) ) ) ) + 0 ) VAR t1 = ADDCOLUMNS ( t, "MonthAtt", IF ( [Month] < starttimemonth, BLANK (), DIVIDE ( [MonthNo], [MonthBill], 0 ) ) ) RETURN IF ( selectedtime < starttimemonth, BLANK (), IF ( selectedtime < ( starttimemonth + 365 ), FORMAT ( AVERAGEX ( FILTER ( t1, [Month] <= selectedtime ), [MonthAtt] ) * 12, "Percent" ), FORMAT ( DIVIDE ( SUMX ( FILTER ( t1, AND ( [Month] <= selectedtime, [Month] >= selectedtime - 365 ) ), [MonthNo] ), AVERAGEX ( FILTER ( t1, AND ( [Month] <= selectedtime, [Month] >= selectedtime - 365 ) ), [MonthBill] ), 0 ), "Percent" ) ) )
Por cierto, pbix como adjunto.
Atentamente,
Equipo de apoyo de la comunidad _ Dong Li
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Anónimo
En respuesta a v-lid-msft
Hola, muchas gracias por investigar el problema. Ayuda apreciada.
Se han adjuntado archivos de Excel y pbix. tenga en cuenta el siguiente requisito.
1-1st 11 meses tiene una fórmula diferente. Es un porcentaje mensual promedio multiplicado por 12 meses
2-tan pronto como la tendencia de 12 meses esté disponible, se utilizará una fórmula diferente, es decir, la suma de las deserciones de los últimos 12 meses dividida por el no facturable promedio de los últimos 12 meses
3-cada vez que seleccionamos el mes en la cortadora, debería mostrar el porcentaje de los últimos 12 meses en un gráfico. mostrará los datos de los 12 meses anteriores (el primer mes se decide por el primer mes con el mes facturable disponible. El mes que tenga números facturables en cada SOW se considerará como el primer mes facturable).
4-también tenemos que incluir las deserciones pronosticadas en el gráfico resaltado con diferente color o podemos envolver esas 2 columnas con diferente color. Siempre serán los últimos 2 meses.
5-luego tendrá diferentes tipos de análisis como masculino / femenino, ubicación sabia, banda / designación sabia, SOW sabio, grupo sabio, comparación del año actual año anterior, comparación de diferentes procesos, trimestral, etc.
6- Consulte las columnas del archivo de Excel en Columnas de color verde AL a AU. Los primeros 11 meses tienen una fórmula diferente y tan pronto como la tendencia de 12 meses está disponible, cambiamos la fórmula.
7- SI su archivo de referencia PBIX ya he creado 12MonthRolling Attr% medida. Edite esta medida coloque la fórmula DAX para calcular el% de desgaste durante los primeros 11 meses (consulte la fórmula del archivo de Excel Columnas de color verde AL a AU) Esta fórmula DAX también debería funcionar para SOW E y SOW F ya que comienzan a mediados de año (no es necesario que lo hará comenzará en enero; lo decidirá según la disponibilidad del No facturable).
8- Por lo tanto, el mes codificado de forma rígida en la medida 12MonthRolling Attr% debería cambiar dinámicamente de Ene-YY a Nov-YY
por lo tanto, solo 2 números El% de deserción para los primeros 11 meses y la fecha codificada en la medida deben cambiarse dinámicamente durante los primeros 11 meses y después de 11 meses tan pronto como la tendencia de 12 meses esté disponible.
Archivo PBIX y Excel
Gracias