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.
Revisado -
Hola, primera vez aquí. Tengo una pregunta para la comunidad.
Tengo un conjunto de datos que me permiten hacer una tabla que muestra Modelo, Componente y qty (a lo largo de semanas).
Cada modelo tiene varios componentes.
Estoy buscando crear una tabla que muestre los 5 modelos principales (basado en la cantidad de componente más alto) y para cada modelo quiero disply los 5 componentes principales.
Por ejemplo (considere que cada modelo tiene más de 10 componentes):
Modelo | Parte | Qty |
A | 1 | 200 |
A | 2 | 30 |
B | 5 | 300 |
B | 7 | 250 |
C | 8 | 400 |
C | 10 | 300 |
La tabla que estoy buscando debe mostrar Top 5 Model y Top 5 Component para cada modelo:
Modelo | Parte | Qty |
C | 8 | 400 |
C | 10 | 300 |
B | 5 | 300 |
B | 7 | 250 |
A | 1 | 200 |
A | 2 | 30 |
Gracias.
Solved! Go to Solution.
Hola @Renato28
Creo que desea mostrar Top5 en top1 sumas por modelo y por comp.
Utilizo la columna calculada para lograr tu objetivo.
Mi tabla3:
Firstlt Calculo la suma si QTY por modelo y comp.
SUM PER MODEL&COMP =
SUMX (
FILTER (
'Table (3)',
'Table (3)'[Model] = EARLIER ( 'Table (3)'[Model] )
&& 'Table (3)'[Comp #] = EARLIER ( 'Table (3)'[Comp #] )
),
'Table (3)'[Qty]
)
A continuación, clasifique la SUMA por modelo.
Rank = RANKX(FILTER('Table (3)','Table (3)'[Model]=EARLIER('Table (3)'[Model])),'Table (3)'[SUM PER MODEL&COMP],,DESC,Dense)
Finalmente deje que Top N muestre 1, y otros muestren 0.
Top N =
var _T = SUMMARIZE(FILTER('Table (3)','Table (3)'[Rank]=1),'Table (3)'[Model],'Table (3)'[SUM PER MODEL&COMP])
Return
VAR _T2 = ADDCOLUMNS(_T,"Rank2",RANKX(_T,[SUM PER MODEL&COMP],,DESC))
Return
VAR _Model = SUMMARIZE(FILTER(_T2,[Rank2]<2),[Model])
Return
IF('Table (3)'[Model] in _Model,1,0)
Debido a que sólo tengo dos modelos, así que muestro Top1.
Cree un objeto visual de matriz y arrastre la columna TopN y el rango en el campo de filtro, y ambos muestran los valores n.o 1.
Resultado:
Puede descargar el archivo pbix desde este enlace: Clasificación de modelos por el valor más alto de uno de sus componentes
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @Renato28
Puede probar mi medida, puede calcular el QTY máximo para cada modelo directamente.
M.QTY =
VAR _MAXQTY =
MAXX (
FILTER ( ALL ( 'Table' ), 'Table'[Model] = MAX ( 'Table'[Model] ) ),
'Table'[Qty]
)
RETURN
IF ( SUM ( 'Table'[Qty] ) = _MAXQTY, _MAXQTY, BLANK () )
Puede descargar el archivo pbix desde este enlace: Clasificación de modelos por el valor más alto de uno de sus componentes
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@RicoZhou, tks pero todavía no puedo hacer que funcione. El conjunto de datos que estoy usando detrás contiene los registros de historial de varias semanas de exctracción de los datos, así como la cantidad de componentes en necesidades se dividen en varias líneas una para cada semana, dicha cantidad es necesaria.
Estoy usando un objeto visual de matriz para mostrar la tabla. Ahora puedo tener los 5 componentes principales (para cada modelo) con su cantidad, si sólo miro el total (para un período seleccionado). Si agredo las semanas en la columna la tabla muestran muchas semanas vacías, las del mes seleccionado se rellenan, pero el resto no muestran nada).
Hola @Renato28
Necesito conocer las columnas de tu mesa. ¿Y la columna Total es una columna,calculada o una columna normal en el modelo de datos?
¿Podría mostrarme su modelo de datos? Y esto puede hacer que sea más fácil para mí entender su matriz visual.
¿Y podría decirme su lógica de cálculo en su columna de clasificación si es una medida?
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@v-rzhou-msft I thought to have posted a reply to your points but I can't see it, so here it is:
The columns in my table are imported from an excel file with the following columns:
Model #, Component #, Comp. description, Week impacted, Quantity. Plus some other columns but not relevant to the table I need to build.
For example:
Model | Comp # | Week impacted | Qty |
B | 234FB | 20wk43 | 5,765 |
B | 234FB | 20wk44 | 123,520 |
B | 234FB | 20wk45 | 122,880 |
B | 24R546GH | 20wk42 | 35,804 |
The Total column is done automaticaly by Power BI matrix.
The Rank column is just to show what I wish to have as a result. There is no measure nor other calculation behind it.
Hope this clarify the data structure. Thanks again for the help.
Hola @Renato28
¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su tabla y su problema o compártame con su archivo pbix de su Onedrive for Business.
Saludos
Rico Zhou
Hola @Renato28
Creo que desea mostrar Top5 en top1 sumas por modelo y por comp.
Utilizo la columna calculada para lograr tu objetivo.
Mi tabla3:
Firstlt Calculo la suma si QTY por modelo y comp.
SUM PER MODEL&COMP =
SUMX (
FILTER (
'Table (3)',
'Table (3)'[Model] = EARLIER ( 'Table (3)'[Model] )
&& 'Table (3)'[Comp #] = EARLIER ( 'Table (3)'[Comp #] )
),
'Table (3)'[Qty]
)
A continuación, clasifique la SUMA por modelo.
Rank = RANKX(FILTER('Table (3)','Table (3)'[Model]=EARLIER('Table (3)'[Model])),'Table (3)'[SUM PER MODEL&COMP],,DESC,Dense)
Finalmente deje que Top N muestre 1, y otros muestren 0.
Top N =
var _T = SUMMARIZE(FILTER('Table (3)','Table (3)'[Rank]=1),'Table (3)'[Model],'Table (3)'[SUM PER MODEL&COMP])
Return
VAR _T2 = ADDCOLUMNS(_T,"Rank2",RANKX(_T,[SUM PER MODEL&COMP],,DESC))
Return
VAR _Model = SUMMARIZE(FILTER(_T2,[Rank2]<2),[Model])
Return
IF('Table (3)'[Model] in _Model,1,0)
Debido a que sólo tengo dos modelos, así que muestro Top1.
Cree un objeto visual de matriz y arrastre la columna TopN y el rango en el campo de filtro, y ambos muestran los valores n.o 1.
Resultado:
Puede descargar el archivo pbix desde este enlace: Clasificación de modelos por el valor más alto de uno de sus componentes
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
puede crear un rango
Proud to be a Super User!
Gracias por el consejo, creé el rango, según su sugerencia, pero no ordena la tabla. También está el tema de las columnas de semanas. Estoy usando una tabla de matriz con Modelo, Componentes, Proveedor, etc. en las líneas y semanas en columnas con qty como valores.
@Renato28- Aquí hay un artículo que te muestra cómo hacer esto
https://www.sqlbi.com/articles/filtering-the-top-3-products-for-each-category-in-power-bi/
También recomiendo ver y leer el contenido publicado de estos chicos. ¡Aprenderás mucho!
@mpicca13 Gracias, no estoy seguro de que publiqué la respuesta correctamente o no.. noooooob... De todos modos gracias por el enlace. Me las arreglé con él para ordenar y limitar la lista de componentes a la parte superior 5. Ahora la parte difícil es: ¿Cómo puedo ordenar aún más la tabla de acortamiento por modelo (usando como clasificación el rango de la cantidad más alta de componentes de cada modelo contra uno contra el otro). Algo como esto:
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |