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

Ayuda para mostrar la retención de usuarios

Hola chicos - Espero que estén todos bien !

Tengo un enigma, y agradecería su guía 🙂

Tengo una tabla de eventos, según el siguiente ejemplo.

FechaUserGuidAcción
1/26/2021<guid único>Registro
1/26/2021<guid único>Iniciar sesión
1/26/2021<guid único>Iniciar sesión
1/26/2021<guid único>Registro


Necesito generar un gráfico de retención de usuarios que muestre a aquellos que continúan iniciando sesión después de 1 día, 7 días y 20 días (y potencialmente otros días).

  • El evento REGISTER se producirá una vez por usuario y se mostrará cuándo se inscribió por primera vez.
  • El evento LOGIN se produce cada vez que un usuario inicia sesión en la plataforma.

Así que necesito hacer ejercicio para cada usuario;

  • Su fecha de registro
  • Si iniciaron sesión después de registrarse (Día 1) - mismo día o >
  • Si han iniciado sesión > 7 días (a partir de su fecha de registro)
  • Si han iniciado sesión > 30 días (a partir de su fecha de registro)

Esto se mostraría de forma agregada, por lo que el porcentaje de todos los usuarios inician sesión después de 1 día, 7 días y así sucesivamente.

¡Agradecería mucho cualquier guía!

Gracias a todos

Kevin

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @ksfx77,

Según mi opinión, desea establecer una marca para cada usuario en función de la diferencia de fecha entre la primera fecha de registro y la primera fecha de inicio de sesión, y luego calcular el porcentaje de todos los registros, ¿verdad?

Puede utilizar la siguiente fórmula para crear una tabla calculada:

Table 2 =
ADDCOLUMNS (
    DISTINCT ( 'Table'[UserGuid] ),
    "Flag",
        VAR _regiDate =
            CALCULATE (
                MAX ( 'Table'[Date] ),
                FILTER (
                    ALLEXCEPT ( 'Table', 'Table'[UserGuid] ),
                    'Table'[Action] = "REGISTER"
                )
            )
        VAR _firstLogin =
            CALCULATE (
                MIN ( 'Table'[Date] ),
                FILTER ( ALLEXCEPT ( 'Table', 'Table'[UserGuid] ), 'Table'[Action] = "Login" )
            )
        VAR _datediff =
            DATEDIFF ( _regiDate, _firstLogin, DAY )
        RETURN
            IF (
                _datediff >= 30,
                "30 Days",
                IF ( _datediff >= 7, "7 Days", IF ( _datediff >= 0, "1 Days" ) )
            )
)

A continuación, cree directamente un objeto visual de línea con la columna Flag de la siguiente manera:

1.28.2.1.jpg

O bien, cree una columna Porcentaje para el objeto visual de tabla:

Percentage =
CALCULATE (
    COUNT ( 'Table 2'[Flag] ),
    ALLEXCEPT ( 'Table 2', 'Table 2'[Flag] )
)
    / COUNTROWS ( 'Table 2' )

1.28.2.2.PNG

Por favor, eche un vistazo al archivo pbi aquí.

Saludos
Eyelyn Qin
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

No @ksfx77,

Según mi opinión, desea establecer una marca para cada usuario en función de la diferencia de fecha entre la primera fecha de registro y la primera fecha de inicio de sesión, y luego calcular el porcentaje de todos los registros, ¿verdad?

Puede utilizar la siguiente fórmula para crear una tabla calculada:

Table 2 =
ADDCOLUMNS (
    DISTINCT ( 'Table'[UserGuid] ),
    "Flag",
        VAR _regiDate =
            CALCULATE (
                MAX ( 'Table'[Date] ),
                FILTER (
                    ALLEXCEPT ( 'Table', 'Table'[UserGuid] ),
                    'Table'[Action] = "REGISTER"
                )
            )
        VAR _firstLogin =
            CALCULATE (
                MIN ( 'Table'[Date] ),
                FILTER ( ALLEXCEPT ( 'Table', 'Table'[UserGuid] ), 'Table'[Action] = "Login" )
            )
        VAR _datediff =
            DATEDIFF ( _regiDate, _firstLogin, DAY )
        RETURN
            IF (
                _datediff >= 30,
                "30 Days",
                IF ( _datediff >= 7, "7 Days", IF ( _datediff >= 0, "1 Days" ) )
            )
)

A continuación, cree directamente un objeto visual de línea con la columna Flag de la siguiente manera:

1.28.2.1.jpg

O bien, cree una columna Porcentaje para el objeto visual de tabla:

Percentage =
CALCULATE (
    COUNT ( 'Table 2'[Flag] ),
    ALLEXCEPT ( 'Table 2', 'Table 2'[Flag] )
)
    / COUNTROWS ( 'Table 2' )

1.28.2.2.PNG

Por favor, eche un vistazo al archivo pbi aquí.

Saludos
Eyelyn Qin
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

por favor proporcione más datos de muestra representativos, con identificadores de usuario falsos reales, y suficiente rango de tiempo.

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.