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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Necesita ayuda en EL tiempo inteligente DAX

Hola expertos, soy novato en este campo. Me quedé con un formulario DAX durante unas semanas :((

Este es mi contexto:

Se calcula el usuario actual día a día.

Usuario actual significa: Cuántos usuarios creados acumulativos en ese día.

Tabla: Fact_Login evento: contiene el evento LOGIN para cada usuario

Tabla: Dim_Total usuario: Lista de usuarios creados

Por favor, miren amablemente mi modelo:

2.PNG

Usé este DAX para calcular el usuario actual cada día

Current Usser = 
CALCULATE (
    COUNTX (
        FILTER (
            'Dim_Total Users',
            'Dim_Total Users'[Created Date] <= MAX ( 'Date'[Date] )
                && (
                    ( ISBLANK ( 'Dim_Total Users'[deactivate_date] ) = TRUE () )
                        || ( 'Dim_Total Users'[deactivate_date] >= MAX ( 'Date'[Date] ) )
                        || (
                            'Dim_Total Users'[reactivated_date] <= MAX ( 'Date'[Date] )
                                && ( ISBLANK ( 'Dim_Total Users'[reactivated_date] ) = FALSE () )
                                && 'Dim_Total Users'[reactivated_date] <= 'Dim_Total Users'[deactivate_date]
                                && 'Dim_Total Users'[status] <> -1
                        )
                        || (
                            'Dim_Total Users'[reactivated_date] <= MAX ( 'Date'[Date] )
                                && ( ISBLANK ( 'Dim_Total Users'[reactivated_date] ) = FALSE () )
                                && 'Dim_Total Users'[status] <> -1
                        )
                )
                && 'Dim_Total Users'[metatype] <> "guest"
        ),
        'Dim_Total Users'[id]
    ),
    CROSSFILTER ( 'Dim_Total Users'[Created Date], 'Date'[Date], NONE )
)

Este es el resultado:

1.PNG

Como puede ver, con el DAX anterior, obtendré todo el usuario actual para cada día, desde el 1er día de esta empresa específica (7/3/2020) hasta el final de la fecha en la tabla De fecha.

Pero ahora, sólo quiero ver sólo el resultado en 1 mes específico, por ejemplo, en julio de 2020.

Paso 1: Agregué una columna caculada en Fact_Login Evento, para detectar el evento que ocurrió en julio - 2020, voy a marcar "1" a este evento.

Paso 2: Reescribo el DAX como se muestra a continuación

Current Usser m+1 = 
CALCULATE(CALCULATE (
    COUNTX (
        FILTER (
            'Dim_Total Users',
            'Dim_Total Users'[Created Date] <= MAX ( 'Date'[Date] )
                && (
                    ( ISBLANK ( 'Dim_Total Users'[deactivate_date] ) = TRUE () )
                        || ( 'Dim_Total Users'[deactivate_date] >= MAX ( 'Date'[Date] ) )
                        || (
                            'Dim_Total Users'[reactivated_date] <= MAX ( 'Date'[Date] )
                                && ( ISBLANK ( 'Dim_Total Users'[reactivated_date] ) = FALSE () )
                                && 'Dim_Total Users'[reactivated_date] <= 'Dim_Total Users'[deactivate_date]
                                && 'Dim_Total Users'[status] <> -1
                        )
                        || (
                            'Dim_Total Users'[reactivated_date] <= MAX ( 'Date'[Date] )
                                && ( ISBLANK ( 'Dim_Total Users'[reactivated_date] ) = FALSE () )
                                && 'Dim_Total Users'[status] <> -1
                        )
                )
                && 'Dim_Total Users'[metatype] <> "guest"
        ),
        'Dim_Total Users'[id]
    ),
   CROSSFILTER ( 'Dim_Total Users'[Created Date], 'Date'[Date], NONE )),FILTER(Fact_Login Event,Fact_Login Event[Column] = 1))

(Sólo agregando "FILTER(Fact_Login Event,Fact_Login Event[Column] á 1)" al final)

Aquí está el resultado:

3.PNG

Parece bueno. Pero espera... Perdí muchas fechas en julio: 7/4/2020, 7/5/2020 ..... Eso no es lo que quiero. El resultado correcto tendrá el siguiente aspecto:

- Fecha completa en julio-2020 (a partir del 7/3/2020)

- Sólo fecha en julio-2020 (sin datos de agosto, sep...)

La razón por la que perdió la fecha :7/4/2020, 7/5/2020 ... debido a que no hay datos para esas fechas en la tabla Fact_Login Evento.

Por favor, ayúdame a arreglar el 2o DAX para mostrar todo el día en julio de 2020.

Gracias de antemano

1 ACCEPTED SOLUTION
tex628
Community Champion
Community Champion

Es bastante difícil saber si las cosas están funcionando con más de un cliente 🙂 Pero pruebe el archivo adjunto, he agregado una tabla de asignación y cambiado el filtrado un poco.

/ J


Connect on LinkedIn

View solution in original post

12 REPLIES 12
amitchandak
Super User
Super User

@thangtruong ,¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.

Hola Sr. @amitchandak , por favor eche un vistazo a archivo de muestra en este enlace de google drive a continuación:

https://drive.google.com/drive/folders/1Hr-lXUAD1k3BHyHPfyRvJskKQFqnPDfx?usp=sharing

Espero saber de usted pronto

Debe aplicar ese último filtro a la tabla Date en lugar de a la tabla Fact_login. Eche un vistazo al archivo adjunto:

Actualmente su tabla de hechos está filtrando la tabla de total_user a través de la tabla de fechas y realmente no puedo decirle por qué. Si alguien tiene una explicación de por qué soy todo oídos! 🙂

/ J


Connect on LinkedIn
Anonymous
Not applicable

@tex628 gracias por su respuesta :)) Pero el DAX que sugiere tal vez no funcione para mí.

El archivo de ejemplo es el ejemplo de 1 cliente - id del sistema : 3333, por lo que el mes de necesidad de recoger aquí es julio - 2020

Pero tengo otros miles de clientes, y tienen mes diffirentes para recoger, tal vez agosto / 2020, tal vez abril 2020 ...

Por lo tanto, en el DAX que tiene, que había fijado la fecha es "202007" y no funcionará en otro caso :))

tex628
Community Champion
Community Champion

¿Qué es exactamente Fact_Login definición de Event[Column]?

¿Está contando la diferencia de meses desde la fecha de inicio de sesión de fila actual hasta la fecha de creación del sistema?

/ J


Connect on LinkedIn
Anonymous
Not applicable

Hola @tex628

Sí, tienes toda la razón.

El evento Fact_Login [Columna] definirá el mes entre el evento Fact_Login [Login_Date] y el Dim_System_[CreatedDate]

Significa el mes entre la fecha en que el usuario en ese sistema tuvo inicio de sesión y el día en que se había creado el sistema.

Sólo me importa el primer mes desde la fecha del sistema creado, en otra palabra, sólo me importa el evento Fact_Login [Columna] 1

Hola @thangtruong ,

¿Está resuelto tu problema ahora?



Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
tex628
Community Champion
Community Champion

Es bastante difícil saber si las cosas están funcionando con más de un cliente 🙂 Pero pruebe el archivo adjunto, he agregado una tabla de asignación y cambiado el filtrado un poco.

/ J


Connect on LinkedIn
Anonymous
Not applicable

Sí, gracias por tu respuesta. Estoy trabajando en el archivo de muestra y sería muy bueno tener su atención en mi pregunta.

Te dejaré tener mi archivo de muestra hoy.

FarhanAhmed
Community Champion
Community Champion

Haga clic derecho en el campo en visual y haga clic en "mostrar elementos sin datos"

https://docs.microsoft.com/en-us/power-bi/create-reports/desktop-show-items-no-data







Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!

Proud to be a Super User!




lkalawski
Memorable Member
Memorable Member

@thangtruong

1. Utilice una fecha en la tabla Fecha.
2. Seleccione Mostrar elementos sin datos.

lkalawski_0-1598848327838.png



_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀

Anonymous
Not applicable

@lkalawski

@FarhanAhmed

realmente gracias por su respuesta rápida.

Pero no parece lo que quiero.

Cuando intenté seguir su solución, aquí está el resultado.

4.PNG

Los datos correctos lo que debe rellenarse en 7/4/2020, 7/5/2020 ... es 13 (no está en blanco)

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors