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

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.

Reply
Anonymous
Not applicable

Clasificación de modelos por el valor más alto de uno de sus componentes

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):

ModeloParteQty
A1200
A230
B5300
B7250
C8400
C10300

La tabla que estoy buscando debe mostrar Top 5 Model y Top 5 Component para cada modelo:

ModeloParteQty
C8400
C10300
B5300
B7250
A1200
A230

Gracias.

1 ACCEPTED 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:

1.png

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:

3.png

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.

View solution in original post

10 REPLIES 10
v-rzhou-msft
Community Support
Community Support

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.

Anonymous
Not applicable

@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.

Anonymous
Not applicable

@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:

ModelComp #Week impactedQty
B234FB20wk435,765
B234FB20wk44123,520
B234FB20wk45122,880
B24R546GH20wk4235,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:

1.png

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:

3.png

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.

vanessafvg
Super User
Super User

puede crear un rango

ModelRank - CALCULATE (RANKX(ALLEXCEPT(ModelRank,ModelRank[Model]), CALCULATE(sum(ModelRank[Qty]))))
a continuación, establezca el filtro para ese rango en 1 en el objeto visual
Capture.PNG




If I took the time to answer your question and I came up with a solution, please mark my post as a solution and /or give kudos freely for the effort 🙂 Thank you!

Proud to be a Super User!




Anonymous
Not applicable

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!

Anonymous
Not applicable

@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:Table sorted.PNG

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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