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.
hola
He estado recorriendo círculos aquí, realmente espero que alguien pueda ayudar.
Tenemos potencialmente 2 vendedores en un trato dado. Si hay un segundo vendedor, deben crearse como una fila adicional y la división de ingresos entre las dos personas.
datos:
Vendedor 1 | Vendedor 2 | ingresos
Joe Bloggs | null | $3500
Sarah Jane | John Blog | $5000
si Salesperson 2 contiene un valor, cree como nueva fila con Ingresos divididos entre ambos vendedores.
Salida esperada:
Vendedor | ingresos
Joe Bloggs | $3500
Sarah Jane | $2500
John Blog | $2500
Cualquier ingreso con un segundo vendedor debe dividirse entre los 2 SPs.
Solved! Go to Solution.
He intentado algo en la consulta de poder para usted, comprobarlo y ver si funciona para usted.
hola
Este código M funciona
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 1, 1, Int64.Type),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Added Index", {"Index", "Revenue"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"Index"}, {{"GroupTables", each _, type table [Revenue=number, Index=number, Attribute=text, Value=text]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Divisor", each Table.RowCount([GroupTables])),
#"Expanded GroupTables" = Table.ExpandTableColumn(#"Added Custom", "GroupTables", {"Revenue", "Attribute", "Value"}, {"Revenue", "Attribute", "Value"}),
#"Added Custom1" = Table.AddColumn(#"Expanded GroupTables", "Custom", each [Revenue]/[Divisor]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Index", "Divisor", "Attribute", "Revenue"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Custom", "Revenue"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Revenue", type number}})
in
#"Changed Type"
Espero que esto ayude.
Allí, @branners
De acuerdo con su descripción, Si sus datos están en una columna, podría dividirlos en la consulta de energía primero,
a continuación, cree una columna de ingresos y use union() para crear una nueva tabla. la siguiente fórmula para crear:
Paso 1: columnadividida en la consulta de energía
Paso 2: crear columna de ingresos
revenue =
IF (
[Salesperson 2] = BLANK ()
|| [Salesperson 1] = BLANK (),
[Revenue3] / 1,
[Revenue3] / 2)
Paso 3: Crear una nueva tabla
newtable =
VAR _a =
SUMMARIZE (
FILTER ( 'Table1', [Salesperson 1] <> BLANK () ),
[Salesperson 1],
[revenue]
)
VAR _b =
SUMMARIZE (
FILTER ( 'Table1', [Salesperson 2] <> BLANK () ),
[Salesperson 2],
[revenue]
)
RETURN
UNION ( _a, _b )
La salida final se muestra a continuación:
Saludos
Apoyo comunitario Team_ Yalan Wu
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@branners Prueba esto:
let
Source = Table.FromRows (
Json.Document (
Binary.Decompress (
Binary.FromText (
"i45WCk7MSS0uSC0qzs9TMFSoUUDmGwH5QallqXmlqUqxOtFKXvmpCk45+enpxUCJvNKcHCClYmxqYACWDU4sSsxQ8ErMSwUKe+Vn5IHVgpQAVQCVxAIA",
BinaryEncoding.Base64
),
Compression.Deflate
)
),
let
_t = ( ( type nullable text ) meta [ Serialized.Text = true ] )
in
type table [ Column1 = _t ]
),
PromotedHeaders = Table.PromoteHeaders ( Source, [ PromoteAllScalars = true ] ),
RenamedColumns = Table.RenameColumns (
PromotedHeaders,
{ { "Salesperson 1 | Salesperson 2 | Revenue", "Data" } }
),
SplitTextIntoList = Table.AddColumn (
RenamedColumns,
"Split To List",
each Splitter.SplitTextByDelimiter ( "|" )( [Data] )
),
ExtractNumbers = Table.AddColumn (
SplitTextIntoList,
"Get Number",
each
if Text.Contains ( [Data], "Revenue" ) = false then
Number.From ( Text.Trim ( List.Reverse ( [Split To List] ){0} ) )
else
null,
Int64.Type
),
RemoveNulls = Table.AddColumn (
ExtractNumbers,
"Remove Nulls",
each List.RemoveItems (
List.Transform (
List.FirstN ( [Split To List], List.Count ( [Split To List] ) - 1 ),
each Text.Trim ( _ )
),
{ "null" }
)
),
ConvertToTable = Table.AddColumn (
RemoveNulls,
"Names",
each Table.FromList ( [Remove Nulls] )
),
Result = Table.AddColumn (
ConvertToTable,
"Salesperson Amount",
( x ) => Table.AddColumn ( x[Names], "Amount", each x[Get Number] )
),
RemovedOtherColumns = Table.SelectColumns ( Result, { "Salesperson Amount" } ),
ExpandedSalespersonAmount = Table.ExpandTableColumn (
RemovedOtherColumns,
"Salesperson Amount",
{ "Column1", "Amount" },
{ "Column1", "Amount" }
),
RenamedColumns1 = Table.RenameColumns (
ExpandedSalespersonAmount,
{ { "Column1", "Sales Person" } }
),
ChangedType1 = Table.TransformColumnTypes (
RenamedColumns1,
{ { "Sales Person", type text }, { "Amount", Int64.Type } }
)
in
ChangedType1
Wow muchas gracias, voy a darle a esto una oportunidad, pero se ve bang on.
Gracias por la respuesta rápida.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |