Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos
Lo sentimos si esto se ha preguntado antes, He mirado alrededor por un poco, pero aún no he encontrado una solución que funcione para mi modelo.
Tengo una tabla con unidades de ventas y diferentes categorías.
Tengo una medida para clasificar cada categoría en función de la suma de unidades. (Lo tengo en una medida porque no logran que funcione en una columna).
Ahora quiero calcular en una medida el % de unidades que representa el rango superior 1 (es decir, unidades si el rango 1 / total de unidades).
Probé esta fórmula:
% unidades Top 1 - CALCULATE([Qty],[Rank]-1)
pero me da el siguiente mensaje: Se ha utilizado una función 'CALCULATE' en una expresión True/False que se utiliza como expresión de filtro de tabla. Esto no está permitido.
¿Alguna idea de cómo evitar eso? o una manera diferente de hacerlo?
**La razón por la que lo necesito en una medida es porque lo estoy usando en la visualización de Enlighten Data Story para poder decir "top 1 representa el xx% de las ventas".
Solved! Go to Solution.
Hola @mq2020 ,
Podemos usar la siguiente medida para cumplir con sus requisitos.
% units Top 1 =
VAR sum_table =
SUMMARIZE (
'Table',
'Table'[categories],
"sum", CALCULATE ( SUM ( 'Table'[sales units] ) )
)
VAR total_units =
CALCULATE ( SUM ( 'Table'[sales units] ), ALLSELECTED ( 'Table' ) )
RETURN
CALCULATE ( [Qty], FILTER ( sum_table, [rank] = 1 ) ) / total_units
El resultado así,
Si no cumple con su requisito, ¿podría mostrar el resultado exacto esperado basado en la tabla que hemos compartido?
BTW, pbix como adjunto.
Saludos
Equipo de Apoyo comunitario _ zhenbw
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @mq2020 ,
Podemos usar la siguiente medida para cumplir con sus requisitos.
% units Top 1 =
VAR sum_table =
SUMMARIZE (
'Table',
'Table'[categories],
"sum", CALCULATE ( SUM ( 'Table'[sales units] ) )
)
VAR total_units =
CALCULATE ( SUM ( 'Table'[sales units] ), ALLSELECTED ( 'Table' ) )
RETURN
CALCULATE ( [Qty], FILTER ( sum_table, [rank] = 1 ) ) / total_units
El resultado así,
Si no cumple con su requisito, ¿podría mostrar el resultado exacto esperado basado en la tabla que hemos compartido?
BTW, pbix como adjunto.
Saludos
Equipo de Apoyo comunitario _ zhenbw
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Muchas gracias @v-zhenbw-msft
Funcionó maravillosamente.
Sólo un rápido con respecto a la VAR sum_table si no te importa:
(VAR sum_table- SUMMARIZE ( 'Tabla', 'Tabla'[categorías], "suma", CALCULATE ( SUM ( 'Table'[sales units] ) ) ) )
He usado la función Resumir antes para crear una tabla, pero pensé que era una tabla estática (es decir, si cambio el year_quarter en una segmentación de datos en el panel, entonces la tabla no cambiaría) -> De lo que veo en este cálculo cambia según la selección de segmentación -> ¿Es eso solo porque la función Resumir se está utilizando como UN VAR en lugar de una tabla?
Espero estar explanándome a mí mismo.
¡Gracias!
@mq2020 , Tratar como
% unidades Top 1 - CALCULATE([Qty],filter(Table,[Rank]-1))
Una medida sólo puede venir en el filtro.
Para el rango Refiera estos links
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
Hola @amitchandak
Gracias - se quitó el mensaje de error sin embargo parece que me está dando el resultado de unidades totales en lugar de las que el rango es 1, no está seguro de por qué?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |