Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola
Tengo 2 tablas (Pedidos, Tareas) con relación De varios a varios y Filtro de dirección única, de Tareas>Pedidos.
Necesito calcular la diferencia entre la fecha de pedido y la fecha de tarea. He estado usando Datediff y Calculate, pero no he conseguido resultados correctos. ¿Alguien puede ayudarme con eso?
Tabla de pedidos
ID de pedido | ID de usuario | Producto | Fecha del pedido | Estado del pedido |
1 | 2689105 | Prod 1 | 10/6/2020 | Completado |
2 | 2689105 | Prod 2 | 10/1/2020 | Cancelado |
3 | 1052689 | Prod 3 | 9/6/2020 | Completado |
4 | 5268910 | Prod 4 | 7/12/2020 | Completado |
Tabla de tareas
ID de tarea | ID de usuario | Tipo de tarea | Fecha de tarea |
1 | 2689105 | Tipo 1 | 10/5/2020 |
2 | 2689105 | Tipo 2 | 9/18/2020 |
3 | 1052689 | Tipo 1 | 7/20/2020 |
4 | 5268910 | Tipo 2 | 8/12/2020 |
5 | 5268910 | Tipo 1 | 10/1/2020 |
6 | 4356744 | Tipo 1 | 6/25/2020 |
El campo Clave es "ID de usuario". Las fechas de pedido también se filtran por un conjunto de productos, en este ejemplo "Prod 1" y "Prod 3", y la tabla tareas se filtra por tipo de tarea, en este ejemplo "Tipo 1".
Resultado esperado
ID de pedido | ID de usuario | Producto | Fecha del pedido | Fecha de tarea | Datediff | Estado del pedido |
1 | 2689105 | Prod 1 | 10/6/2020 | 10/5/2020 | 1 día | Completado |
3 | 1052689 | Prod 3 | 9/6/2020 | 7/20/2020 | 48 días | Completado |
¡Gracias!
Solved! Go to Solution.
Hola @9G,
Primero cree 3 tablas de segmentación como se muestra a continuación:
ID slicer = VALUES('Tasks Table'[User ID])
Product slicer = VALUES('Orders Table'[Product])
Type slicer = VALUES('Tasks Table'[Task Type])
A continuación, cree 4 medidas como se indica a continuación:
_Product = CALCULATE(MAX('Orders Table'[Product]),'Orders Table'[Product] in FILTERS('Product slicer'[Product]))
_User ID = CALCULATE(MAX('Orders Table'[User ID]),'Orders Table'[User ID] in FILTERS('ID slicer'[User ID]))
_Task date = CALCULATE(MAX('Tasks Table'[Task Date]),FILTER('Tasks Table','Tasks Table'[User ID]=[_User ID]&&'Tasks Table'[Task Type] in FILTERS('Type slicer'[Task Type])))
_Diff =
var _diff= DATEDIFF([_Task date],MAX('Orders Table'[Order Date]),DAY)
Return
IF(_diff<=1,_diff&" day",_diff&" days")
Y verás:
Para el archivo .pbix relacionado, pls ver adjunto.
Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
Hola @9G ,
¿Por qué no hay datos sobre 5268910 en el resultado esperado? ¿Cómo hacer coincidir "Producto" y "Tipo de tarea"?
Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
@v-kelly-msft como los datos tienen los filtros, básicamente 5268910 se excluye por el filtro, por lo tanto, el resultado contendrá valores en blanco para la diferencia de fecha.
Hola @9G,
Primero cree 3 tablas de segmentación como se muestra a continuación:
ID slicer = VALUES('Tasks Table'[User ID])
Product slicer = VALUES('Orders Table'[Product])
Type slicer = VALUES('Tasks Table'[Task Type])
A continuación, cree 4 medidas como se indica a continuación:
_Product = CALCULATE(MAX('Orders Table'[Product]),'Orders Table'[Product] in FILTERS('Product slicer'[Product]))
_User ID = CALCULATE(MAX('Orders Table'[User ID]),'Orders Table'[User ID] in FILTERS('ID slicer'[User ID]))
_Task date = CALCULATE(MAX('Tasks Table'[Task Date]),FILTER('Tasks Table','Tasks Table'[User ID]=[_User ID]&&'Tasks Table'[Task Type] in FILTERS('Type slicer'[Task Type])))
_Diff =
var _diff= DATEDIFF([_Task date],MAX('Orders Table'[Order Date]),DAY)
Return
IF(_diff<=1,_diff&" day",_diff&" days")
Y verás:
Para el archivo .pbix relacionado, pls ver adjunto.
Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
@9G , Debe tener una tabla de ID de usuario común.
Entonces usted puede tener
datediff(min(orders[Order Date]), max(Tasks[task Date]), Day)
recomienda
Proporcione sus comentarios y consejos para nuevos videos
Tutorial Series Dax Vs SQL Direct Query PBI Consejos
Apreciamos tus Felicitaciones.