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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

DAX para determinar la columna de fecha con valor nulo y mostrarla según la selección de la segmentación de datos Date

Hola a todos,

Tengo un escenario típico como a continuación.

Tengo una tabla de estudiantes y contiene cuatro columnas como se muestra a continuación :-

1.StudentID
2. Nombre del estudiante
3.LastAttendanceDate
4.StudentType

Ahora hay algunos valores nulos en la columna de fecha LastAttendanceDate. ¿Es posible usar una segmentación de datos para mostrar estos valores de los alumnos que tienen el valor de columna LastAttendanceDate como null? En palabras simples: Digamos que usted es un estudiante que fue a una escuela el lunes, martes y viernes y estuvo ausente el miércoles y jueves, así que aquí miércoles y jueves son los días en que estuvo ausente en la semana y tenemos que mostrar estos registros en la visualización de la tabla.

Mis datos de Excel Input:-

StudentIDNombre del alumnoLastAttendanceDateStudentType
100María02-05-2011 10:45Fulltime
100María Fulltime
100María04-05-2011 12:45Fulltime
100María06-05-2011 15:45Fulltime
100María Fulltime
100María08-05-2011 19:45Fulltime
100María09-05-2011 12:45Fulltime
101John02-05-2011 10:45Tiempo parcial
101John03-05-2011 11:23Tiempo parcial
101John04-05-2011 10:45Tiempo parcial
101John06-05-2011 15:49Tiempo parcial
101John Tiempo parcial
101John08-05-2011 19:45Tiempo parcial
101John09-05-2011 12:45Tiempo parcial

así que aquí necesito encontrar dinámicamente en el rango de semana/ mes o cualquier rango de fechas dinámico decir desde el rango de fechas 02-05-2011 y 08-05-2011 o 02-05-20 11 y 09-05-2011 o incluso 06-05-2011 y 09-05-2011, los estudiantes que estuvieron ausentes y lo muestran en mi visualización de mesa.

¿Alguien puede proporcionar un enfoque o algún DAX útil? Aprecio por toda la ayuda

Mi visualización actual se ve así: Quiero mostrar a los estudiantes que estuvieron ausentes en el intervalo de tiempo dado como seleccionados en las fechas.

5.JPG

así que si deslice la segmentación de datos según rangos mínimos y máximos, debe mostrar todas las filas de alumnos que estuvieron ausentes o con valores nulos para la columna Fecha de última asistencia en ese intervalo de tiempo.

Atentamente

Sameer

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @deb_power123,

Asumo que el calendario está conectado con la última fecha, también que los fines de semana no son días escolares por lo que he añadido la siguiente medida:

Absent =
VAR temp_table_Names =
    FILTER (
        SELECTCOLUMNS ( ALL ( 'Table'[StudentName] ), "Name", 'Table'[StudentName] ),
        NOT ( [Name] IN VALUES ( 'Table'[StudentName] ) )
    )
VAR result =
    CONCATENATEX ( temp_table_Names, [Name], ", " )
RETURN
    SWITCH (
        TRUE (),
        SELECTEDVALUE ( 'calendar'[weekday] ) = "weekday", IF ( ISBLANK ( result ), "", result )
    )

Esto dará el siguiente resultado:

MFelix_0-1615396540968.png

Compruebe la adjuntación de archivos PBIx.

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

No @deb_power123,

Asumo que el calendario está conectado con la última fecha, también que los fines de semana no son días escolares por lo que he añadido la siguiente medida:

Absent =
VAR temp_table_Names =
    FILTER (
        SELECTCOLUMNS ( ALL ( 'Table'[StudentName] ), "Name", 'Table'[StudentName] ),
        NOT ( [Name] IN VALUES ( 'Table'[StudentName] ) )
    )
VAR result =
    CONCATENATEX ( temp_table_Names, [Name], ", " )
RETURN
    SWITCH (
        TRUE (),
        SELECTEDVALUE ( 'calendar'[weekday] ) = "weekday", IF ( ISBLANK ( result ), "", result )
    )

Esto dará el siguiente resultado:

MFelix_0-1615396540968.png

Compruebe la adjuntación de archivos PBIx.

Gracias, y diré que esta es la mejor técnica que me hiciste aprender. Puede que tenga algunas variaciones más en los datos y buscaré sus sugerencias en esos escenarios de caso. En su mayoría tengo el valor de columna en fecha y hora en lugar de fecha. Pero thnakyou para su respuesta, que ayudó

No hay @MFelix

Traté de replicar la fórmula DAX que proporcionó en un conjunto diferente de datos, pero estoy obteniendo ambos nombres de empleados en la lista ausente según la captura de pantalla a continuación:-

error.JPG

¿Ha realizado alguna configuración adicional o ha cambiado aparte de las medidas? Por favor, encuentre a continuación el enlace para el archivo .pbix .

¿Podría sugerir dónde estoy cometiendo un error en el siguiente archivo?

mi archivo pbix

Atentamente

Sameer

No @deb_power123,

La relación entre la tabla de calendario y la tabla de asistencia debe realizarse en el nivel de fecha, por lo que debe dar formato a ambas columnas de la relación tiene fecha y, a continuación, realizar la relación.

El archivo tiene los datos conectados a una hoja de cálculo de Excel por lo que no puedo cambiarlo directamente, pero lo que necesita hacer es crear una fecha en la columna de la tabla de asistencia y dar formato a la tabla de calendario como columna da fecha, entonces todo debe funcionar correctamente.

Gracias por la respuesta, es muy extraño que haya hecho exactamente lo mismo de lo que usted sugirió. Se ha convertido el tipo a la hora de la fecha, pero los resultados de ausencia no son correctos. A continuación se presentan las capturas de pantalla:-

creó la fecha personalizada a medida que creó y la hizo fecha y es duplicado de la columna LastAttendancedate

change1.JPG

Hizo el tipo como fecha para la columna de fecha de tabla de calendario

change2.JPG

Calendario relacionado con la tabla de alumnos con fecha y columna personalizada como se muestra a continuación:-

change3.JPG

Todos los valores se muestran como ambos empleados están ausentes:

change5.JPG

Medida DAX utilizada:-

forumlasused.JPG

Pero para su archivo pbix está mostrando correctly.is algo que hice incorrecto o falta. Por favor, proporcione su opinión

Atentamente

Sameer

No @deb_power123,

En la nueva columna que cree no haga la base de la última asistencia y, a continuación, el formato tiene fecha para crear una columna de fecha, puede usar uno de los siguientes códigos:

Date = Date(YEAR(Table[LastAttendace]), MONHT(Table[LastAttendace]), DAY(Table[LastAttendace]))

Date = Table[LastAttendace].[Date]

También puede crear esta columna en el editor de consultas utilizando la sintaxis:

DateTime.Date ([LastAttendance])

Cree que al realizar la conversión sigue manteniendo la hora en segundo plano para que los cálculos no vuelvan correctamente, no entiendo realmente por qué.

Muchas gracias por la guía. Creo que tengo el enfoque ahora. Estaba realmente luchando con esto.

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!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors
Top Kudoed Authors