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

Sumar valores separados por comas utilizando una columna calculada

Queridos todos,

Tengo un modelo de datos validado al que puedo traer sólo poco cambio a él. No es posible realizar una consulta de alimentación o un modelado de datos importantes.

He importado a través del modelo una columna que contiene valores enteros separados por ";" que representan la cantidad rechazada por lote.

1 fila en mi tabla de hechos es registro de quejas

Cada queja puede implicar varios lotes (hasta 30 máx.), lo que significa que esto puede variar de queja a queja.

10124564_0-1597156066866.png

Me gustaría crear una columna calculada simple retraiving cada valores numéricos y sumar el resultado.

Intenté subtituto para reemplazar el ";" con "+" para introducir esto en una función EVALUATE como lo haría en VBA, pero no funciona (la parte SUBTITUTE sí, pero luego DAX no intreprate esto como una fórmula para evaluarlo)

No sé cómo hacer esto o cómo almacenar temporalmente esos valores en una variable Array para luego sumarlo.

Estoy buscando opciones e idea para desbloquear esto.

esperando su ayuda

5 REPLIES 5
v-rzhou-msft
Community Support
Community Support

Hola 10124564

te ha mostrado el camino por dax. También puede lograr su objetivo mediante M Query en Power Query Editor.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlSK1YGTBgYWBgbWEAosYmANg0YmBkApY1NzA0tTmJZYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Refused Quantity(Batch by Batch)" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Refused Quantity(Batch by Batch)", type text}}),
    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1, Int64.Type),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Added Index", "Refused Quantity(Batch by Batch)", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Refused Quantity(Batch by Batch).1", "Refused Quantity(Batch by Batch).2", "Refused Quantity(Batch by Batch).3", "Refused Quantity(Batch by Batch).4", "Refused Quantity(Batch by Batch).5", "Refused Quantity(Batch by Batch).6", "Refused Quantity(Batch by Batch).7"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Refused Quantity(Batch by Batch).1", Int64.Type}, {"Refused Quantity(Batch by Batch).2", Int64.Type}, {"Refused Quantity(Batch by Batch).3", Int64.Type}, {"Refused Quantity(Batch by Batch).4", Int64.Type}, {"Refused Quantity(Batch by Batch).5", Int64.Type}, {"Refused Quantity(Batch by Batch).6", Int64.Type}, {"Refused Quantity(Batch by Batch).7", Int64.Type}}),
    #"Unpivoted Only Selected Columns" = Table.Unpivot(#"Changed Type1", {"Refused Quantity(Batch by Batch).7", "Refused Quantity(Batch by Batch).6", "Refused Quantity(Batch by Batch).5", "Refused Quantity(Batch by Batch).4", "Refused Quantity(Batch by Batch).3", "Refused Quantity(Batch by Batch).2", "Refused Quantity(Batch by Batch).1"}, "Attribute", "Value"),
    #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Only Selected Columns",{"Attribute"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns", {"Index"}, {{"Refused Quantity(Batch by Batch)", each List.Sum([Value]), type number}}),
    #"Removed Columns1" = Table.RemoveColumns(#"Grouped Rows",{"Index"})
in
    #"Removed Columns1"

La tabla original:

Puede descargar el archivo pbix desde este enlace: Sumar valores separados por comas utilizando una columna calculada

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.

parry2k
Super User
Super User

10124564 aquí está la medida que va a funcionar

Measure = 
VAR col = MAX ( 'Table'[Column1] )
VAR mymeasure =
    SUBSTITUTE ( col, ",", "|" )
VAR Mylen =
    PATHLENGTH ( mymeasure )
VAR mytable =
    ADDCOLUMNS (
        GENERATESERIES ( 1, mylen ),
        "mylist", VALUE ( PATHITEM ( mymeasure, [Value] ) )
    )

RETURN
    SUMX ( mytable, VALUE ( [mylist] ) )

Me gustaría elogiossi mi solución ayudara.👉Si puedes pasar tiempo publicando la pregunta, también puedes hacer esfuerzos para dar a Kudos quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!

Visítenos enhttps://perytus.com, su ventanilla única para proyectos/formación/consulta relacionadas con Power BI.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Anonymous
Not applicable

@parry2k

Muchas gracias por el enfoque propuesto, exactamente lo que estaba buscando. Incluso al no ser tan usuario tan avanzado como tú, entiendo la lógica que propusiste.

pocos comentarios:

Necesito que esto funcione en un entorno de contexto de fila para evaluar para cada fila la suma de cada cantidad rechazada.

>> si conecte este DAX en una columna calculada para que se evalúe en un contexto de fila, obtengo siempre el mismo valor.

¿podemos llegar al resultado del deseo? (Tenga en cuenta que la tabla'[Columna1] puede contener valores en blanco si es importante saber)

Hola 10124564

¿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 de su problema o compártame con su archivo pbix de su Onedrive for Business.

Saludos

Rico Zhou

amitchandak
Super User
Super User

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.