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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda de Dax

Hola comunidad,

Necesito ayuda sobre el siguiente problema:

En una de las páginas del informe hay un parámetro de campo y una segmentación de datos para alternar entre la parte superior e inferior para seleccionar los 5 primeros y los 5 inferiores. Parámetros de campo contiene 4 valores, es decir, desde el eje Y hasta gráficos de 6 barras con diferentes KPI.

Seek08_0-1700836811766.png

He escrito 6 dax diferentes para cada KPI, que si el usuario selecciona cualquier dimensión y Top/Bottom podrá ver esa información relevante. Beow es el código que he escrito código para ignorar cualquier KPI que esté en blanco, de lo contrario se repetirá el rango. El siguiente código es para uno de los KPI.

El siguiente código está funcionando, pero ejecutarlo tarda alrededor de ~ 10 segundos. ¿Alguien puede ayudar a optimizar este código o cualquier otra forma de escribir este código para obtener el mismo resultado?

temp =

VAR SeleccionadoArriba = 5

var _top=IF(SELECTEDVALUE( 'Arriba/Abajo'[Desc]) = "Abajo", -1, 1 )

var _RankDim1 =

CALCULATE(RANKX(FILTER(ALL('Dim Table1'[Dim1]),not ISBLANK([KPI1])),[KPI1]*_top,,DESC,Dense))

var _RankDim2 = CALCULATE(RANKX(FILTER(ALL('Dim Table2'[Dim2]),not ISBLANK([KPI1])),[KPI1]]*_top,,DESC,Dense))

var _RankDim3 = CALCULATE(RANKX(FILTER(ALL('Dim Table3'[Dim3]),not ISBLANK([KPI1])),[KPI1]*_top,,DESC,Dense))

var _RankDim4 = CALCULATE(RANKX(FILTER(ALL('Dim Table4'[Dim4]),not ISBLANK([KPI1])),[KPI1]]*_top,,DESC,Dense))

var _dim = SELECTEDVALUE(Dim Selection'[Orden de dimensión])

DEVOLUCIÓN

SWITCH(VALUES('Dimensión'[Orden de la dimensión]),

0,IF(_RankDim1<=5,[KPI1],BLANK()),

1,IF(_RankDim2<=5,[KPI1],BLANK()),

2,SI (_RankDim3< = 5,[KPI1],EN BLANCO ()),

3,SI (_RankDim4< = 5,[KPI1],EN BLANCO ()))

Seek08_1-1700837267316.png

¡Gracias!

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Su requisito no se puede lograr de manera significativa dados los datos que está mostrando.

Syndicate_Admin
Administrator
Administrator

No hay ningún otro campo que ordenar. Vea a continuación, solo necesito los primeros 5, incluso si la siguiente clasificación se realiza por columna de dimensión (por ejemplo, nombre de marca aquí).

Seek08_0-1701344041178.png

Syndicate_Admin
Administrator
Administrator

¿Cuál sería el resultado esperado? ¿También se puede ordenar por otro campo?

Syndicate_Admin
Administrator
Administrator

Gracias por responder.

Utilicé Rankx (summarize(filter - y filtré los espacios en blanco y, en lugar de la declaración, usé el tiempo de cambio y consulta, ahora reducido a ~ 6 segundos. KPI1 es dividir (a, b) mientras que a se calcula por sumx (debido a la multiplicación de conversiones).

Ahora, supongamos que KPI1 tiene el mismo valor para 50 filas, por ejemplo, 100% para 50 filas de 1000. Ahora, para filtrar solo los 5 primeros, esto no funciona ya que la condición es < = 5, por lo que las 50 filas cumplen con esta condición. Revisé otras publicaciones de la comunidad con RAND () para romper el empate, pero eso no funciona ya que todo es medida aquí, no columna. ¿Tenemos alguna solución para tal escneraio?

Syndicate_Admin
Administrator
Administrator

- mostrar el código de [KPI1]

- No declares las variables, en su lugar, inserta el código en la instrucción switch. De esa manera, se corta parte del procesamiento cuando se cierra el conmutador.

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

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! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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

Top Solution Authors
Top Kudoed Authors