Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Valor devuelto de la tabla relacionada inactiva

Buen día a todos,

Hoy estoy tratando de crear eventualmente una medida para mostrar una suma de un valor en un gráfico de barras o líneas, donde el valor solo se muestra una vez, según el máximo de fase.

Para hacer esto, necesito datos de 2 tablas. No puedo usar columnas calculadas, debido al uso de DirectQuery, por lo que debe hacerse en una medida. La Tabla1 es una tabla de Hechos, la Tabla2 es una tabla de Dimensiones. Debajo una abreviatura de las tablas.

Cuadro 1
IDENTIFICACIÓNFaseImporteetc.
1120
1220
1320
2131
31647
32647
41684
51645
52645
53645

Cuadro 2
IDENTIFICACIÓNImporteetc.
120
231
3647
4684
5645
654897
75646312
86846
9465486
1058

No hay una relación directa activa entre las 2 columnas. Sin embargo, existe una relación activa entre el 2, basada en la columna ID.

Ahora la pregunta es. ¿Cómo obtendré una tabla / medida que mostrará la Tabla 1, pero solo el MAX de Fase? Gustar:

Resultado de la tabla
IDENTIFICACIÓNFaseImporteetc
1320
2131
32647
41684
53645

Eventualmente quiero tener un gráfico de barras. Donde una suma de cantidad si se muestra como valor, y Fase se muestra en el eje X. Entonces, en este ejemplo, eso significaría que la Fase 1 muestra 710, la Fase 2 muestra 647 y la Fase 3 muestra 665.

He intentado usar Resumir
RESUMIR(
Tabla 1,
Tabla2[ID],
"temp1",
MAX(Tabla1[cantidad]))

y lookupvalue. (con y sin userelationship)
CALCULAR(
LOOKUPVALUE(
Tabla2[Importe],
Tabla1[Fase], MAX(Tabla1[Fase]),
Tabla2[ID],VALORES(Tabla2[ID]])
), USERELATIONSHIP(tabla1,tabla2))

¡Me encantaría escuchar tus pensamientos!

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

@decarsul
Aquí está el archivo de ejemplo actualizado https://we.tl/t-sttvJNdSEV

1.png

Amount Measure = 
VAR T1 =
    SUMMARIZE ( 'Table 1', 'Table 1'[ID], 'Table 1'[Phase] )
VAR T2 =
    ADDCOLUMNS (
        T1,
        "@MaxPhase", CALCULATE ( MAX ( 'Table 1'[Phase] ), ALLEXCEPT ( 'Table 1','Table 1'[ID] ) ),
        "@Amount", 
            CALCULATE (
                SUM ( 'Table 2'[Amount] ),
                USERELATIONSHIP ( 'Table 2'[ID], 'Table 1'[ID] ),
                CROSSFILTER ( 'Table 2'[ID], 'Table 1'[ID], BOTH )
            )
    )
VAR T3 = 
    FILTER ( T2, [Phase] = [@MaxPhase] )
RETURN
    SUMX ( T3, [@Amount] )

Parece funcionar de nuevo. ¡Es hora de validar!

Syndicate_Admin
Administrator
Administrator

Hola @decarsul
Realmente no desapruebo la necesidad de la Tabla 2. Aquí hay una solutio basada en la Tabla 1 con una columna calculada agregada https://we.tl/t-MV57LgfmCG

2.png1.png

Latest Phase = 
CALCULATE (
    MAX ( 'Table 1'[Phase] ),
    ALLEXCEPT ('Table 1', 'Table 1'[ID] )
)
Amount Measure = 
SUMX (
    VALUES ( 'Table 1'[ID] ),
    CALCULATE ( SELECTEDVALUE ( 'Table 1'[Amount] ) )
)

La tabla 2 tiene la cantidad, mientras que la tabla 1 no la tiene. Tal vez hubiera sido mejor no incluir ese en la muestra anterior. Como tal, edite y elimine esa columna en particular para reducir la confusión.

Y como se mencionó, como estoy usando DirectQuery, no puedo crear columnas calculadas, porque el servicio PowerBI en el que publicamos no lo admite.

@decarsul
Aquí tienes https://we.tl/t-iaJTiS2ZNa

2.png

Amount Measure = 
CALCULATE (
    SUM ( 'Table 2'[Amount] ),
    USERELATIONSHIP ( 'Table 2'[ID], 'Table 1'[ID] ),
    CROSSFILTER ( 'Table 2'[ID], 'Table 1'[ID], BOTH )
)

Muy bien, eso parece funcionar.

No era consciente de la función de filtro cruzado.

¡Es hora de la validación!

@decarsul
No estoy seguro sobre el resultado de la agregación. Depende de su lógica de negocio, pero no será un problema para enmendar.

así que acabo de validar. No cuadra.

Me falta el filtro MAX en el nivel de fase.

En este momento, está contando la cantidad por Fase, pero solo quiero que cuente en función del MAX de la Fase.

Simplemente agregar un filtro MAX no funciona.

Entonces, ¿cómo estoy introduciendo el MAX para la fase nr?

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors