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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

Reply
Syndicate_Admin
Administrator
Administrator

Distribución de tiempo simple (corte de fecha) con relación inactiva

Hola

Supuestamente un problema muy simple.

"Tabla 1":

fgaertne103119_2-1696007690434.png

...

"TimeTable" (los datos completos son 08:00:00 - 16:30:00):

fgaertne103119_1-1696007369380.png

...

"DateTable" (2020-07-01 - Hoy):

fgaertne103119_3-1696007938054.png

....

Relaciones:

fgaertne103119_4-1696008318782.png

Tengo una segmentación de datos (DateTable[Date]) en mi página de informe y tengo una visualización para mi [LastUpdateTime] (con eje x "Time_only" y eje y Measure1 = CALCULATE(COUNTROWS('Table1'), GROUPBY('Table1','Table1'[LastUpdateTime])) )

fgaertne103119_5-1696008378341.png

Hasta ahora todo bien, el resultado es el esperado (suma del recuento de filas por ventana de tiempo de 1 minuto para el rango de fechas definido por la segmentación de datos de fecha).

AHORA, me gustaría tener la misma visualización en mi página de informe pero para [IssueTime].

Para ello he intentado utilizar la siguiente medida:

Measure2 = CALCULATE(COUNTROWS('Table1'), USERELATIONSHIP(DayTable[Time_only],'Table1'[IssueTime]), GROUPBY('Table1','Table1'[IssueTime]))

PERO el resultado no es el esperado (no muestra ningún recuento o solo muy pocos al extender significativamente el rango de fechas a través de Date Slicer).

Cuando quito la segmentación de datos de fecha, se ve un poco correcta.

Por lo tanto, asumiría que la función USERELATIONSHIP() cancela la relación existente con la "DateTable"?

He intentado modificar la medida así:

CALCULATE(COUNTROWS('Table1'), USERELATIONSHIP(DayTable[Time_only],'Table1'[IssueTime]), USERELATIONSHIP(Date[Date],'Table1'[IssueDate_only]), GROUPBY('Table1','Table1'[IssueTime]))

o así:

CALCULAR(CALCULAR(COUNTROWS('Tabla 1'), USERELATIONSHIP(DayTable[Time_only],'Table1'[IssueTime]), GROUPBY('Tabla1','Tabla1'[IssueTime])), USERELATIONSHIP('Tabla1'[IssueDate_only],'Fecha'[Fecha]))

pero fue en vano. 😞

¿Qué me falta y cómo puedo resolver este problema?

¡Gracias!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Encontré la solución, la función USERELATIONSHIP tiene que estar envuelta en otro CALCULATE como este Measure2 = CALCULATE(CALCULATE(...)), USERELATIONSHIP(..))). Extraño porque también claramente tuvo un efecto al usarlo dentro de un solo CALCULATE con las otras funciones. Mi falta de conocimiento de DAX me impide entender adecuadamente lo que está sucediendo, pero afortunadamente funciona ahora.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Encontré la solución, la función USERELATIONSHIP tiene que estar envuelta en otro CALCULATE como este Measure2 = CALCULATE(CALCULATE(...)), USERELATIONSHIP(..))). Extraño porque también claramente tuvo un efecto al usarlo dentro de un solo CALCULATE con las otras funciones. Mi falta de conocimiento de DAX me impide entender adecuadamente lo que está sucediendo, pero afortunadamente funciona ahora.

Syndicate_Admin
Administrator
Administrator

Suena como una respuesta de ChatGPT y me parece bastante inútil

Syndicate_Admin
Administrator
Administrator

Parece que está trabajando con Power BI o una herramienta de visualización de datos similar e intentando crear una visualización de distribución de tiempo para LastUpdateTime y IssueTime desde 'Tabla1' con una segmentación de datos de datos. El problema que está encontrando puede estar relacionado con la forma en que ha configurado sus medidas y relaciones.

Aquí hay una posible solución:

  1. Crear una tabla de calendario (DateTable): asegúrese de tener una tabla de calendario que cubra todo el intervalo de fechas que desea analizar. Esta tabla debe tener una columna para las fechas, y debe establecer una relación entre esta tabla y su 'Tabla1' utilizando la columna de fecha.

  2. Crear medidas: cree dos medidas, una para LastUpdateTime y otra para IssueTime. Estas medidas calcularán el recuento de filas en la 'Tabla 1' para cada ventana de tiempo.

LastUpdateTimeMeasure =
VAR SelectedDate = MAX(DateTable[Date])
DEVOLUCIÓN
CALCULAR(
COUNTROWS('Tabla 1'),
FILTER('Table1', 'Table1'[LastUpdateTime] >= SelectedDate && 'Table1'[LastUpdateTime] < SelectedDate + TIME(0, 1, 0))
)

IssueTimeMeasure =
VAR SelectedDate = MAX(DateTable[Date])
DEVOLUCIÓN
CALCULAR(
COUNTROWS('Tabla 1'),
FILTER('Table1', 'Table1'[IssueTime] >= SelectedDate && 'Table1'[IssueTime] < SelectedDate + TIME(0, 1, 0))
)

  1. Estas medidas calculan el recuento de filas en 'Tabla 1' para la fecha seleccionada y una ventana de tiempo de 1 minuto.

  2. Usar medidas en visualizaciones: Ahora, puede usar estas medidas en sus visualizaciones. Para el eje x, use la columna Time_only de su 'DateTable', y para el eje y, use las medidas que creó (LastUpdateTimeMeasure y IssueTimeMeasure).

  3. Aplicar segmentación de datos de fecha: aplique la segmentación de datos de fecha a la página del informe. Asegúrese de que la segmentación de datos filtra tanto la 'DateTable' como la 'Table1' para que coincidan con el intervalo de fechas seleccionado.

Este enfoque debería permitirle crear la visualización de distribución de tiempo para LastUpdateTime y IssueTime mientras se sigue utilizando la segmentación de datos de fecha para controlar el intervalo de fechas. Asegúrese de que la segmentación de datos de fecha esté configurada para afectar tanto a la tabla del calendario como a la tabla 'Tabla1' para que el filtrado de relaciones funcione como se esperaba.

Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Helpful resources

Announcements
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

Check out the October 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.

October NL Carousel

Fabric Community Update - October 2024

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

Top Solution Authors