cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Columna calculada con la suma de todas las ventas para cada id

Hola a todos!

Soy bastante nuevo en Power Bi y DAX y necesito ayuda para crear una columna que agregue todos los valores de ventas para cada "Code_ID" en una tabla que contenga todo el "Código" registrado.

Para el contexto, agregué una .xlsx con datos de muestra que se utilizan en mi informe (simplificado con menos filas solo los datos relevantes, y también para la privacidad) para ayudar a resolver mi problema. Ambas pestañas de la hoja de Excel son tablas diferentes en PowerBi que provienen de differentLink a datos de ejemplo:
Datos de muestra (enlace weTransfer)

Necesito crear una columna en la tabla "CODE BASE" que agregue todo el valor "Sales_R$" para cada "Code_Id" en la tabla "Ventas por código" (ejemplo de fórmula de Excel proporcionada en la columna "C" en la pestaña "CODE BASE") Cada "Code_Id" es distinta para cada "Número de tienda", pero "Code_Id" puede repetirse cada mes / año

La razón por la que necesito esta columna es para facilitar mi clasificación ABC (que se hace usando las ventas totales de "Code_Id" como base). Las clases ABC resultantes se utilizan como una segmentación de datos solo en mis imágenes, por lo que todos los cálculos se pueden hacer en la tabla itsell

Intenté crear esta columna usando FILTER, EARLIER, SUMX, CALCULATE pero no pude hacer que funcionara, probablemente debido a mi inexperiencia.

Espero haber proporcionado suficiente contexto y explicado lo que estoy tratando de hacer.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@caiowirthmann ,

Puede probar este código para crear una columna:

sum of all sales for each id =
CALCULATE(
    SUM( 'Sales By Code'[Sales_R$] ),
    FILTER( 'Sales By Code', [Code_Id] = EARLIER( 'CODE BASE'[Code_Id] ) )
)

resultado

vchenwuzmsft_0-1643077128376.png

Saludos

Equipo de apoyo a la comunidad _ chenwu zhu

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

@caiowirthmann ,

Puede probar este código para crear una columna:

sum of all sales for each id =
CALCULATE(
    SUM( 'Sales By Code'[Sales_R$] ),
    FILTER( 'Sales By Code', [Code_Id] = EARLIER( 'CODE BASE'[Code_Id] ) )
)

resultado

vchenwuzmsft_0-1643077128376.png

Saludos

Equipo de apoyo a la comunidad _ chenwu zhu

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Podría haber sido un error u otra cosa, pero después de eliminar y rehacer todas las relaciones en mi modelo y usar el siguiente código, obtuve los resultados que esperaba.

SomaTodasAsVendasPorID =
CALCULATE (
    SUMX ( 'Base_Vendas_Transacao_Nubimetrics', [Vendas_R$] ),
    FILTER (
        'Base_Vendas_Transacao_Nubimetrics',
        [CODIGO_ANUNCIO] = EARLIER ( [CODIGO_ANUNCIO] )
    )
)

Gracias por la ayuda @v-chenwuz-msft y @Samarth_18

Todavía obtengo el mismo "error" que la solución presentada por samarth_18. Como resultado, obtengo una columna en blanco, sin valores ni #error

Syndicate_Admin
Administrator
Administrator

¿@Samarth_18

Probé su código (cambiando los nombres a los reales en mis tablas), pero no obtengo ningún resultado en él. No hay errores en el código en sí, la columna creada está en blanco. Ambos valores para "Code_ID" en ambas tablas se almacenan como texto, Sales_R$ como valor decimal y hay una relación MANY TO MANY para CODE_Id con un filtro "ambos"

Adjunto imágenes del código y la columna resultante, y también de la relación entre las tablaspowerbiForums2.jpgpowerbiForums1.jpg

@caiowirthmann , ¿Puede intentar agregar recorte en CODIGO_ANUNCIO columna?

Column = 
CALCULATE (
    SUM ( 'Base_Vendas_Transacao_Nubimetrics'[Sales_R$] ),
    FILTER (
        ALL ( 'Base_Vendas_Transacao_Nubimetrics' ),
        TRIM('Base_Vendas_Transacao_Nubimetrics'[CODIGO_ANUNCIO ]) = TRIM('Base_Anuncios'[CODIGO_ANUNCIO ])
    )
)

Nota: - Dado que es una relación de muchos a muchos, verá la misma suma para todos los registros coincidentes.

Incluso al agregar TRIM, todavía obtengo una columna en blanco sin valores ni errores.

Syndicate_Admin
Administrator
Administrator

@caiowirthmann ,

Cree una columna con el siguiente código:-

Column = 
CALCULATE (
    SUM ( 'Sales By Code'[Sales_R$] ),
    FILTER (
        ALL ( 'Sales By Code' ),
        'Sales By Code'[CODE_Id] = 'CODE BASE'[Code_Id]
    )
)

Salida:-

image.png

Gracias

Samarth

Helpful resources

Announcements
Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

charticulator_carousel_with_text (1).png

Charticulator Design Challenge

Put your data visualization and design skills to the test! This exciting challenge is happening now through May 31st!

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Power BI Dev Camp Session 22 768x460.jpg

Check it out!

Mark your calendars and join us on Thursday, May 26 at 11a PDT for a great session with Ted Pattison!

Top Kudoed Authors