Kategorie szkoleń | Egzaminy | Kontakt
  • 4
  • 2
  • 1

Witam.

W jaki sposób napisać w PowerQuery zapytanie, które scaliłoby wszystkie widoczne kolumny, niezależnie od tego ile ich jest?

Chodzi mi o taki zapis, aby nie trzeba było wskazywać ręcznie i po kolei wszystkich kolumn, które chcemy scalić.

W przykładowym zapisie:

= Table.AddColumn(#"Usunięto inne kolumny3", "Scalone", each Text.Combine({[Column1], [Column2], [Column3], [Column4]}, ";"), type text)

Zamiast wymieniać nazwy kolumn, chciałbym wpisać np. "All Collumns".

Michał_Leonarczyk
  • Zapytał
  • @ Michał_Leonarczyk | 16.10.2017
    • 2
    • 0
    • 5

Odpowiedzi (4)

  • 2

= Table.AddColumn(#"Usunięto inne kolumny3", "Scalone", each Text.Combine(List.Transform(Record.FieldValues(_), Text.From), ";"), type text)

Mirosław_Janiak
  • Odpowiedział
  • @ Mirosław_Janiak | 17.10.2017
    • 1
    • 7
    • 1
  • 0

Działa idealnie. :)

Dziękuję bardzo.

Michał_Leonarczyk
  • Odpowiedział
  • @ Michał_Leonarczyk | 21.10.2017
    • 2
    • 0
    • 5
  • 0

Witam.

Bardzo pomocne, ale za mało. Proszą o podpowiedź, jak zapisać powyższe polecenie "scal wszystkie kolumny z wyjątkiem kolumny "A" i "B"" lub "scal wszystkie z wyjątkiem dwóch pierwszych z lewej".

Będę wdzięczna za podpowiedź.

Alicja_Pietroń
  • Odpowiedział
  • @ Alicja_Pietroń | 30.05.2019
    • 1
    • 0
    • 2
  • 1

Z wyjątkiem kolumn wskazanych po nazwach:

= Table.AddColumn(Źródło, "Scalone", each Text.Combine(List.Transform(Record.FieldValues(Record.RemoveFields(_, {"Kolumna1", "Kolumna2"})), Text.From), ";"), type text)

Z wyjątkiem "n" pierwszych kolumn z lewej (tu: dwóch; liczbę kolumn wskazujemy w drugim argumencie funkcji List.FirstN):

= Table.AddColumn(Źródło, "Scalone", each Text.Combine(List.Transform(Record.FieldValues(Record.RemoveFields(_, List.FirstN(Record.FieldNames(_), 2))), Text.From), ";"), type text)

 

Mirosław_Janiak
  • Odpowiedział
  • @ Mirosław_Janiak | 14.05.2020
    • 1
    • 7
    • 1