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.
Hola gurús,
Tengo las siguientes dapps una vez script:
¿Puede explicar sus datos un poco más @suojis?
No entiendo la fila 3. ¿Por qué hay una relación entre 1 y 4?
Además, si proporciona datos adicionales, utilice la opción de tabla para que no haya unos pocos cientos de espacios y char(160) para deshacerse de. Hay más información sobre cómo compartir datos en el foro en los enlaces a continuación.
Cómo obtener una buena ayuda rápidamente. Ayúdanos a ayudarte.
Cómo obtener respuestas a su pregunta rápidamente
Cómo proporcionar datos de ejemplo en el foro de Power BI
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingWorkItemId | TargetWorkItemId | LinkTypeName |
1 | 2 | Niño |
1 | 3 | Niño |
2 | 4 | Niño |
3 | 1 | relacionado |
WorkItemId | TargetWorkID | LinkTypeName | Nivel |
1 | 2 | Niño | 1 |
1 | 3 | Niño | 1 |
1 | 4 | Niño | 2 |
2 | 4 | Niño | 1 |
3 | 1 | relacionado | 1 |
3 | 2 | Niño | 2 |
3 | 4 | Niño | 3 |
Hola @suojis,
Escribo dos funciones personalizadas para análisis de registros de tabla sin procesar y extraigo los registros correspondientes, puede probarlo si ayuda. (aviso: estas fórmulas todavía requerían procesamiento adicional para comprobar los niveles de relación y reemplazar los valores de los campos de nodo)
Funciones recursivas:
let
FindDenpency=(source as table, current as number, target as number, optional output as table)=>
let
search=
if output <> null
then Table.SelectRows(source, each [LinkTypeName]="Child" and [TargetWorkItemId]=current)
else Table.SelectRows(source, each [LinkTypeName]="Child" and [WorkItemId]=current and [TargetWorkItemId]=target),
merged=
if output <> null
then Table.Combine({search,output})
else search,
result =
if Table.RowCount(search) > 0
then FindDenpency(source, search{0}[WorkItemId], search{0}[TargetWorkItemId], merged)
else merged
in
result
in
FindDenpency
let
FindReference=(source as table, target as number, optional item as list, optional output as table)=>
let
search =
if item <> null
then Table.SelectRows(source, each [LinkTypeName]="Child" and List.Contains(item, [WorkItemId]))
else Table.SelectRows(source,each [LinkTypeName]="Child" and [WorkItemId] = target),
merged=
if output <> null
then Table.Combine({search,output})
else search,
result =
if Table.RowCount(search) >0
then FindReference(source,target, search[TargetWorkItemId],merged)
else merged
in
result
in
FindReference
Tabla de pruebas:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTICYueMzJwUpVgdiIgxighI3gRFBCQPUheUmpNYkgoUiwUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [WorkItemId = _t, TargetWorkItemId = _t, LinkTypeName = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"WorkItemId", Int64.Type}, {"TargetWorkItemId", Int64.Type}, {"LinkTypeName", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Relationship", each
if [LinkTypeName]="Child"
then FindDenpency(#"Changed Type",[WorkItemId],[TargetWorkItemId])
else FindReference(#"Changed Type",[TargetWorkItemId]))
in
#"Added Custom"
saludos
Xiaoxin Sheng
Hola @suojis - si alguien más salta en que es genial. Estoy golpeado y necesito dar un paso atrás y mirar esto, así que no lo he abandonado, pero esto no es una solución rápida que puedo ver todavía. Miraré con más seriedad esta noche o mañana cuando termine mi fecha límite hoy con el trabajo. 👍
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingCovering 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 |