Analitika360
Inkrementinis atnaujinimas Power BI: kaip jį nustatyti
Inkrementinis atnaujinimas (angl. incremental refresh) leidžia Power BI kiekvieną kartą įkelti tik naujus ir pasikeitusius duomenis, o ne perskaičiuoti visą lentelę nuo pirmo įrašo. Kai pardavimų, pirkimų ar didžiosios knygos operacijų lentelė auga milijonais eilučių, būtent šis nustatymas lemia, ar ataskaita atsinaujina per kelias minutes, ar stringa pusvalandį ir baigiasi klaida. Žemiau rasite, kaip mechanizmas veikia, ko reikia prieš pradedant, nustatymą žingsnis po žingsnio ir klaidas, kurias dažniausiai matome diegdami ataskaitas iš apskaitos sistemų.
Trumpai
- Inkrementinis atnaujinimas padalija lentelę į laikotarpių dalis (particijas): senieji duomenys lieka nepaliesti, atnaujinamas tik naujausias langas.
- Jam reikia dviejų Power Query parametrų, pavadintų tiksliai RangeStart ir RangeEnd, ir datos stulpelio, pagal kurį filtruojama.
- Funkcija veikia su Power BI Pro, Premium per user, Premium ir Embedded licencijomis, todėl brangios talpos nebūtina.
- Didžiausia rizika: nutrūkęs užklausų suliejimas (query folding), dėl kurio Power BI vis tiek parsisiunčia visus duomenis.
- Pirmasis atnaujinimas paslaugoje užtrunka ilgiausiai, vėlesni būna gerokai greitesni.
Turinys
- Kaip veikia inkrementinis atnaujinimas
- Ko reikia prieš pradedant
- Nustatymas žingsnis po žingsnio
- Dažniausios klaidos ir kaip jų išvengti
- Mūsų požiūris: inkrementinis atnaujinimas apskaitos duomenims
- Paruošti Power BI paketai Rivilė ir Finvalda naudotojams
- Dažniausiai užduodami klausimai
- Šaltiniai
Kaip veikia inkrementinis atnaujinimas
Įprastas suplanuotas atnaujinimas kiekvieną kartą ištrina lentelės duomenis ir įkelia juos iš naujo. Mažam modeliui tai netrukdo. Tačiau, kaip nurodo Microsoft dokumentacija apie inkrementinį atnaujinimą, kai lentelėje yra dešimtys milijonų eilučių ar daugiau, toks atnaujinimas gali trukti ilgai ir sunaudoti per daug išteklių.
Inkrementinis atnaujinimas šią problemą sprendžia politika (angl. policy), kurią apibrėžiate Power BI Desktop programoje. Kai ataskaita publikuojama, Power BI paslauga per pirmąjį atnaujinimą sukuria dviejų tipų particijas:
- Istorines particijas: ankstesnių laikotarpių duomenys, kurie nebesikeičia ir nebeatnaujinami.
- Atnaujinamas particijas: naujausias laikotarpis, pavyzdžiui, paskutinės 30 dienų, kurios perskaičiuojamos per kiekvieną atnaujinimą.
Pasirinktinai galima pridėti ir realaus laiko DirectQuery particiją, tačiau ši galimybė skirta tik Premium aplinkai.
| Kriterijus | Pilnas atnaujinimas | Inkrementinis atnaujinimas |
|---|---|---|
| Kokie duomenys įkeliami | Visa lentelė kiekvieną kartą | Tik naujausias laikotarpio langas |
| Apkrova duomenų šaltiniui | Didelė, auga kartu su istorija | Maža ir stabili |
| Atnaujinimo trukmė | Ilgėja kiekvieną mėnesį | Išlieka panaši |
| Nustatymo sudėtingumas | Jokio papildomo darbo | Parametrai, filtras ir politika |
| Kada tinka | Mažos lentelės, žinynai | Didelės operacijų (faktų) lentelės |
Svarbu suprasti ir ribas. Pasak Microsoft, net ir su inkrementiniu atnaujinimu atnaujinimo operacijoms galioja tie patys dviejų ir penkių valandų laiko limitai, nebent jos vykdomos per XMLA galinį tašką. Gerai sudaryta politika ne tik sutrumpina atnaujinimą, bet ir padeda nelaikyti modelyje nereikalingos istorijos.
Ko reikia prieš pradedant
Prieš atidarydami Power Query, patikrinkite keturis dalykus. Jei bent vienas neišpildytas, nustatymai bus išsaugoti, bet laukiamo efekto nebus.
Tinkama licencija
Pagal Microsoft nurodytus palaikomus planus, inkrementinis atnaujinimas palaikomas Power BI Premium, Premium per user, Power BI Pro ir Power BI Embedded modeliams. Daugumai mažų ir vidutinių įmonių užtenka Pro licencijos. Realaus laiko DirectQuery particija ir kai kurios pažangios galimybės lieka Premium aplinkai.
Datos stulpelis
Lentelėje turi būti datos stulpelis, pagal kurį bus skaidomi duomenys: dažniausiai tai dokumento, operacijos ar užsakymo data. Jis gali būti date/time arba sveikojo skaičiaus tipo. Jei data saugoma kaip skaičius formatu yyyymmdd (pvz., 20261022), Microsoft rekomenduoja sukurti funkciją, kuri RangeStart ir RangeEnd reikšmes paverčia tokiu pat skaičiumi.
Šaltinis, palaikantis užklausų suliejimą
Geriausiai inkrementinis atnaujinimas veikia su reliacinėmis duomenų bazėmis, pavyzdžiui, SQL Server. Filtras pagal RangeStart ir RangeEnd turi būti perduotas pačiam šaltiniui kaip jo užklausos dalis. Microsoft nurodo, kad funkciją galima pritaikyti ir Excel failams aplanke, failams SharePoint ar RSS sklaidos kanalams, tačiau tai pažangūs scenarijai, reikalaujantys papildomo pritaikymo ir testavimo.
Prieiga prie vietinių duomenų
Jei apskaitos duomenų bazė yra įmonės serveryje, Power BI paslaugai reikės duomenų šliuzo. Be jo debesis neturės kelio iki duomenų, o atnaujinimas apskritai neįvyks.
Nustatymas žingsnis po žingsnio
Toliau aprašyta seka atitinka oficialų Microsoft konfigūravimo vadovą.
- Sukurkite parametrus. Power BI Desktop pasirinkite Transform data, tada Manage Parameters → New Parameter. Sukurkite parametrą RangeStart, tipas Date/Time, ir antrą parametrą RangeEnd. Pavadinimai skiria didžiąsias ir mažąsias raides, todėl „rangestart“ nebus atpažintas.
- Nurodykite nedidelį pradinį intervalą. Desktop programoje šios reikšmės naudojamos tik tam, kad į modelį būtų įkeltas mažas duomenų kiekis, pavyzdžiui, nuo 2026 m. spalio 1 d. iki spalio 22 d. Publikavus ataskaitą, politika šias reikšmes perima ir pakeičia.
- Pritaikykite filtrą datos stulpeliui. Stulpelio filtre pasirinkite Custom Filter: data is after or equal to RangeStart ir is before RangeEnd. Viena lygybė turi būti griežta. Jei abiejose pusėse paliksite „mažiau arba lygu“, įrašas, kurio data sutampa su riba, pateks į dvi particijas ir bus dubliuojamas.
- Uždarykite Power Query. Spauskite Close & Apply. Modelis įkels tik pasirinkto intervalo duomenis.
- Apibrėžkite politiką. Dešiniuoju pelės mygtuku spustelėkite lentelę ir pasirinkite Incremental refresh. Nurodykite, kiek istorijos saugoti (pvz., 5 metus) ir kokį langą atnaujinti (pvz., 30 dienų). Papildomai galite įjungti:
- Only refresh complete days: neįkeliamos dar nepasibaigusios dienos;
- Detect data changes: atnaujinamos tik tos dienos, kuriose šaltinyje pasikeitė duomenys. Tam reikia atskiro pakeitimo datos stulpelio, kuris negali būti tas pats, pagal kurį skaidoma lentelė.
- Publikuokite ir atlikite pirmąjį atnaujinimą. Pirmasis atnaujinimas paslaugoje įkelia visą saugomos istorijos laikotarpį, todėl gali trukti gana ilgai. Vėlesni atnaujinimai, rankiniai ar suplanuoti, paprastai vyksta daug greičiau.
Galiausiai sukonfigūruokite grafiką: kiek kartų per dieną ir kokiu laiku turi būti atnaujinami duomenys. Limitus ir nustatymus pagal licencijas aptarėme straipsnyje apie Power BI suplanuotą atnaujinimą.
Dažniausios klaidos ir kaip jų išvengti
Nutrūkęs užklausų suliejimas. Microsoft pabrėžia, kad filtras pagal RangeStart ir RangeEnd turi susilieti su pradine šaltinio užklausa. Jei prieš filtrą įterpiate žingsnį, kurio šaltinis negali išversti į savo užklausų kalbą (pavyzdžiui, sudėtingą stulpelio transformaciją), Power BI parsisiunčia visą lentelę ir filtruoja ją pats. Patikrinti paprasta: Power Query dešiniuoju pelės mygtuku spustelėkite filtro žingsnį ir žiūrėkite, ar aktyvi parinktis View Native Query.

Netinkamas datos stulpelis. Skaidymui rinkitės datą, kuri po įrašo sukūrimo nebesikeičia. Jei dokumentas gali būti perkeltas į kitą laikotarpį, apsvarstykite platesnį atnaujinimo langą, pavyzdžiui, du ar tris mėnesius vietoj kelių dienų.
Inkrementinis atnaujinimas žinynams. Klientų, prekių ar padalinių sąrašai paprastai nedideli, o jų įrašai keičiasi bet kada. Juos dažniausiai paprasčiau atnaujinti pilnai, o inkrementinį atnaujinimą taikyti tik didelėms operacijų lentelėms.
Per siauras langas apskaitoje. Buhalterinėje apskaitoje praėjusio mėnesio dokumentai dažnai koreguojami dar kelias savaites. Jei atnaujinate tik paskutines 7 dienas, vėlesni pataisymai į ataskaitą nepateks. Atnaujinimo langas turi apimti bent tą laikotarpį, kurį jūsų įmonėje dar galima keisti iki mėnesio uždarymo.
Lūkestis, kad laiko limitai išnyks. Inkrementinis atnaujinimas sumažina apkrovą, bet nepanaikina limitų. Jei pirmasis pilnas įkėlimas į juos netelpa, tenka mažinti saugomą istoriją arba įkelti duomenis dalimis.
Mūsų požiūris: inkrementinis atnaujinimas apskaitos duomenims
Diegdami Power BI ataskaitas iš Rivilė ir Finvalda, matome, kad inkrementinis atnaujinimas dažnai laikomas technine smulkmena, kol modelis pradeda atsinaujinti per lėtai. Mūsų patirtimi, tai architektūros klausimas, kurį verta spręsti nuo pirmos dienos.
Apskaitos duomenys turi savo specifiką. Operacijų daugėja kiekvieną dieną, o praėjusių laikotarpių dokumentai vis dar koreguojami iki mėnesio ar metų uždarymo. Todėl atnaujinimo langą derinkite su apskaitos procesu, o ne vien su techniniu patogumu. Kai vienas Power BI modelis apjungia apskaitos duomenis su SharePoint, Excel ar CRM šaltiniais, kiekvienai lentelei verta atskirai apsvarstyti, ar ją atnaujinti inkrementiškai, ar pilnai.
Svarbiausia, kad vadovas ar finansų direktorius ryte atsidarytų ataskaitą ir matytų teisingus pajamų, sąnaudų ir pelno skaičius, nesvarstydamas, kokiu būdu jie atsinaujino. Būtent todėl mūsų ataskaitos atsinaujina automatiškai, be papildomo vartotojo darbo.
— Analitika360
Paruošti Power BI paketai Rivilė ir Finvalda naudotojams
Jei nenorite patys konfigūruoti parametrų, filtrų ir atnaujinimo politikos, Analitika360 siūlo paruoštus ataskaitų rinkinius su automatiniu duomenų atnaujinimu. Rivilė Basic ir Finvalda Basic planai kainuoja 59 € per mėnesį, Rivilė PRO ir Finvalda PRO planai kainuoja 89 € per mėnesį. Specifiniams poreikiams, pavyzdžiui, papildomų šaltinių integracijai, atliekame individualius projektus už 70 € per valandą. Visus planus palyginti galite verslo analitikos kainų puslapyje, o daugiau apie tai, kaip veikia automatinis ataskaitų atnaujinimas, rasite atskirame straipsnyje.

Dažniausiai užduodami klausimai
Ar inkrementiniam atnaujinimui būtina Premium licencija?
Ne. Microsoft nurodo, kad funkcija palaikoma Power BI Pro, Premium per user, Premium ir Embedded modeliams. Premium reikalinga tik kai kurioms papildomoms galimybėms, pavyzdžiui, realaus laiko DirectQuery particijai.
Kuo skiriasi incremental load ir incremental refresh?
„Incremental load“ yra bendras duomenų inžinerijos terminas, reiškiantis tik naujų įrašų įkėlimą į bet kokią sistemą, pavyzdžiui, į duomenų saugyklą per ETL procesą. „Incremental refresh“ yra konkreti Power BI funkcija, kuri šį principą įgyvendina modelio lygiu per RangeStart ir RangeEnd parametrus bei particijas.
Ar galima naudoti inkrementinį atnaujinimą su Excel failais?
Galima, bet tai pažangus scenarijus. Microsoft nurodo, kad su failais aplanke ar SharePoint reikia filtruoti pačius failus pagal datą, nes Excel nepalaiko užklausų suliejimo taip, kaip duomenų bazė. Tokį sprendimą verta kruopščiai išbandyti prieš naudojant gamybinėje aplinkoje.
Kodėl po nustatymo atnaujinimas negreitėja?
Dažniausia priežastis yra nutrūkęs užklausų suliejimas: Power BI vis tiek parsisiunčia visą lentelę. Patikrinkite, ar filtro žingsniui aktyvi parinktis View Native Query, ir perkelkite transformacijas po filtro arba į patį šaltinį.
Šaltiniai
- Microsoft Learn: Configure incremental refresh and real-time data for Power BI semantic models
- Microsoft Learn: Configure incremental refresh for Power BI semantic models
- Microsoft Learn: LinkedIn Learning Power BI connector, incremental refresh
