cancel
Showing results for 
Search instead for 
Did you mean: 
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

View solution in original post

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
Power BI December 2021 Update_carousel 768x460.jpg

Check it Out!

Click here to read more about the December 2021 Updates!

User Group Leader Meeting January 768x460.png

Calling all User Group Leaders!

Don't miss the User Group Leader meetings on January, 24th & 25th, 2022.

Jan 2022 Dev Camp 768x460 copy.png

Power BI Dev Camp- January 27th, 2022

Mark your calendars and join us for our next Power BI Dev Camp!