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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Obtener los usuarios nuevos, perdidos y recuperados de una tabla que contiene información de registro de usuarios mediante Power BI DAX

Tengo una tabla que contiene columnas como:

  • user_id : Un solo usuario tiene un user_id
  • reg_id : ID de registro. Un usuario puede tener más de un reg_id. El usuario puede eliminar su membresía y volver a registrarse. Cada vez que un usuario se registra, obtendrá un nuevo reg_id diferente.
  • is_delete : contiene el valor 'yes' o 'no', para distinguir si se ha eliminado reg_id.
  • created_date: la fecha de registro.

Espero crear medidas en dax para obtener los usuarios actuales, nuevos usuarios, usuarios perdidos y usuarios recuperados y crear una visualización similar a la creada aquí. Sin embargo, debido a la naturaleza muy diferente de la mesa, tengo dificultades para seguir e improvisar.

La siguiente es la explicación de la definición de cada término en mi caso:

Usuarios existentes: el número de usuarios activos dentro de ese período de tiempo.

Número de usuarios distintos en los que el is_delete = 'No'.


Nuevos usuarios: el número de usuarios que se registran dentro de ese período de tiempo.
Para cada user_id, el created_dt está dentro del período de tiempo. Omita la columna is_delete. Los usuarios que eliminaron su membresía y se vuelven a registrar se consideran nuevos usuarios de acuerdo con el período de tiempo observado.

Usuarios perdidos: el número de usuarios cuya cuenta ha sido eliminada antes del inicio del período actual.
is_deleted = 'Sí' y created_date < fecha del período actual

Usuarios recuperados: el número de usuarios que se consideraron perdidos en un período de tiempo anterior y luego se registraron en el período actual.

Gracias. Aprecio sus útiles ideas y respuestas.

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Sí, correcto. El usuario conservará su user_id original cuando vuelva a registrarse. Gracias por la solución.

Por cierto, acabo de probar la solución para las medidas de usuario existentes y el SUMX recupera el error ya que el reg_id es de tipo cadena. Si solo reemplazo el SUMX con COUNTX, ¿cree que seguirá siendo correcto?

Syndicate_Admin
Administrator
Administrator

Si entiendo correctamente, el user_id está separado del reg_id y luego el usuario mantendrá el user_id original cuando vuelva a registrarse.

Sin conocer tus datos, puedes probar esto

Returning Users = 
COUNTROWS(
    FILTER(
        RegistrationTable,
        RegistrationTable[IsDeleted] = TRUE && 
        CALCULATE(
            COUNTROWS(RegistrationTable),
            FILTER(
                RegistrationTable,
                RegistrationTable[UserID] = EARLIER(RegistrationTable[UserID]) &&
                RegistrationTable[CreatedDate] > EARLIER(RegistrationTable[CreatedDate]) &&
                RegistrationTable[IsDeleted] = FALSE
            )
        ) > 0
    )
)

Syndicate_Admin
Administrator
Administrator

Hola @JoeBarry, gracias por la rápida respuesta. En esta tabla, el identificador de una persona es su user_id que es único para cada persona, ¿no es eso suficiente para este caso? También tengo dirección, nombre, DoB, cosas así, pero no estoy seguro de si eso es lo suficientemente único como para identificar a una persona.

Syndicate_Admin
Administrator
Administrator

@fennyw29

Los usuarios recuperados serán difíciles, ¿hay una columna de dirección de correo electrónico u otras columnas donde podamos identificar a una persona?

Comencemos con las otras medidas

Usuarios existentes: aquí deberá crear un total acumulado a partir de @Greg_Deckler

Existing Users = 
VAR _Date = MAX('Table'[created_date])
VAR _Table = FILTER(ALLSELECTED('Table'),[created_date] <= _Date)
RETURN
    CALCULATE(SUMX(_Table,[reg_id]), FILTER('Table', 'Table'[is_deleted] = "no"))

Nuevos usuarios

New Users = CALCULATE(DISTINCTCOUNT('Table'[reg_id]), KEEPFILTERS([is_deleted] = "no"))

Usuarios perdidos es el mismo que el anterior, solo reemplace el no con sí.

A continuación, puede agregar estas medidas a un campo de valor de gráfico de barras apiladas. Si necesita filtrar en cada medida. Vaya a la pestaña Modelado y elija Nuevo parámetro y, a continuación, Campos agregue las medidas a los archivos en el orden en que desea verlos en el objeto visual. y pulse Crear. Esto creará una nueva medida, agregue esto en su lugar al gráfico de barras apiladas.

Hágamelo saber sobre mi pregunta con los clientes recuperados

Gracias

Joe

Si esta publicación ayuda, por favor acéptela como la solución

Helpful resources

Announcements
Sept PBI Carousel

Power BI Monthly Update - September 2024

Check out the September 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors