Contact us

Pošlji
povpraševanje

Zakladnica znanja

  • Predzanje

  • Kategorije

August 7, 2020

Power Query objekti

Avtor: Branka Trifunović

V članku je uporabljen Power BI Desktop verzije 2.76.5678.782 (December 2019).

V Power Query urejevalniku srečamo več vrst objektov. Poizvedbe so lahko tabele, seznami, vrstice ali funkcije. Ogledali si bomo, kako kreiramo objekte in prehajamo iz ene oblike v drugo.

Tabele

Tabele so objekti, ki jih največkrat uporabimo pri delu s podatki v Power Query. Tabelo dobimo, ko se povežemo na datoteko ali drug vir podatkov, lahko pa jo sestavimo tudi sami. Novo tabelo ustvarimo z Enter Data. Za oblikovanje podatkov znotraj tabel Power Query ponuja mnogo transformacij kot so dodajanje in brisanje stolpcev in vrstic, filtriranje, pivotiranje, pripenjanje, združevanje in podobno.

Seznami

Seznami so objekti, ki imajo le en stolpec. Oblikujemo jih lahko podobno kot tabele. Sezname pogosto uporabljamo pri naprednejših prijemih v obdelavi podatkov.

Kreiranje seznama

Seznam lahko naredimo iz vsakega stolpca v tabeli: izberemo stolpec in Convert to List.

Dobimo seznam enakih vrednosti, kot jih je imel stolpec. V imenu stolpca zdaj vidimo da gre za seznam. Tudi v seznamu poizvedb seznam označen drugače.

Seznam lahko naredimo tudi z vnosom formule v vnosno vrstico. Izberemo desni klik, Blank Query.

V vnosno vrstico nato vnesemo elemente seznama, ki jih opremimo z {} oklepaji.

  • Seznam števil:

= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} ali {1..10}

  • Seznam besed:

= {“A”, “B”, “C”, “D”}

  • Seznami niso omejeni na en podatkovni tip. Znotraj seznama lahko zapišemo števila, besedilo, ali celo druge sezname:

= {1, 2, “R”, “Power BI”, {200, 201, 202}}

Spreminjanje seznama v tabelo

Seznam lahko spremenimo v tabelo. Izberemo Transform > To Table.

Vrstice

Podobno kot je seznam vertikalen sestav podatkov, je vrstica horizontalen sestav podatkov. Vrstico si lahko predstavljamo kot eno vrstico tabele, ki predstavlja zapis za npr. eno poslovno transakcijo. Vrstice so nekoliko bolj kompleksne kot seznami.

Kreiranje vrstic

Podobno kot smo iz stolpca tabele naredili seznam, lahko iz vrstice naredimo objekt vrstico. Sledimo naslednjim korakom.

1. V tabeli se postavimo na eno od polj v vrstici, iz katere želimo narediti objekt vrstico. V našem primeru želimo narediti objekt iz osme vrstice.

2. Z desnim klikom izberemo Add as New Query.

3. Dobimo novo poizvedbo, ki vsebuje le vrednost polja.

4. Zbrišemo ime stolpca [ID] iz formule. Dobili smo drugo celotno osmo vrstico iz prvotne tabele.

Poudariti velja, da se štetje v jeziku M začne z 0. Torej Source{0} predstavlja prvo, Source{1} drugo in Source{7} osmo vrstico.

Spreminjanje vrstice v tabelo

Vrstico lahko enostavno spremenimo v tabelo. Izberemo poizvedbo in Convert > Into Table.

Funkcije

Funkcije so objekti, ki jih uporabimo pri ponavljajočih se korakih v obdelavi podatkov. Take korake shranimo kot funkcijo in jo uporabimo vsakič, ko želimo na novo oblikovati podatke.

Še en primer uporabe funkcij smo si ogledali v članku Dinamično odstranjevanje vrstic v Power Query za vse datoteke v mapi.

Kreiranje funkcije

Funkcijo lahko enostavno naredimo iz poizvedbe. Oglejmo si primer enostavne funkcije, ki iz polja v tabeli naredi novo poizvedbo, ki vsebuje samo unikatne vrednosti. Take tabele običajno uporabimo kot dimenzijske tabele v podatkovnem modelu.

1. Naredimo referenco poljubne tabele z izbiro Reference.

2. Izberemo referenco in na njej izvedemo korake, ki jih želimo v funkciji. Izberemo poljuben stolpec, v našem primeru Platform in odstranimo ostale stolpce z desnim klikom, Remove Other Columns.

3. Odstranimo duplikate z desnim klikom, Remove Duplicates.

4. Za boljšo preglednost preimenujemo poizvedbo, npr. function_DimTable.

5. Odpremo Advanced Editor.

6. Tu so zapisani vsi koraki, ki jih poizvedba naredi. Poizvedbo spremenimo v funkcijo tako, da na začetek dodamo ()=>. V oklepaj dodamo vhodne podatke, na katere funkcija deluje.

7. V našem primeru imamo dva vhodna podatka, ime tabele in ime stolpca, iz katerega želimo narediti tabelo. Poimenovali ju bomo TableName in ColumnName. Na začetek funkcije dodamo:

(TableName as table, ColumnName as text)=>

8. Povsod v poizvedbi zamenjamo besedo Sales z TableName in “Platform” z ColumnName.

9. Potrdimo z Done.

10. Poizvedbo smo spremenili v funkcijo. Dobili smo vnosno okno, kamor vnesemo vhodne podatke. Funkcija bo iz izbrane tabele in stolpca naredila novo tabelo, ki bo vsebovala le enolične vrednosti.

Seznam vseh objektov

Ogledamo si lahko seznam vseh objektov v Power BI. Do seznama pridemo tako, da sledimo naslednjim korakom.

1. Ustvarimo novo poizvedbo z desnim klikom, New Query > Blank Query.

2. V vnosno vrstico za formulo vpišemo

=#shared

3. Pretvorimo seznam v tabelo z izbiro Into Table.

Dobili smo seznam vseh objektov, ki se nahajajo v trenutnem Power BI projektu. Na seznamu so tudi vse vgrajene funkcije, ki jih lahko raziskujemo. S klikom na funkcijo se odpre dokumentacija in vnosno okno, s katerim lahko preizkusimo delovanje funkcije.

Kazalo