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

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
Syndicate_Admin
Administrator
Administrator

Racha actual del sujeto

Hola

Tengo esta tabla (ver más abajo). A partir de esa tabla quiero tener el cálculo de la racha actual para hacer un subproyecto.
He intentado chat gpt pero no he tenido suerte.


Miembro del equipoClienteProyectosSubproyectosNotasFecha de inicioHora de comienzoFecha finalHora de finalizaciónDuraciónFacturado
Hans AndersAprender japonésEscuchaJapanesePod101 17.07.202408:1417.07.202408:430:28:47No
Hans AndersAprender japonésEscuchaJapanesePod101 16.07.202407:4816.07.202408:591:10:58No
Hans AndersAprender japonésEscuchaJapanesePod101 15.07.202419:2715.07.202419:400:12:58No
Hans AndersAprender japonésEscuchaJapanesePod101 11.07.202421:3111.07.202421:490:17:23No
Hans AndersAprender japonésEscuchaJapanesePod101 07.07.202421:5607.07.202422:290:32:31No
Hans AndersAprender japonésEscuchaJapanesePod101 07.07.202413:1207.07.202413:360:24:12No
Hans AndersAprender japonésEscuchaJapanesePod101 06.07.202419:4206.07.202420:130:30:31No
Hans AndersAprender japonésEscuchaJapanesePod101 02.07.202407:3302.07.202408:240:51:21No

Si me salto un día, debería estar en 0.

Una ventaja sería elegir según el proyecto y el cliente. Pero reconozco que el código sería fácil de modificar.



11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

@mscopuser Encontré esto en el correo electrónico que envió. Creo que resolví esto, vea la firma PBIX adjunta a continuación.

Longest Streak = 
    VAR __SubProject = MAX( 'Table'[Sub-projects] )
    VAR __MinDate = MINX( FILTER( ALL( 'Table' ), [Sub-projects] = __SubProject ), [Start date] )
    VAR __MaxDate = MAXX( FILTER( ALL( 'Table' ), [Sub-projects] = __SubProject ), [Start date] )
    VAR __Table = 
        ADDCOLUMNS(
            CALENDAR( __MinDate, __MaxDate ),
            "__Count", 
                VAR __Date = [Date]
                VAR __Result = IF( COUNTROWS( FILTER( ALL( 'Table' ), [Start date] = __Date && [Sub-projects] = __SubProject ) ), 1, 0 )
            RETURN
                __Result
        )
    VAR __Table1 = 
        ADDCOLUMNS(
            __Table,
            "Cthulhu", 
                VAR __index = [Date]
                VAR __group = [__Count]
                VAR __tmpTable1 = FILTER( __Table, [__Count] = __group && [Date] < __index)
                VAR __tmpTable2 = ADDCOLUMNS( __tmpTable1, "__diff", ( [Date] - MAXX( FILTER( __Table, [Date] < EARLIER( [Date] ) && [__Count] = EARLIER( [__Count] ) ), [Date] ) ) * 1. )
                VAR __max = MAXX( __tmpTable2, [Date])
                VAR __maxStart = MAXX( FILTER(__tmpTable2, [__diff] > 1), [Date])
                VAR __tmpTable3 = FILTER( __tmpTable2, [Date] >= __maxStart)
                VAR __Result = 
                    SWITCH( TRUE(),
                        ISBLANK( __max ), 1, 
                        __max = __index - 1, COUNTROWS( __tmpTable3 ) + 1, 
                        1
                    )
            RETURN
                __Result
        )
    VAR __Result = MAXX( FILTER( __Table1, [__Count] <> 0 ), [Cthulhu] )
RETURN
    __Result

Eres el salvavidas, estoy tan feliz ahora. Chatgpt no pudo ayudarme después de pasar 2 horas hoy.

Es casi perfecto, es ver que ha calculado la racha más larga que es el punto de datos que puedo usar totalmente para mi panel de Power BI que estoy tratando de construir.

¿Podría también proporcionar uno para la racha actual?

Estaría de nuevo muy agradecido

@mscopuser Claro, es casi idéntico. El archivo PBIX adjunto a continuación tiene la medida de racha actual, así como un ejemplo de la racha más larga para el proyecto en lugar del subproyecto.

Current Streak Sub-Project = 
    VAR __SubProject = MAX( 'Table'[Sub-projects] )
    VAR __MaxDate = MAXX( ALL( 'Table' ), [Start date] )
    VAR __MinDate = 
        MINX( 
            FILTER( 
                ALL( 'Table' ), 
                [Sub-projects] = __SubProject 
            ), 
            [Start date] 
        )
    VAR __Table = 
        ADDCOLUMNS(
            CALENDAR( __MinDate, __MaxDate ),
            "__Count", 
                VAR __Date = [Date]
                VAR __Result = 
                    IF( 
                        COUNTROWS( 
                            FILTER( 
                                ALL( 'Table' ), 
                                [Start date] = __Date && [Sub-projects] = __SubProject 
                            ) 
                        ), 1, 0 
                    )
            RETURN
                __Result
        )
    VAR __Table1 = 
        ADDCOLUMNS(
            __Table,
            "Cthulhu", 
                VAR __Index = [Date]
                VAR __Group = [__Count]
                VAR __TmpTable1 = FILTER( __Table, [__Count] = __Group && [Date] < __Index)
                VAR __TmpTable2 = 
                    ADDCOLUMNS( 
                        __TmpTable1, 
                        "__diff", 
                        ( 
                            [Date] - 
                            MAXX( 
                                FILTER( 
                                    __Table, 
                                    [Date] < EARLIER( [Date] ) && [__Count] = EARLIER( [__Count] ) 
                                ), 
                                [Date] 
                            ) 
                        ) * 1. 
                    )
                VAR __Max = MAXX( __TmpTable2, [Date])
                VAR __MaxStart = MAXX( FILTER(__TmpTable2, [__diff] > 1), [Date])
                VAR __TmpTable3 = FILTER( __TmpTable2, [Date] >= __MaxStart)
                VAR __Result = 
                    SWITCH( TRUE(),
                        ISBLANK( __Max ), 1, 
                        __Max = __index - 1, COUNTROWS( __TmpTable3 ) + 1, 
                        1
                    )
            RETURN
                __Result
        )
    VAR __CurrentCount = MAXX( FILTER( __Table1, [Date] = __MaxDate ), [__Count] )
    VAR __Result = IF( __CurrentCount = 0, 0, MAXX( FILTER( __Table1, [Date] = __MaxDate ), [Cthulhu] ) )
RETURN
    __Result

Muchas gracias y por dar el ejemplo de Proyectos. Estoy listo para ver grandes percepciones. Esto me hace querer aprender Power Bi. Henche: Compraré tu libro.

Qué feliz estoy.

@mscopuser ¡Tendrás que decidir cuál jajaja! ¡Mi 7º se publica este mes! Power BI Cookbook 3.ª edición. ¡Y gracias!

Syndicate_Admin
Administrator
Administrator

@mscopuser

El siguiente archivo tiene una solución que funcionará, tengo que crear dos columnas y una medida.

NaveenGandhi_0-1721330713685.png

Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los demás a encontrarla más rápidamente. ¡¡Te agradezco felicitaciones!!

Sígueme en LinkedIn!!


En primer lugar, gracias por su ayuda hasta ahora. Debería haber proporcionado una mejor publicación de apertura.

La muestra de datos que proporcioné estaba sesgada, lo siento, vea una diferente a continuación. Mismo estilo pero más aporte.

Miembro del equipoClienteProyectosSubproyectosNotasFecha de inicioHora de comienzoFecha finalHora de finalizaciónDuraciónFacturado
Hans AndersAprender japonésEscuchaJapanesePod101 11.07.202421:3111.07.202421:490:17:23No
Hans AndersAprender japonésKanjiWaniKani 12.07.202412:5012.07.202413:440:54:13No
Hans AndersAprender japonésVocabulario jpdb 12.07.202415:4912.07.202416:240:35:16No
Hans AndersAprender japonésKanjiWaniKani 14.07.202420:0814.07.202420:330:25:25No
Hans AndersAprender japonésEscuchaJapanesePod101 15.07.202419:2715.07.202419:400:12:58No
Hans AndersAprender japonésKanjiWaniKani 15.07.202420:2015.07.202421:030:42:56No
Hans AndersAprender japonésLecturaLecturas graduadasEstudio Kaji15.07.202421:4315.07.202422:180:35:20No
Hans AndersAprender japonésEscuchaJapanesePod101 16.07.202407:4816.07.202408:591:10:58No
Hans AndersInmersiónJaponés comprensible 16.07.202412:0116.07.202412:190:17:40No
Hans AndersAprender japonésKanjiWaniKani 16.07.202420:1016.07.202420:450:34:47No
Hans AndersAprender japonésKanjiWaniKani 16.07.202421:0016.07.202421:010:00:46No
Hans AndersAprender japonésEscuchaJapanesePod101 17.07.202408:1417.07.202408:430:28:47No
Hans AndersAprender japonésKanjiWaniKani 17.07.202418:1217.07.202418:320:19:33No
Hans AndersAprender japonésVocabularioAnki 17.07.202419:1517.07.202420:000:44:50No
Hans AndersAprender japonésKanjiWaniKani 17.07.202421:3517.07.202421:480:12:42No

Por lo que puedo decir, su solución actual no proporciona un parámetro para definir qué subproyectos contar.

En cuanto a los subproyectos, quiero poder contar cuánto tiempo dura mi racha:
Subproyectos:
JapanesePod101
WaniKani
Lecturas graduadas
Anki

Hay más subproyectos en el archivo total o tal vez agregados en la función.
No me importa tener diferentes cálculos de dax o agregar coloums adicionales.

El formato no será diferente en la función, ya que se exporta desde una herramienta que no tengo control y no veo que agreguen más datos potenciales.

-----

El requisito adicional es un conter de pista que puedo ir por nivel de Proyectos.

Esperemos haber estado completo esta vez.

Hola, @mscopuser

Con base en los datos que proporcionó, dé un ejemplo de lo que esperaría que fuera el resultado.

Saludos

Equipo de apoyo a la comunidad _Charlotte

Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

La racha de cuánto tiempo he estado haciendo mi subproyecto.
así que digamos que he estado estudiando WaniKani para el día 16 y el día 17 mi racha sería de 2.
Si me olvido de estudiar el 18 y yo estudio el día 19. Mi racha sería 1.
Lo que hay que tener en cuenta es que puede haber varios subproyectos iguales en el día. Debería contarlos como una racha de estudio.

A partir de ahí, quiero tener un número (¿dax?) que pueda usar en el tipo de tarjeta visual. Ten en cuenta que quiero tener este proyecto por materia. Yo mismo estoy tratando de encontrar soluciones que ya se han proporcionado.





Syndicate_Admin
Administrator
Administrator

Hola @mscopuser

Indique cuál es el resultado esperado.

Saludos
NG

Actualizado. Solo quiero tener un número que pueda usar en una tarjeta visual. Así que puedo ver mi racha actual en el estudio de varios subproyectos.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors