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
Syndicate_Admin
Administrator
Administrator

Medidas para determinadas sucursales

Hola a todos.
Hay una lista de ramas, se calculan diferentes indicadores para ellas. ¿Es posible hacer que se calculen ciertos indicadores para ciertas ramas? Cuando la segmentación de datos seleccionaba una rama, ¿se mostraban las líneas con medidas para esa rama? Intenté KEEPFILTERS pero deja la línea con el indicador vacío, pero necesita desaparecer.

Por ejemplo, parte de una mesa grande

RamaSuma
Sucursal1, ventas 100
Sucursal1, ventas 150
Sucursal2, ventas 200
Sucursal2, ventas 250
Sucursal3, ventas 110
Sucursal1, gastos 50
Sucursal1, gastos 60
Sucursal2, gastos80
Sucursal3, gastos 35

Resultado: no se debe considerar la medida de ventas para 3, solo el gasto

MedidasSuma
Rama1
Ventas 250
Gasto 110
Rama2
Ventas 450
Gasto 80
Rama3
Gasto 35

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Primero debe dividir la columna Sucursal en 2: una para Sucursal y la otra para ventas / gastos. Puede usar este código en Power Query:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcipKzEvOMNRRKE7MSS1WUFBQ0lEyNDBQitXBIWeKLGeEImdkgEcORZ8xqpmGaPalVhSk5hWnQmRN8UmaodkIlQTKWKDZh6LN2FQpNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Branch = _t, Sum = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Branch", type text}, {"Sum", Int64.Type}}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Branch", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Branch.1", "Branch.2"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Branch.1", type text}, {"Branch.2", type text}}),
    #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"Branch.1", "Branch"}, {"Branch.2", "Type"}}),
    #"Trimmed Text" = Table.TransformColumns(#"Renamed Columns",{{"Type", Text.Trim, type text}}),
    #"Cleaned Text" = Table.TransformColumns(#"Trimmed Text",{{"Type", Text.Clean, type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Cleaned Text", each true)
in
    #"Filtered Rows"

Para obtener esta estructura:

Split column.JPG

Lo ideal es crear tablas de dimensiones para rama y tipo (recomendado). Así es como se ve el modelo:

model.JPG

Luego, con estas medidas:

Sum Amount = SUM(FactTable[Sum])
Exc br3 sales =
SUMX (
    FactTable,
    CALCULATE (
        IF (
            MAX ( 'Dim Branch'[dBranch] ) = "Branch3"
                && MAX ( 'Dim Type'[dType] ) = "sales",
            BLANK (),
            [Sum Amount]
        )
    )
)

Obtendrá lo siguiente:

result.JPG

He adjuntado el archivo PBIX de ejemplo

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Primero debe dividir la columna Sucursal en 2: una para Sucursal y la otra para ventas / gastos. Puede usar este código en Power Query:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcipKzEvOMNRRKE7MSS1WUFBQ0lEyNDBQitXBIWeKLGeEImdkgEcORZ8xqpmGaPalVhSk5hWnQmRN8UmaodkIlQTKWKDZh6LN2FQpNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Branch = _t, Sum = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Branch", type text}, {"Sum", Int64.Type}}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Branch", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Branch.1", "Branch.2"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Branch.1", type text}, {"Branch.2", type text}}),
    #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"Branch.1", "Branch"}, {"Branch.2", "Type"}}),
    #"Trimmed Text" = Table.TransformColumns(#"Renamed Columns",{{"Type", Text.Trim, type text}}),
    #"Cleaned Text" = Table.TransformColumns(#"Trimmed Text",{{"Type", Text.Clean, type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Cleaned Text", each true)
in
    #"Filtered Rows"

Para obtener esta estructura:

Split column.JPG

Lo ideal es crear tablas de dimensiones para rama y tipo (recomendado). Así es como se ve el modelo:

model.JPG

Luego, con estas medidas:

Sum Amount = SUM(FactTable[Sum])
Exc br3 sales =
SUMX (
    FactTable,
    CALCULATE (
        IF (
            MAX ( 'Dim Branch'[dBranch] ) = "Branch3"
                && MAX ( 'Dim Type'[dType] ) = "sales",
            BLANK (),
            [Sum Amount]
        )
    )
)

Obtendrá lo siguiente:

result.JPG

He adjuntado el archivo PBIX de ejemplo

Syndicate_Admin
Administrator
Administrator

Proporcione datos de muestra o un archivo PBIX, y una descripción del resultado esperado

@PaulDBrown Lo cambié

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.