Forum Discussion

ashikts's avatar
ashikts
Icon for Helper II rankHelper II
5 years ago
Solved

transformación de datos

hola señor,

ayer ha respondido a una de mis consultas de ayer. Pero eso no fue suficiente para mí.

Por favor, ayuda a resolverlo .

Te lo explicaré de nuevo.

empleado-proyectohoras lanzadas
ashik48
pbi40
Java8
Rahul48
Java32
Php32
licencia personal8
día festivo8
ese40
Sql32
día festivo8

nuestra tabla ;ike esto con diferente nombre de empleado y su proyecto de asignación de tiempo prudente y vacaciones o asignación de vacaciones.

tenemos otra mesa

Empleado total de horas echadasempid
ashik48ina101
Rahul48ina504
ese40

resultado que quiero es . Por favor, ayúdame sir.im nuevo en este departamento

Empleadohoras de vacacioneshoras de licencia personal
ashik80
Rahul88
ese80
  • No @ashikts ,

    un poco de relleno hacia abajo y pivot-magic debe hacer el truco:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSizOyMxW0lEysVCK1YlWKkjKBHEMwJysxLJEIA8iU5SYUZqDUAiVMzaCaMsoQOKkFhXn5yXmKOSkJpalwg3IyM/JTEmshPMTczNLEHYVF+YgTEBRGgsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"employee-project" = _t, #"hours casted" = _t]),
        EmployessTable = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSizOyMxW0lEysQASmXmJhgaGSrE60UpFiRmlOUjipgYmYPHE3MwSkLABkFCKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"employee " = _t, #"total casted hours" = _t, empid = _t]),
        #"Merged Queries" = Table.NestedJoin(Source, {"employee-project"}, EmployessTable, {"employee "}, "EmployessTable", JoinKind.LeftOuter),
        #"Expanded EmployessTable" = Table.ExpandTableColumn(#"Merged Queries", "EmployessTable", {"employee "}, {"employee "}),
        #"Changed Type" = Table.TransformColumnTypes(#"Expanded EmployessTable",{{"hours casted", type number}}),
        #"Duplicated Column" = Table.DuplicateColumn(#"Changed Type", "employee ", "employee  - Copy"),
        #"Filled Down" = Table.FillDown(#"Duplicated Column",{"employee "}),
        #"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([#"employee  - Copy"] = null)),
        #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"employee  - Copy"}),
        #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[#"employee-project"]), "employee-project", "hours casted", List.Sum)
    in
        #"Pivoted Column"

    Compruebe también el archivo adjunto.

3 Replies

  • @ashikts , ese es el problema, no hay manera de diferenciar entre el nombre del empleado y otros nombres.

    @ImkeF , Cualquier solución a este problema. Los empleados y las métricas de datos mixtos están en la misma columna.

  • ImkeF's avatar
    ImkeF
    Icon for Community Champion rankCommunity Champion

    No @ashikts ,

    un poco de relleno hacia abajo y pivot-magic debe hacer el truco:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSizOyMxW0lEysVCK1YlWKkjKBHEMwJysxLJEIA8iU5SYUZqDUAiVMzaCaMsoQOKkFhXn5yXmKOSkJpalwg3IyM/JTEmshPMTczNLEHYVF+YgTEBRGgsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"employee-project" = _t, #"hours casted" = _t]),
        EmployessTable = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSizOyMxW0lEysQASmXmJhgaGSrE60UpFiRmlOUjipgYmYPHE3MwSkLABkFCKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"employee " = _t, #"total casted hours" = _t, empid = _t]),
        #"Merged Queries" = Table.NestedJoin(Source, {"employee-project"}, EmployessTable, {"employee "}, "EmployessTable", JoinKind.LeftOuter),
        #"Expanded EmployessTable" = Table.ExpandTableColumn(#"Merged Queries", "EmployessTable", {"employee "}, {"employee "}),
        #"Changed Type" = Table.TransformColumnTypes(#"Expanded EmployessTable",{{"hours casted", type number}}),
        #"Duplicated Column" = Table.DuplicateColumn(#"Changed Type", "employee ", "employee  - Copy"),
        #"Filled Down" = Table.FillDown(#"Duplicated Column",{"employee "}),
        #"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([#"employee  - Copy"] = null)),
        #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"employee  - Copy"}),
        #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[#"employee-project"]), "employee-project", "hours casted", List.Sum)
    in
        #"Pivoted Column"

    Compruebe también el archivo adjunto.