Contact us

Pošlji
povpraševanje

Zakladnica znanja

  • Predzanje

  • Kategorije

January 13, 2021

R v Power BI – datumski podatki

Avtor: Branka Trifunović

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

Pri delu z datumskimi podatki moramo biti previdni, saj datumskega tipa R ne prepozna. Oglejmo si naslednji primer. Imamo tabelo s stolpcema Date in Price. Stolpec Date je tipa datum.

Uporabimo R, da tabeli dodamo nov stolpec Price2, ki je za faktor 2 večji od Price. Sledimo naslednjim korakom.

Odpremo Transform > Run R script.

Vnesemo naslednji ukaz:

newname = dataset

newname[‘Price2’] = newname[‘Price’]*2

Prva vrstica ustvari novo spremenljivko z imenom newname, ki je kopija spremenljivke dataset. Izvirna tabela oz. dataframe je vedno poimenovan dataset in ga ne moremo spreminjati, zato ustvarimo njegovo kopijo.

Druga vrstica dataframe-u newname doda stolpec Price2, ki je produkt stolpca Price in vrednosti 2.

Potrdimo z OK in dobimo novo tabelo newname.

Vidimo, da R ne prepozna datumskih podatkov. Za naprednejše delo z datumi v R se moramo običajno poslužiti katere od zunanjih knjižnjic. V primeru, da je skripta dovolj preprosta, si lahko pomagamo tudi s pretvorbo datumskega stolpca v število. Oglejmo si oba primera.

Primer: spremenimo datumski stolpec v besedilo

Začnemo z enako tabelo kot v zgornjem primeru.

Sledimo naslednjim korakom.

Datumski stolpec spremenimo v besedilo. Na stolpcu Date za tip izberemo Text.

Besedilo poznamo po levi poravnavi.

Zdaj nadaljujemo enako kot v zgornjem primeru. Dodati želimo stolpec Price2, ki bo produkt stolpca Price in vrednosti 2. Izberemo Transform > Run R script.

Vnesemo enaka ukaza kot v zgornjem primeru.

newname = dataset

newname[‘Price2’] = newname[‘Price’]*2

Potrdimo z OK. Dobimo novo tabelo, v katerem imamo datume, a so ti še vedno tretirani kot besedilo.

Spremenimo tip stolpca Date v datum.

Primer: računanje mesečnega povprečja

Zgornji primer s spremembo tipa datum v besedilo je zgolj hitra rešitev, ki se je poslužimo pri preprostih R poizvedbah. Pogosto pa želimo znotraj R skripte dejansko manipulirati z datumi. V tem primeru moramo znotraj R skripte tip stolpca spremeniti nazaj v datum. Oglejmo si to na primeru.

Na isti tabeli želimo izračunati mesečno povprečje.

Sledimo naslednjim korakom.

Datumski stolpec spremenimo v besedilo. Na stolpcu Date za tip izberemo Text.

Besedilo prepoznamo po levi poravnavi.

Izberemo Transform > Run R script.

V okno vnesemo naslednje ukaze. Komentarji, ki so označeni s simbolom #, opišejo vsak korak.

# ‘dataset’ holds the input data for this script

newname = dataset #ustvarimo duplikat

newname$Date = as.Date(newname$Date, format = “%m/%d/%Y”) #pretvorimo tip stolpca Date v datum

newname$Month = format(newname$Date, format = “%m”) #dodamo nov stolpec Month oz. Mesec

newname$Year = format(newname$Date, format = “%Y”) #dodamo nov stolpec Year oz. leto

newname = aggregate(Price ~ Month + Year, newname, mean) #agregiramo v povprečje

Potrdimo z OK. Dobili smo mesečna povprečja cen.

Isti rezultat lahko dosežemo na več načinov, tudi z uporabo katere od R knjižnjic.

Kazalo