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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo filtrar la tabla relacionada por medida?

¡Hola! Soy muy-muy nuevo en Power Bi y, desafortunadamente, me quedé atascado con este problema. Tengo tres tablas (dos tablas con hechos (costos y tráfico) y una tabla con kyes (para filtrar). Estoy tratando de escribir una medida, que mostrará una suma de dinero gastado (un

facts_ads_costs campo [adCost]) pero solo si hay al menos una sesión en la tabla facts_GA_traffic.

Y esta variante que escribí no funciona.

amount_spent =
Sesiones VAR = SUM(facts_GA_traffic[sesiones])
DEVOLUCIÓN
CALCULATE(SUM(facts_ads_costs[adCost]), sesiones > 1)

¿Podría por favor ayudar? ¡Gracias!

tables.png

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hay @Notbad ,

Acompañando su imagen, la relación en sus tablas:

key_utm_from_BQ a facts_GA_traffic :uno a muchos(1:*)

key_utm_from_BQ a facts_ads_costs:uno a muchos(1:*)

facts_GA_traffic y facts_ads_costs, no con relación directa.

Así que necesitas mostrar la relación throuth dax.

Y según su imagen, creo una muestra:

key_utm_from_BQ :

vluwangmsft_0-1639465641159.png

facts_GA_traffic:

vluwangmsft_1-1639465657160.png

facts_ads_costs:

vluwangmsft_2-1639465683564.png

Relación:

vluwangmsft_3-1639465699206.png

su medida:

amount_spent =
VAR sessions =
    SUM ( facts_GA_traffic[sessions] )
RETURN
    CALCULATE ( SUM ( facts_ads_costs[adCost] ), sessions > 1 )

Devolución:

vluwangmsft_4-1639465788758.png

Y en base a las tres tablas, pruebe los siguientes pasos:

Paso 1, cree una medida en facts_GA_traffic:

session1 = SUM(facts_GA_traffic[sessions])

Paso 2, cree la medida en facts_ads_costs:

amount_spent = 
CALCULATE(SUM(facts_ads_costs[adCost]),FILTER(facts_GA_traffic,facts_GA_traffic[medium]=MAX(facts_ads_costs[medium])&&facts_GA_traffic[session1]>1))

Obtenga el resultado (la figura a continuación, solo medio = 3 satisface la condición):

vluwangmsft_5-1639465917785.png

¿Respondí a su pregunta? ¡Marca mi post como solución!


Saludos

Lucien

Syndicate_Admin
Administrator
Administrator

Creo que esto hace lo que estás tratando de lograr:

amount_spent =
VAR sessions = SUM(facts_GA_traffic[sessions])

RETURN

IF( sessions > 1,
	SUM(facts_ads_costs[adCost]),
	BLANK()
)

Lo que estabas haciendo no funcionaría una fila en facts_ads_costs no tiene una columna de sesiones para filtrar.

Helpful resources

Announcements
PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.