Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
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!
Check out the February 2025 Power BI update to learn about new features.