cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
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
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
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

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
secondImage

Congratulations!

We are excited to announce the Power BI Super Users!

Microsoft Ignite

Microsoft Ignite with Arun Ulag

Featured Session Drive Data Culture with Power BI: Vision, Strategy & Roadmap. Register here https://myignite.microsoft.com #MSIgnite #PowerPlatform #Power BI ​

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.