March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola a todos,
Tengo una columna de Nombres de tarea y una columna de fechas de tarea. Me gustaría crear un informe que permita a los usuarios seleccionar dos tareas diferentes y determinar el número de días entre esas dos fechas de tarea.
Columna A - Nombre de la tarea
Columna B - Fecha de la tarea
Necesitaría segmentaciones de datos para permitir a los usuarios elegir dos tareas (presumiblemente dos segmentaciones separadas, y pensando que serían de dos tablas separadas.
Tabla resultante deseada
Tarea 1 Nombre , Tarea 2 Nombre , Encabezado de diferencia de fecha
Tarea 1 Fecha , Tarea 2 Fecha , Fecha Diferencia en Días
He intentado varios enfoques hasta ahora y no he sido capaz de resolver esto. Cualquier ayuda sería apreciada.
Hola @forti4040 ,
Por favor, compruebe:
1. Introduzca los datos para crear la tabla ColumnHeader1. El orden es el recuento del nombre de la tarea +1.
2. Cree la tabla ColumnHeader2.
ColumnHeader2 =
UNION (
ADDCOLUMNS (
VALUES ( 'Table'[Task Name] ),
"Order", CONVERT ( RIGHT ( [Task Name], SEARCH ( " ", [Task Name] ) - 3 ), INTEGER )
),
ColumnHeader1
)
3. Cree una tabla de segmentación de datos.
Task Name Slicer = VALUES('Table'[Task Name])
4. Crear medidas.
Date Difference in Days =
VAR T1 =
MIN ( 'Task Name Slicer'[Task Name] )
VAR T1_Date =
CALCULATE ( MAX ( 'Table'[Task Date] ), 'Table'[Task Name] = T1 )
VAR T2 =
MAX ( 'Task Name Slicer'[Task Name] )
VAR T2_Date =
CALCULATE ( MAX ( 'Table'[Task Date] ), 'Table'[Task Name] = T2 )
RETURN
DATEDIFF ( T1_Date, T2_Date, DAY )
Value Measure =
VAR Task_ =
MAX ( 'ColumnHeader2'[Task Name] )
RETURN
IF (
Task_ = "Date Difference in Days",
[Date Difference in Days],
CONVERT (
CALCULATE ( MAX ( 'Table'[Task Date] ), 'Table'[Task Name] = Task_ ),
STRING
)
)
Measure =
IF (
MAX ( 'ColumnHeader2'[Task Name] ) = "Date Difference in Days",
1,
IF (
MAX ( 'ColumnHeader2'[Task Name] ) IN VALUES ( 'Task Name Slicer'[Task Name] ),
1
)
)
5. Cree un objeto visual Matrix.
6. Entonces, obtendrá esto:
BTW, archivo .pbix adjunto.
Saludos
Icey
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@Icey ,
Thank you for the incredibly detailed response, which looks like it will solve my issue beautifully. The only challenge I have in getting started is that my # of tasks may change. You mentioned needing to set ColumnHeader1 Table to a value of Count Tasks +1. If this is dynamic, how would I go about this?
FYI I have an append process which is adding tasks from another source and is why this may be dynamic.
Thank you again and looking forward to your response.
Hola @forti4040 ,
Puede crear su tabla ColumnHeader1 de la siguiente manera:
ColumnHeader1 =
ADDCOLUMNS (
DATATABLE ( "ColumnHeader", STRING, { { "Date Difference in Days" } } ),
"Order", DISTINCTCOUNT ( 'Table'[Task Name] ) + 1
)
Saludos
Icey
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Sí, necesita dos tablas independientes (podría importar la tabla una vez y, a continuación, en Power Query crear una referencia)
Asigne las tareas a sus segmentaciones de datos, haga cada selección de segmentación de datos y, a continuación, cree una medida en algún lugar que diga
diff - selectedvalue(table1[date])-selectedvalue(table2[date])
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.