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
Syndicate_Admin
Administrator
Administrator

Años continuos

Hola, quiero calcular los años continuos que muestra un ID en todos los datos, sin embargo, tienen que mostrarse continuamente cada año hasta el año en curso para clasificarse como continuos. Por ejemplo, un ID que tiene presencia en 2021,2020,2019,2018 se clasificará como 4 años continuos, sin embargo, el FY va desde el 31 de julio del año anterior hasta el 01 de agosto del año en curso. Necesito que se ponga una excepción para garantizar que no se pierda la superposición, como si la identificación se mostrara en el año fiscal 21 pero el FY22 acaba de ingresarse, entonces para clasificarlo como continuo hasta que el ID aparezca en el año fiscal 22, si no lo hace, ya no se clasifica como continuo.

Aquí hay algunos datos de muestra

https://drive.google.com/file/d/1KnR2HGqyTRY-hkc4mSSA9elxsPB7QUA3/view?usp=sharing

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Puedo ver que Continuous Years1 tiene DAX similar a lo que publiqué, pero hay una diferencia que lo rompe.
Vuelva a consultar la columna Años continuos1 calculado.
Syndicate_Admin
Administrator
Administrator

Bueno, hice un intento de arreglar su algoritmo. Has vuelto a publicar diciendo que no funciona y cuando examino la fórmula DAX, no es lo mismo que la mía (publicada arriba).

Si lo resuelve y obtiene algunos valores en la columna calculada, puede decidir si son valores correctos. Si no lo son, vuelve a publicar tu pbix con los valores deseados en una columna y si tengo tiempo intentaré ayudarte con el algoritmo.

Gracias por su ayuda.

He utilizado la siguiente medición de columna, solo parece funcionar cuando el ID ha aparecido una vez en la lista.

Años continuos1 =
DÓNDE _id = Hoja1[ID]
DÓNDE _IDGroupTable =
FILTRO(Hoja1, Hoja1[ID] = _id )
DÓNDE _AConY =
MAXX( _IDGroupTable, [Ejercicio 1] ) - BRIBONA( _IDGroupTable, [Ejercicio 1] ) + 1
DÓNDE _FConY =
CUENTAS(
DISTINTO( RESUMIR( _IDGroupTable, Hoja1[ID], Hoja1[Ejercicio 1] ) )
)
DEVOLUCIÓN
SI( _AConY = _FConY, _FConY, ESPACIO EN BLANCO() )
Funciona de manera similar a una medición existente que tenía a continuación
Años continuos2 =
DÓNDE _IDGroupTable =
FILTRO( TODO( Hoja1 ), Hoja1[ID] = SELECTEDVALUE( Hoja1[ID] ) )
DÓNDE _AConY =
MAXX( _IDGroupTable, [fyear4] ) - BRIBONA( _IDGroupTable, [fyear4] ) + 1
DÓNDE _FConY =
CUENTAS(
DISTINTO( RESUMIR( _IDGroupTable, Hoja1[ID], «Hoja1»[fyear4] ) )
)
DEVOLUCIÓN
SI( _AConY = _FConY, _FConY, "0")
¿Tiene más sugerencias que podrían contar cuántas veces e ID aparece en una lista y verificar esto contra el año para calcular los años continuos, sin embargo, debe ser continuo hasta el año fiscal actual para clasificarse como continuo?

Hay @KnowledgeisPWR

Aquí le sugiero que agregue una bandera de continuación por columna calculada.

Continuous Years1 = 
VAR _T = SUMMARIZE(FILTER(ALL(Sheet1),Sheet1[ID] =EARLIER(Sheet1[ID])),Sheet1[Financial Year1])
RETURN
IF(Sheet1[Financial Year1]+1 IN _T,1,IF(Sheet1[Financial Year1]-1 IN _T,1))

Medir:

Distinct Count = CALCULATE(DISTINCTCOUNT(Sheet1[Financial Year1]),FILTER(Sheet1,Sheet1[Continuous Years1] = 1))

Cree un objeto visual de tabla y utilice una función de recuento distinta en este objeto visual.

El resultado es el siguiente.

1.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Se hace referencia en los nuevos datos de muestra como años continuos, el año financiero también se hace referencia en el informe.

Syndicate_Admin
Administrator
Administrator

Desafortunadamente, esto no está funcionando. He creado algunos datos de muestra para minimizar la cantidad de datos que se están analizando para validar si las mediciones funcionan. Es una medición bastante difícil de funcionar completamente, pero es primordial asegurarse de que los datos que nos proporciona un tercero sean correctos.

https://drive.google.com/file/d/116WTW9sGUYtovmXUUNzMJJ-TnrB254Rt/view?usp=sharing

Syndicate_Admin
Administrator
Administrator

Cambié FinancialYear1 para que fuera un número entero (eso hará que las llamadas a la función MAXX, MINX funcionen) de la siguiente manera:

Financial Year1 = 
VAR A =
    IF(
        [date].[MonthNo] > 8,
        YEAR('Gifts (2)'[date] ) + 1,
        YEAR('Gifts (2)'[date]  )
    )
RETURN
        A

Asegúrese de que el tipo de datos es el número.

y luego ContinuousYears para ser

Continuous Years = 
VAR _id = 'Gifts (2)'[constituent_id]
VAR _IDGroupTable =
    FILTER( 'Gifts (2)',  'Gifts (2)'[constituent_id] = _id ) 
VAR _AConY = 
    MAXX( _IDGroupTable, [Financial Year1] ) - MINX( _IDGroupTable, [Financial Year1] ) + 1
VAR _FConY =
    COUNTROWS(
        DISTINCT( SUMMARIZE( _IDGroupTable, 'Gifts (2)'[constituent_id], 'Gifts (2)'[Financial Year1] ) )
    )
RETURN
    IF( _AConY = _FConY, _FConY, BLANK() )

Traté de hacer el menor número de cambios posibles.

No estoy dando ninguna garantía con esto ya que apenas lo he probado, pero se ve bien.

----

No sabía si querías el total continuo en cada línea o solo el total continuo en cada línea. Si es el último, simplemente edite la columna para agregar una condición adicional al filtro en

_IDGroupTable (<= o < año de la fila actual).
Hágame saber si ayuda o necesita más ayuda.

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.