Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet 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
Hola a todos,
Tengo un requisito en el que necesito mostrar TOP N + Otros dinámicamente para diferentes tablas. Hay muchas tablas, así que quiero hacerlo dinámico. A continuación se muestra el código que funciona correctamente para una tabla, pero cuando trato de hacerlo dinámico, donde la tabla se selecciona a través de la segmentación, no funciona.
Código de trabajo para una tabla
DEFINE
MEASURE 'TopSalesTerritory'[Top N Sales] =
VAR TopNValue = ParamTopN[ParamTopN Value]
var ttable = ALLSELECTED(TopSalesTerritory)
var ttablecolumn = SELECTEDVALUE(TopSalesTerritory[Country])
--table with just top n ordered by sales amount
VAR TopNSalesTerritory =
TOPN(
TopNValue,
ttable,
MeasureTable[SumSalesAmount]
)
-- returns total for sales amount for all sales territory(not just top n)
VAR AllSales =
CALCULATE(
MeasureTable[SumSalesAmount],
ttable
)
-- total sales for "other" than the ones included in top N
-- other sales = all sales - sum(top n sales)
-- retuns sum of other sales
VAR OtherSales = AllSales - CALCULATE(MeasureTable[SumSalesAmount], TopNSalesTerritory)
-- returns sum for only Top N Sales Territory
var TopNSales =
CALCULATE(
MeasureTable[SumSalesAmount],
KEEPFILTERS(
TopNSalesTerritory
)
)
var CurrentSalesTerritory = ttablecolumn
RETURN
IF(
ISBLANK(CurrentSalesTerritory),
TopNSales + OtherSales,
IF(
CurrentSalesTerritory = "Other",
OtherSales,
TopNSales
)
)
EVALUATE
SUMMARIZECOLUMNS(
"Top N Sales", 'TopSalesTerritory'[Top N Sales]
)
He probado el siguiente código para hacerlo dinámico, pero no funciona y la función TOPN no lo acepta. Eventualmente, quiero tener un interruptor para poder cambiar las tablas en función de la selección de la segmentación.
VAR tablename = "TopSalesTerritory" //coming from slicer
VAR ttable =
IF (
tablename = "TopSalesTerritory",
ALLSELECTED(TopSalesTerritory),
ALLSELECTED(TopQuantityTerritory)
)
VAR TopNSalesTerritory =
TOPN(
TopNValue,
ttable,
MeasureTable[SumSalesAmount]
)
He intentado lo mismo para la medida y tampoco funciona.
VAR selectedMeasure = "SumSalesAmount" //coming from slicer
VAR tmeasure=
IF (
selectedMeasure = "SumSalesAmount",
[SumSalesAmount],
[SumQuantityAmount]
)
VAR TopNSalesTerritory =
TOPN(
TopNValue,
ttable,
tmeasure
)
Por favor, hágame saber lo que me estoy perdiendo. Gracias por su tiempo.
Te recomiendo que leas ese artículo y luego reconsideres tus requisitos.
Filtrado de los productos principales junto con los demás productos en Power BI - SQLBI
Hola @lbendlin , gracias por investigar esto. el artículo solo muestra UNA columna ordenada como TOPN con otras, mi requisito es mostrar: Producto, TOPNSalePrice, TOPNUnitPrice. Con la introducción de varias columnas alrededor del producto, estoy creando 2 medidas por tabla. Así que tengo el requisito de varias tablas como las siguientes. Con esto estoy teniendo que crear múltiples medidas por tabla y quería hacerlo dinámico. No veo esta opción en el artículo proporcionado a menos que me la esté perdiendo 😞
SaleType, TOPNSalePrice, TOPNUnitPrice
País, TOPNSalePrice, TOPNUnitPrice
OrderType, TOPNSalePrice, TOPNUnitPrice
No te falta nada. Si lees el artículo cuidadosamente, apreciarás lo increíblemente compleja que es la solución para un escenario "simple" con una columna y un TOPN(5) fijo. Estás empujando ese concepto mucho, mucho, mucho más allá de lo que es posible actualmente.
Si esto es importante para usted, considere votar por una idea existente o plantear una nueva en https://ideas.fabric.microsoft.com/?forum=2d80fd4a-16cb-4189-896b-e0dac5e08b41
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.