Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Me gustaría agregar una columna y establecer su valor en función de si existe o no un valor en una tabla diferente.
Tengo una tabla denominada Tareas que quiero agregar una columna denominada WorkItemType. El valor de esta columna será una entrada de texto definida por si el elemento primario de la fila en las tareas está o no en una tabla diferente.
Así que tengo:
Tareas
WorkItemId | ParentWorkItemId |
123 | 122 |
124 | 135 |
129 | 151 |
bugs
WorkItemId | Título |
122 | A |
128 | B |
Historias de usuario
WorkItemId | Título |
138 | Apoyo01 |
135 | Característica01 |
151 | Característica02 |
Y le gustaría que el resultado fuera:
Tareas
WorkItemId | ParentWorkItemId | WorkItemType |
123 | 122 | Error |
124 | 138 | Apoyo |
129 | 151 | Otro |
La estructura de la relación tiene este aspecto:
Con el fin de dividirlo en trozos más pequeños he tratado de conseguir sólo la determinación de errores trabajando. He tratado de seguir
= Table.AddColumn(Custom1, "WorkItemType", cada uno if( Table.Contains (Bugs, Bugs[WorkItemId] = [ParentWorkItemId])) y luego "bug" else "other" )
Pero tengo un error que indica que:
Expression.Error: No podemos convertir el valor false en type Record.
Detalles:
Valor=FALSE
Tipo=[Tipo]
También he intentado:
= Table.AddColumn(Custom1, "WorkItemType", cada uno if( Table.Contains (Bugs, Bugs[WorkItemId] = Tasks[ParentWorkItemId])) y luego "bug" else "other" )
Pero eso termina con un error: Expression.Error: Se encontró una referencia cíclica durante la evaluación.
Cualquier ayuda sería muy apreciada.
Solved! Go to Solution.
No @BBurnett,
Puede probar los siguientes pasos:
Paso 1, cree una nueva base de tabla en Historias de usuario:
User Stories2 = CALCULATETABLE('User Stories',FILTER(all('User Stories'),'User Stories'[Title]="Support01"))
Paso 2, utilice la siguiente medida:
final =
VAR test1 =
CONTAINS ( 'Bugs', Bugs[WorkItemId], MAX ( Tasks[ParentWorkItemId] ) )
VAR test2 =
IF ( test1 = TRUE, "Bugs", "Others" )
VAR test3 =
CONTAINS (
'User Stories2',
'User Stories2'[WorkItemId], MAX ( Tasks[ParentWorkItemId] )
)
VAR test4 =
IF ( test3 = TRUE, "Support", "Others" )
VAR test5 =
IF ( TEST2 = "Bugs", "Bugs", IF ( test4 = "Support", "Support", "Others" ) )
RETURN
test5
Paso 3, nueva base de columna en la medida:
final1 = [final]
¡Ojalá sea útil para ti!
Saludos
Lucien
No @BBurnett,
Puede probar los siguientes pasos:
Paso 1, cree una nueva base de tabla en Historias de usuario:
User Stories2 = CALCULATETABLE('User Stories',FILTER(all('User Stories'),'User Stories'[Title]="Support01"))
Paso 2, utilice la siguiente medida:
final =
VAR test1 =
CONTAINS ( 'Bugs', Bugs[WorkItemId], MAX ( Tasks[ParentWorkItemId] ) )
VAR test2 =
IF ( test1 = TRUE, "Bugs", "Others" )
VAR test3 =
CONTAINS (
'User Stories2',
'User Stories2'[WorkItemId], MAX ( Tasks[ParentWorkItemId] )
)
VAR test4 =
IF ( test3 = TRUE, "Support", "Others" )
VAR test5 =
IF ( TEST2 = "Bugs", "Bugs", IF ( test4 = "Support", "Support", "Others" ) )
RETURN
test5
Paso 3, nueva base de columna en la medida:
final1 = [final]
¡Ojalá sea útil para ti!
Saludos
Lucien
Sí, ambos son del mismo tipo de datos. Todos los enteros.
@BBurnett , Son estos del mismo tipo de datos
Bugs[WorkItemId] = [ParentWorkItemId] ?
Compruebe también esto
https://eriksvensen.wordpress.com/2019/02/28/powerquery-replicate-doing-an-excel-vlookup-in-m/
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |