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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Syndicate_Admin
Administrator
Administrator

Calcular rango a partir de la tabla virtual

Hola, tengo una tabla virtual (vTable) con las columnas PaymentId (clave única), BusinessUnitId y CompanyId. Estoy tratando de calcular el ranking de volumen de las empresas por lo siguiente:

RANKX(ALL('Company'), CALCULATE(COUNTX(vTable, [PaymentId])),, DESC, Skip)

Pero devuelve 1 para todas las empresas. ¿Es porque no hay relación entre la mesa virtual y la tabla Empresa? ¿Cuál será la solución para esta situación?

Gracias.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@jyou09 , Cualquiera que sea la columna que desee usar en visual, deben ser parte de Rankx o la tabla debe usarse en rankx.

En este caso, debe crear un rango en tablas o columnas relacionadas de la tabla

RANKX(ALL('Company'[PaymentId], 'Company'[BusinessUnitId], 'Company'[CompanyId]), CALCULATE(COUNTX(vTable, [PaymentId])),, DESC, Skip)

Clasificación de Power BI en tablas de dimensiones: https://youtu.be/X59qp5gfQoA

Rango de medida: https://www.youtube.com/watch?v=DZb_6j6WuZ0&list=PLPaNVDMhUXGaaqV92SBD5X2hk3TMNlHhb&index=40

Para Rango Consulte estos enlaces
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale
https://community.powerbi.com/t5/Community-Blog/Dynamic-TopN-made-easy-with-What-If-Parameter/ba-p/3...

@amitchandak Gracias por responder a mi pregunta. Mi situación es en realidad un poco complicada -

Mi modelo (Azure Analysis Services) tiene las tres tablas:

Empresa - IdDeEmpresa, Nombre de la empresa

BusinessUnit - BusinessUnitId, CompanyId, BusinessUnitName

Pago: PaymentId, BusinessUnitId, CompanyId, Amount

BusinessUnit solo tiene las filas para el usuario actual de la empresa de inicio de sesión. No hay relación entre él y otras tablas.

El pago es una tabla de hechos. Tiene relación con la tabla de la empresa.

El requisito es - Si inicio sesión como usuario de la empresa A, podré elegir varias unidades de negocio de mi empresa desde la segmentación de datos para comparar con todos los pagos de otras empresas.

Así que hice esto...

VAR T1 = CALCULATETABLE(Payment,EXCEPT(VALUES(Payment[CompanyId]),VALUES(BusinessUnit[CompanyId])))
VAR T2 = CALCULATETABLE(Payment,TREATAS(VALUES(BusinessUnit[BusinessUnitId]),Payment[BusinessUnitId]))

VAR vTable = UNION(T1, T2)

T1 es obtener el conjunto de datos para todas las demás empresas. T2 es obtener el conjunto de datos para las unidades de negocio seleccionadas de mi empresa. Luego combino el conjunto de datos para que sea vTable.

Ahora puedo obtener el recuento de filas y la cantidad correcta por - COUNTX(vTable,[PaymentId]) y SUMX(vTable,[Amount]). Pero el rango es demasiado difícil para mí. Todavía soy nuevo en DAX y Power BI. Así que por favor ayuda.

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!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Solution Authors
Top Kudoed Authors