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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
kabra_ashish
Helper III
Helper III

Encontrar MAX en cada categoría

Necesito ayuda rápida.

Tengo una tabla en mi modelo de datos como se muestra a continuación:

Transacciones de fechas de nombre de registro (o)

1 A Ene-01-2020 115

2 A Feb-21-2020 200

3 A Mar-12-2020 80

4 B Feb-11-2020 75

5 B Mar-29-2020 120

Quiero crear una 4a columna que me dice si esa fila en particular tiene la transacción más alta para ese cliente en particular en "Sí" o "No"? Así que básicamente estoy buscando un "Sí" en el registro 2 para el cliente A y 5 para el cliente B y el resto como "No". ¿Esto es factible?

¡Gracias por toda la ayuda!

1 ACCEPTED SOLUTION
AllisonKennedy
Super User
Super User

Usted podría probar esto como columna calc:

IsMax - IF( 'Table1'[Transaction] á MAXX(FILTER(ALL('Table1'), 'Table1'[Name] ? EARLIER('Table1'[Name])), 'Table1'[Transaction]), "Yes", "No")

Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

View solution in original post

12 REPLIES 12
amitchandak
Super User
Super User

@kabra_ashish , como nueva columna

if([Transacciones (-)] - maxx(filter(table,[Name] ?earlier([Name])),[Transactions (-)]),"Sí", "No")

mahoneypat
Employee
Employee

Pruebe esta expresión, reemplazando Table por el nombre real de la tabla.

Es máx.
VAR thismax ?
SUM ( Tabla[Transacciones (-)] )
VAR maxthiscustomer ?
CALCULATE ( SUM ( Tabla [Transacciones (-)] ), ALLEXCEPT ( Tabla, Tabla[Nombre] ) )
devolución
IF ( thismax á maxthiscustomer, "Yes", "No" )

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


harshnathani
Community Champion
Community Champion

Hola @kabra_ashish ,

Transacción máxima ?

var max á MAXX(FILTER('Table', 'Table'[Name] á EARLIER('Table'[Name]))

devolución

IF( 'Tabla'[Transacción] - max , "Valor máximo", BLANK())

saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)

Gracias @harshnathani

Sin embargo, se produce y error en la variable creada. Dice "Demasiado pocos argumentos se pasaron a la función MAXX. El recuento mínimo de argumentos para la función es 2."

hola @kabra_ashish ,

Me perdí agregar Tabla[Transacciones]

Maximum Transaction =
VAR _max =
    MAXX (
        FILTER (
            'Table',
            'Table'[Name]
                = EARLIER ( 'Table'[Name] )
        ),
        Table[Transaction]
    )
RETURN
    IF (
        'Table'[Transaction] = _max,
        "Max Value",
        BLANK ()
    )

Además, la solución de @AllisonKennedy funcionará.

saludos

Harsh Nathani

AllisonKennedy
Super User
Super User

Usted podría probar esto como columna calc:

IsMax - IF( 'Table1'[Transaction] á MAXX(FILTER(ALL('Table1'), 'Table1'[Name] ? EARLIER('Table1'[Name])), 'Table1'[Transaction]), "Yes", "No")

Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Todas las soluciones proporcionadas por @AllisonKennedy @mahoneypat @harshnathani han funcionado realmente.

¿Puedo añadir una pregunta más similar? Esto eliminará las tablas innecesarias y mejorará el modelo de datos.

Digamos que sólo tengo 1 campo:

Campo:

A01/01/2020

A01/01/2020

A01/01/2020

A03/12/2020

B02/11/2020

B03/29/2020

¿Es posible añadir una nueva columna calculada que da los recuentos:

Ejemplo: los registros 1,2 y 3 darán 3 cada uno porque pertenecen a la misma categoría (A01/01/2020) y luego 4,5,6 da 1 cada uno.

Gracias @harshnathani. ¡Esto es realmente increíble!

Lo sentimos demasiadas preguntas, pero esta es mi última (que es básicamente una combinación de mi primera y anterior pregunta) - En el siguiente ejemplo A01/01/2020 tiene el recuento más alto (apareciendo tres veces) así que necesito un "Sí" delante de ellos. Simlarly B tiene el más alto el 24/02/2020 (apareciendo dos veces). Si usted puede ayudarme aquí también que sería muy útil para que pueda cerrar mi serie de preguntas.

Nombre: Columna (necesario)

A01/01/2020 Sí

A01/01/2020 Sí

A01/01/2020 Sí

A15/03/2020 No

A20/04/2020 No

B12/01/2020 No

B24/02/2020 Sí

B24/02/2020 Sí

Hola @kabra_ashish ,

Puede crear esta columna calculada:

Result = 
VAR tab =
    ADDCOLUMNS (
        'Table',
        "Count", CALCULATE ( COUNT ( 'Table'[Name] ), FILTER(ALL('Table'),'Table'[Name] = EARLIER ( 'Table'[Name] ) )),
        "_Name", LEFT ( 'Table'[Name], 1 )
    )
VAR newtab =
    ADDCOLUMNS (
        tab,
        "Re",
        VAR _max =
            MAXX ( FILTER ( tab, [_Name] = EARLIER ( [_Name] ) ), [Count] )
        RETURN
            IF ( [Count] >= _max, "Yes", "No" )
    )
RETURN
    MAXX ( FILTER ( newtab, [Name] = EARLIER('Table'[Name]) ), [Re] )

Name result.png

Adjunto un archivo de muestra en el siguiente, espera ayudarle.

Best Looks,
Yingjie Li

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 @kabra_ashish ,

Deberá separar A y B en una columna independiente.

saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)

hola @kabra_ashish ,

Crear una medida: CALCULATE(COUNTA(Table[id]) , FILTER(ALL(Table) , Table[id] á MAX(Table[id]))

saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)

hola @kabra_ashish ,

También puede crear un colun

Column = COUNTX(FILTER('Table', 'Table'[Id] = EARLIER('Table'[Id])),'Table'[Id])

1.jpg\

saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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

Top Solution Authors