Contact us

Pošlji
povpraševanje

Zakladnica znanja

  • Predzanje

  • Kategorije

May 17, 2021

Zadnji štirje kvartali v Power BI

Avtor: Branka Trifunović

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

Pri poslovnih poročilih nas pogosto zanimajo rezultati v zadnjem kvartalu, zadnjih dveh kvartalih in podobno. V ta namen lahko ustvarimo razčlenjevalnik, ki nam v izbiro ponudbo zadnje kvartale. Oglejmo si, kako ustvarimo tako tabelo v Power Query.

Začnimo z opozorilom, da v naši koledarski tabeli Calendar potrebujemo stolpec YM sort, ki vsebuje število dni za določen datum.

Če stolpca YM sort še nimate v tabeli Calendar, ga lahko enostavno dodate z Add Column > Custom Column.

V urejevalnik vnesete formulo [Year]*12 + [Month] in potrdite z OK.

Zdaj lahko začnemo našo poizvedbo za zadnje 4 kvartale. Sledimo naslednjim korakom.

Začnemo z referenco na tabelo Calendar.

Odstranimo vse stolpce razen Date, Year, Quarter in YM sort z desnim klikom, Remove Other Columns.

Odstranimo duplikate z desnim klikom, Remove Duplicates.

Preberemo zadnji dve števili iz stolpca Year. Izberemo Transform > Extract Last Characters in vnesemo 2.

Stolpec YM sort sortiramo padajoče.

Združimo stolpca z izbiro Quarter in Year (v tem vrstnem redu) in z desnim klikom izberemo Merge Columns.

Filtriramo stolpec Date na datume, ki so starejši od trenutnega datuma. Z desnim klikom izberemo Date > Date Filters > Before.

Izberemo is before in Today.

Datumi se zdaj filtrirajo.

Izberemo še Keep Rows > Keep Top Rows.

Vnesemo 4. Končna tabela je zdaj taka.

Zdaj lahko tabelo naložimo v model, in s pomočjo razčlenjevalnika hitro raziščemo podatke v zadnjih kvartalih.

Bližnjica: uporabi kodo

Namesto ročnega urejanja lahko uporabimo tudi kodo, ki jo lahko vnesemo v Advanced Editor in dobimo enak rezultat.

let

Source = Calendar,

#”Removed Other Columns” = Table.SelectColumns(Source,{“Date”,”Year”, “Quarter”, “YM sort”}),

#”Removed Duplicates” = Table.Distinct(#”Removed Other Columns”, {“Year”, “Quarter”}),

#”Extracted Last Characters” = Table.TransformColumns(#”Removed Duplicates”, {{“Year”, each Text.End(Text.From(_, “sl-SI”), 2), type text}}),

#”Sorted Rows” = Table.Sort(#”Extracted Last Characters”,{{“YM sort”, Order.Descending}}),

#”Merged Columns” = Table.CombineColumns(#”Sorted Rows”,{“Quarter”, “Year”},Combiner.CombineTextByDelimiter(“-“, QuoteStyle.None),”Quarter.1”),

#”Renamed Columns” = Table.RenameColumns(#”Merged Columns”,{{“Quarter.1”, “Quarter”}}),

#”Filtered Rows” = Table.SelectRows(#”Renamed Columns”, each [Date] < Date.From(DateTime.LocalNow())),

Custom1 = #”Filtered Rows”,

#”Kept First Rows” = Table.FirstN(Custom1,4)

in

#”Kept First Rows”

Kazalo