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
puchrova
New Member

Gráfico acumulado basado en columna ordenada

Hola

Soy un principiante en PowerBI y necesito visualizar cantidades acumuladas basadas en la columna de precio ordenado. Necesito mostrar un gráfico donde en el eje Y tendré el precio y en el eje X tendré el importe total acumulado calculado en función de la columna de precio ordenado (descendente). Por favor, vea a continuación.

image.png

¿Podrías ayudarte, por favor?

Muchas gracias

1 ACCEPTED SOLUTION

Hay @puchrova

La columna acumulativa se crea en Power Query. Se actualizará automáticamente cuando se carguen nuevos datos.

Debe abrir el archivo PBIX al que me vinculé y luego hacer clic en Transformar datos. Esto abrirá el editor de consultas y, a continuación, puede abrir el Editor avanzado para ver el código M que compone la consulta.

Debido a que solo proporcionó una imagen como datos de ejemplo, lo ingresé a mano para crear el ejemplo, pero tendrá que crear su propia consulta que le cargue datos, presumiblemente desde un libro de Excel?

Cuando abra el Editor avanzado en mi archivo PBIX verá este código

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlXSUTIyUIrViVYyNACyDSFsYyDTBMI0AgubKsXGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [price = _t, amount = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"price", Int64.Type}, {"amount", Int64.Type}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type",{{"price", Order.Descending}}),
    #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "Cumulative Total", each List.Sum(List.FirstN(#"Added Index"[amount], [Index]))),
    #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"Cumulative Total", Int64.Type}})
in
    #"Changed Type1"

Debe reemplazar el paso Origen con un par de pasos que cargan los datos. Si sus datos provienen de un libro de trabajo, la nueva consulta se verá algo como esto

let
    Source = Excel.Workbook(File.Contents("D:\temp\data.xlsx"), null, true),
    Table1_Table = Source{[Item="Table1",Kind="Table"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(Table1_Table,{{"price", Int64.Type}, {"amount", Int64.Type}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type",{{"price", Order.Descending}}),
    #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "Cumulative Total", each List.Sum(List.FirstN(#"Added Index"[amount], [Index]))),
    #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"Cumulative Total", Int64.Type}})
in
    #"Changed Type1"

Por lo tanto, en esta nueva consulta, los datos se cargan desde el archivo ubicado en d:-temp-data.xlsx y necesita cambiar esa ruta de acceso/nombre para adaptarse a su archivo, y los datos están en una tabla de Excel llamada Table1

saludos

Phil


Si respondí a su pregunta por favor marque mi post como la solución.
Si mi respuesta ayudó a resolver su problema, déle un kudos haciendo clic en Thumbs Up.



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


View solution in original post

7 REPLIES 7
amitchandak
Super User
Super User

@puchrova , Pruebe una medida como

Cumm - CALCULATE(SUM(Table[Amount]),filter(allselected(Table),Table[Amount] <-max(Table[Amount])))

pero ¿qué visual está utilizando?

Necesito que la cantidad cummulative se calcule en función del precio de mayor a menor. Significa que el total más tensorador será sólo el total por el precio más alto.

PhilipTreacy
Super User
Super User

Hay @puchrova

Descargue este archivo PBIX de ejemplo con los datos y visuales a continuación.

Después de cargar los datos, puede crear un total acumulado en Power Query. Hay muchas maneras de hacer esto, esto es sólo 1 enfoque.

rt-data.png

A continuación, puede insertar un gráfico de líneas que trace El total acumulado v Precio.

basic-chart.png

saludos

Phil


Si respondí a su pregunta por favor marque mi post como la solución.
Si mi respuesta ayudó a resolver su problema, déle un kudos haciendo clic en Thumbs Up.



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


Gracias, pero ¿cómo creó la columna acumulativa? Lo necesitaré para actualizar automáticamente todos los días con nuevos datos para ese día.

Hay @puchrova

La columna acumulativa se crea en Power Query. Se actualizará automáticamente cuando se carguen nuevos datos.

Debe abrir el archivo PBIX al que me vinculé y luego hacer clic en Transformar datos. Esto abrirá el editor de consultas y, a continuación, puede abrir el Editor avanzado para ver el código M que compone la consulta.

Debido a que solo proporcionó una imagen como datos de ejemplo, lo ingresé a mano para crear el ejemplo, pero tendrá que crear su propia consulta que le cargue datos, presumiblemente desde un libro de Excel?

Cuando abra el Editor avanzado en mi archivo PBIX verá este código

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlXSUTIyUIrViVYyNACyDSFsYyDTBMI0AgubKsXGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [price = _t, amount = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"price", Int64.Type}, {"amount", Int64.Type}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type",{{"price", Order.Descending}}),
    #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "Cumulative Total", each List.Sum(List.FirstN(#"Added Index"[amount], [Index]))),
    #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"Cumulative Total", Int64.Type}})
in
    #"Changed Type1"

Debe reemplazar el paso Origen con un par de pasos que cargan los datos. Si sus datos provienen de un libro de trabajo, la nueva consulta se verá algo como esto

let
    Source = Excel.Workbook(File.Contents("D:\temp\data.xlsx"), null, true),
    Table1_Table = Source{[Item="Table1",Kind="Table"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(Table1_Table,{{"price", Int64.Type}, {"amount", Int64.Type}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type",{{"price", Order.Descending}}),
    #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1, Int64.Type),
    #"Added Custom" = Table.AddColumn(#"Added Index", "Cumulative Total", each List.Sum(List.FirstN(#"Added Index"[amount], [Index]))),
    #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"Cumulative Total", Int64.Type}})
in
    #"Changed Type1"

Por lo tanto, en esta nueva consulta, los datos se cargan desde el archivo ubicado en d:-temp-data.xlsx y necesita cambiar esa ruta de acceso/nombre para adaptarse a su archivo, y los datos están en una tabla de Excel llamada Table1

saludos

Phil


Si respondí a su pregunta por favor marque mi post como la solución.
Si mi respuesta ayudó a resolver su problema, déle un kudos haciendo clic en Thumbs Up.



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


mahoneypat
Employee
Employee

Pruebe esta expresión de medida en su objeto visual. Reemplace Price por el nombre real de la tabla.

NewMeasure ?
VAR vEstePrecio ( VAR vThisPrice)
MIN ( 'Precio'[Precio] )
devolución
CALCULAR (
SUMA ( 'Precio'[Importe] ),
ALL ( 'Precio'[Precio] ),
'Precio'[Precio] > ? vThisPrice
)

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


Gracias pero no estoy seguro de cómo mostrarlo en el visual, no me deja poner la nueva medida con total cummulative en el eje x?

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.