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

Compruebe si los vendedores dividen las cuentas en el mes dado

Hola a todos

Tengo un problema en el que estoy intentando replicar la función COUNTIFS de Excel en PowerBI. Básicamente, tengo datos de ventas que me dan el Mes de ventas, Nombre de cuenta y Vendedor. Para calcular la comisión, el vendedor obtiene la comisión completa si solo se vendió a ese cliente en ese mes. Si dos vendedores venden al mismo cliente en el mismo mes, el bote se divide 50/50. Si la Persona A vende al Cliente A en el Mes 1 y la Persona B vende al Cliente A en el Mes 2, no se dividirán comisiones.

Esto es muy fácil de hacer en Excel, pero lo encuentro complicado en PowerBI : vea los datos sin procesar adjuntos y el resultado esperado. No creo que pueda usar CALCULATE(FILTER(...)) ya que necesito que los valores aparezcan en la columna para poder filtrar por todos los '0.5s'.

¿Algún consejo sobre cómo se podría lograr esto en BI? ¡Su ayuda es muy apreciada! Data Datos Outcome de resultados

2 ACCEPTED SOLUTIONS
Icey
Community Support
Community Support

Hola @EMSh30 ,

@Greg_Decklerfórmula es genial, pero hay dos errores tipográficos. Lo he marcado en la captura de pantalla de abajo. Después de modificarlo, el resultado es el mismo que desea.

including.jpg

Saludos

Icey

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

Icey
Community Support
Community Support

Hola @EMSh30 ,

En mi opinión, el primer valor debe ser 1, ¿verdad?

Updated.PNG

Si es así, prueba lo siguiente:

1. Agregue una columna de índice en Power Query Editor.

2. Cree una columna así:

Column =
VAR __Account = [Account]
VAR __Month =
    MONTH ( [Month] )
VAR __Year =
    YEAR ( [Month] )
VAR __Index = [Index]
VAR __Salesperson = [Salesperson]
VAR __Table =
    ADDCOLUMNS (
        'Table (2)',
        "__Year", YEAR ( [Month] ),
        "__Month", MONTH ( [Month] )
    )
VAR __Table1 =
    SUMMARIZE ( __Table, [__Year], [__Month], [Account], [Salesperson], [Index] )
VAR result1 =
    COUNTROWS (
        DISTINCT (
            SELECTCOLUMNS (
                FILTER (
                    __Table1,
                    [__Month] = __Month
                        && [__Year] = __Year
                        && [Account] = __Account
                ),
                "__Salesperson", [Salesperson]
            )
        )
    )
VAR result2 =
    COUNTROWS (
        FILTER (
            __Table1,
            [__Month] = __Month
                && [__Year] = __Year
                && [Account] = __Account
                && [Salesperson] = __Salesperson
                && [Index] <= __Index
        )
    )
RETURN
    IF ( result2 > 1, 0, IF ( result1 = 1, 1, 0.5 ) )

includ.JPG

Saludos

Icey

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

8 REPLIES 8
Icey
Community Support
Community Support

Hola @EMSh30 ,

@Greg_Decklerfórmula es genial, pero hay dos errores tipográficos. Lo he marcado en la captura de pantalla de abajo. Después de modificarlo, el resultado es el mismo que desea.

including.jpg

Saludos

Icey

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

@Icey @Greg_Deckler

Gracias de nuevo por su ayuda con esto. Me preguntaba si podría ayudarme con esta ligera modificación.

¿Cómo cambiaría la fórmula si quisiera contar solo la cuenta una vez y hubiera varias entradas en un mes determinado? Ver imagen adjunta - en esto, John vendió a A dos veces en el mismo mes, así que sólo quiero que la primera entrada se registre como un 1 para ese mes. Cuando les vende de nuevo en el mes 2, obtiene un 1 ya que sólo vendió a esa compañía una vez.

He intentado agregar columnas auxiliares y calcular a partir de eso, pero no funciona. Estoy seguro de que debe ser un ligero retoque en sus fórmulas, pero no puedo encontrar ese ajuste en el minuto.

Gracias de nuevo!! Updated.PNG

Icey
Community Support
Community Support

Hola @EMSh30 ,

En mi opinión, el primer valor debe ser 1, ¿verdad?

Updated.PNG

Si es así, prueba lo siguiente:

1. Agregue una columna de índice en Power Query Editor.

2. Cree una columna así:

Column =
VAR __Account = [Account]
VAR __Month =
    MONTH ( [Month] )
VAR __Year =
    YEAR ( [Month] )
VAR __Index = [Index]
VAR __Salesperson = [Salesperson]
VAR __Table =
    ADDCOLUMNS (
        'Table (2)',
        "__Year", YEAR ( [Month] ),
        "__Month", MONTH ( [Month] )
    )
VAR __Table1 =
    SUMMARIZE ( __Table, [__Year], [__Month], [Account], [Salesperson], [Index] )
VAR result1 =
    COUNTROWS (
        DISTINCT (
            SELECTCOLUMNS (
                FILTER (
                    __Table1,
                    [__Month] = __Month
                        && [__Year] = __Year
                        && [Account] = __Account
                ),
                "__Salesperson", [Salesperson]
            )
        )
    )
VAR result2 =
    COUNTROWS (
        FILTER (
            __Table1,
            [__Month] = __Month
                && [__Year] = __Year
                && [Account] = __Account
                && [Salesperson] = __Salesperson
                && [Index] <= __Index
        )
    )
RETURN
    IF ( result2 > 1, 0, IF ( result1 = 1, 1, 0.5 ) )

includ.JPG

Saludos

Icey

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

@Icey Esto es increíble - eres un salvavidas, gracias!

Anonymous
Not applicable

Esto es fantástico, gracias a ambos!!

Greg_Deckler
Super User
Super User

@EMSh30 Tal vez intente esto:

Included? Column =
  VAR __Account = [Account])
  VAR __Month = MONTH([Month])
  VAR __Year = YEAR([Month])
  VAR __Table = ADDCOLUMNS('Table',"__Year",YEAR([Month]),"__Month",MONTH([Month]))
  VAR __Table1 = SUMMARIZE(__Table,[Year],[Month],[Account])
RETURN
  IF(COUNTROWS(FILTER(__Table1,[__Month]=__Month && [__Year]=__Year && [Account]=__Account))=1,1,.5)

@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

@Greg_Deckler - ¡Gracias por esto! Sin embargo, ¿no parece considerar al vendedor? Cuando ejecuto esta fórmula en mi conjunto de datos, parece contar cuántas veces aparece el nombre, pero no considera si 2 personas han vendido a 1 empresa en 1 mes?

Disculpa si me he perdido algo, soy muy nuevo en esto.

@EMSh30 No, me lo perdí, debería ser como abajo. También se actualizó así que si la misma persona vende dos veces en el mismo mes a la misma cuenta que devuelve 1 y no .5.

Included? Column =
  VAR __Account = [Account])
  VAR __Month = MONTH([Month])
  VAR __Year = YEAR([Month])
  VAR __Table = ADDCOLUMNS('Table',"__Year",YEAR([Month]),"__Month",MONTH([Month]))
  VAR __Table1 = SUMMARIZE(__Table,[Year],[Month],[Account],[Salesperson])
RETURN
  IF(COUNTROWS(DISTINCT(SELECTCOLUMNS(FILTER(__Table1,[__Month]=__Month && [__Year]=__Year && [Account]=__Account),"__Salesperson",[Salesperson])))=1,1,.5)


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

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.