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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Medidas que difieren en DAX Studio y Power Bi

Hola.

¿Alguno de ustedes ha tenido el siguiente problema? La medida [Prod_DAX_Studio] es la que utilicé en DAX Studio y genera la tabla que se muestra en la primera imagen adjunta. La medida [Prod] es similar a la que uso en mi archivo de Power BI (que se muestra en la segunda imagen).

Una cosa importante que vale la pena notar es que en [Prod_DAX_Studio] he filtrado la tabla d_users con el IdUser = 9324298, y lo he hecho para ilustrar mi problema.

Entonces, ¿qué estoy tratando de calcular? Bueno, básicamente, cuántas conexiones han tenido los usuarios después de su primera 'cita' almacenada en el d_users [DateFirstISP]. Por supuesto, estoy usando este DateFirstISP porque es posible que uno haya tenido conexiones antes de su primera 'cita' con el ISP.

Prod_DAX_Studio = -- Here, in DAX Studio, it works just fine...
VAR _Users_providers =
	DISTINCT ( d_providers_enjoyers[IdUser] )
VAR _Users_dimensao =
    	CALCULATETABLE (
		d_users,
		_Users_providers,
		d_providers_enjoyers ,
		d_users[IdUser] IN { 9324298 }
	)
VAR _Escopo_ISPs =
	ADDCOLUMNS (
		DISTINCT ( d_calendario[StartOfMonth] ),
		"@",
			CALCULATE (
				SUMX (
					_Users_dimensao,
					SUMX (
						FILTER (
							RELATEDTABLE ( f_connections_ISPs ),
							f_connections_ISPs[DateConnection] >= d_users[DateFirstISP]
						),
						f_connections_ISPs[Connections]
					)
				)
			)
	)
RETURN
	FILTER( _Escopo_ISPs, [@] > 0 )

Prod = -- ... however when I take the measure into my model, it does not work anymore
VAR _Users_providers = DISTINCT ( d_providers_enjoyers[IdUser] )
VAR _Users_dimensao = 
    CALCULATETABLE ( 
        d_users,
        _Users_providers,
        d_providers_enjoyers
    )
VAR _Escopo_ISPs =
    CALCULATE (
        SUMX (
            _Users_dimensao,
            SUMX (
                FILTER (
                    RELATEDTABLE ( f_connections_ISPs ),
                    f_connections_ISPs[DateConnection] >= d_users[DateFirstISP]
                ),
                f_connections_ISPs[Connections]
            )
        ),
        d_calendario
    )
RETURN
    _Escopo_ISPs

En esta imagen se muestra cuál es el resultado esperado (que se calcula correctamente en DAX Studio):

DAX Studio.png

Observe que en octubre de 2023 el número es 284, tal como el número calculado en la siguiente imagen. Sin embargo, lo que no se calcula en la siguiente imagen (que se calcula mediante la medida [Prod_DAX_Studio]) son los próximos meses, por ejemplo, 349 en noviembre, 716 en diciembre... como se muestra anteriormente en la imagen de arriba.

En la siguiente imagen se muestran dos tablas, donde la primera calcula el número correcto tanto para el mes como para el total general. Sin embargo, también debería mostrar los próximos meses, y no solo el mes en el que tuvo lugar su primera cita con los ISP (26 de octubre de 2023). La segunda tabla, calcula el valor correcto, pero si intento agregar cualquier granularidad de fecha, ya no funciona.

Pedro503_4-1710362763291.png

Así que aquí está mi punto: ¿alguna vez has tenido un problema así? Si es así, ¿cómo lo resolviste?

Gracias de antemano.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

¿Cuál es el objetivo de la

d_providers_enjoyers

¿filtro? Eso no parece ser necesario.

Oye.

Si no uso esta tabla como filtro, cuando esté segmentando la medida en un objeto visual, el resultado se mostrará como el mismo para cada fila y, lo que es peor, recibo el mensaje "El objeto visual ha superado los recursos disponibles" en todo el informe en el que se calcula esta medida.

Aquí está mi pestaña de modelado de datos:

Pedro503_0-1710378741380.png

Básicamente, la tabla d_providers_enjoyers se usa como puente para vincular el f_connections_ISPs[IdUser] con el d_providers[IdProvider]. Como no hay una relación directa entre ambas tablas, tengo que usar dicha tabla como tabla puente.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors