Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago

Filas en columnas

Hola

Quiero filas en columnas en el editor de consultas de PowerBi.

A partir de esto:

En esto:

¿Es eso posible?

4 Replies

  • @Tinus1905 ,
    Estos son los pasos para resolverlo.
    1. Utilice la transformación "Agrupar por" para eliminar la combinación duplicada.
    2. Vuelva a utilizar la transformación "Agrupar por" y añada una columna de índice.
    3. Cree una columna personalizada utilizando el número de índice, como "IP1", "IP2", etc.
    4. Utilice el pivote para obtener el conjunto de resultados.

    A continuación se muestran los pasos de transformación de Power Query que puede comprobar. Reemplace la fuente según su código

    dejar
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjLRNTDTNTIwMlbSUQpILUktUvBKTM4uzs8D8g2N9IxNTPXAlFKszgCqNjEy1DM01DMxNdMzh6g2RVLtk5mXkqjgkl+Oy2g8io1NLPQsLcGKjUlUHAsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [Date = _t, Name = _t, IP = _t]),
    #"Tipo cambiado" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Name", type text}, {"IP", type text}}),
    #"Filas agrupadas-GetMaxIP" = Table.Group(#"Tipo cambiado", {"Fecha", "Nombre", "IP"}, {{"MaxIP", cada List.Max([IP]), escriba texto que acepta valores NULL}}),
    #"Columnas eliminadas-duplicadas" = Table.RemoveColumns(#"Filas agrupadas-GetMaxIP",{"IP"}),
    #"Renamed Columns-IP" = Table.RenameColumns(#"Columnas eliminadas-duplicadas",{{"MaxIP", "IP"}}),
    #"Filas agrupadas-GetIndex" = Table.Group(#"Columnas renombradas-IP", {"Nombre", "Fecha"}, {{"IndexTbl", cada _, escriba tabla [Fecha = fecha anulable, Nombre = texto anulable, IP = texto anulable]}}),
    #"Added Custom-IndexColumn" = Table.AddColumn(#"Grouped Rows-GetIndex", "Index", each Table.AddIndexColumn([IndexTbl],"Index",1)),
    #"Eliminado Otras Columnas" = Table.SelectColumns(#"Agregado Custom-IndexColumn",{"Index"}),
    #"Índice expandido" = Table.ExpandTableColumn(#"Eliminado otras columnas", "índice", {"fecha", "nombre", "IP", "índice"}, {"fecha", "nombre", "IP", "índice.1"}),
    #"Added Custom1" = Table.AddColumn(#"Índice expandido", "IPIndex", cada "IP" & Number.ToText([Index.1])),
    #"Columnas eliminadas" = Table.RemoveColumns(#"Añadido personalizado1",{"Index.1"}),
    #"Columna dinámica" = Table.Pivot(#"Columnas eliminadas", List.Distinct(#"Columnas eliminadas"[IPIndex]), "IPIndex", "IP")
    en
    #"Columna pivotante"

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      @SantoTV ; esto funciona para mí, pero ahora tengo otra tabla con 180 números IP diferentes.

      Así que ahora cambio todos los números de IP en 2 palabras; "Hogar" y "Oficina".

      ¿Cómo uso la fórmula en esto?

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola

        Si su otra tabla contiene una lista de direcciones IP y está categorizada como Hogar/Oficina, puede fusionar su tabla de datos principal con la tabla de asignación y luego seguir las funcionalidades de pivote/unpivit para obtener el resultado deseado.

        Espero que esto satisfaga sus necesidades.

        Gracias

        Santo