Analitika360

DirectQuery ar importas: kaip pasirinkti tinkamą Power BI režimą

Daugeliui atvejų importas lieka greitesnis ir lankstesnis pasirinkimas, nes duomenys saugomi modelyje ir ataskaitos veikia be nuolatinio ryšio su šaltiniu. DirectQuery verta rinktis, kai reikia beveik realaus laiko rodiklių arba kai duomenų kopijos laikyti negalima dėl saugumo ar valdymo reikalavimų. Tarp šių dviejų kraštutinumų stovi Dual režimas, o galutinį sprendimą visada lemia duomenų bazės infrastruktūra ir atnaujinimų dažnumas.


Trumpai:

  • Kai duomenų rinkinys telpa į atmintį ir pakanka kelių atnaujinimų per dieną, importo režimu galima kurti sudėtingesnius skaičiavimus nei naudojant DirectQuery režimą.
  • DirectQuery rinkitės tik tada, kai beveik realaus laiko duomenys būtini, o duomenų bazė turi tinkamus indeksus, nes kiekvienas filtro pakeitimas siunčia jai naują užklausą.
  • DirectQuery užklausa, grąžinanti daugiau nei 1 000 000 eilučių, gali sukelti Power BI klaidą, todėl agregacijas ir filtrus numatykite dar projektuodami modelį.
  • Sudėtiniame modelyje istorinius faktų duomenis laikykite importe, naujausius perduokite per DirectQuery, o dimensijas nustatykite veikti Dual režimu, kad jos derėtų prie abiejų režimų.
  • Prieš diegdami DirectQuery patikrinkite, ar jungiklis jį palaiko, sukonfigūruokite duomenų šliuzą ir išbandykite įprastus filtrų derinius, stebėdami atsako laiką bei duomenų bazės apkrovą.

Turinys

Techniniai skirtumai: kas vyksta importo ir kas DirectQuery režime

Pasirinkus importą, Power BI nukopijuoja duomenis į savo vidinę talpyklą, vadinamą VertiPaq, ir suspaudžia juos stulpeliniu formatu. Ataskaita tuomet veikia visiškai atsietai nuo pirminio šaltinio: vartotojas mato būseną tokią, kokia ji buvo paskutinio atnaujinimo metu. Microsoft Learn dokumentacija aprašo, kad Power BI palaiko tris pagrindinius modelių režimus: importą, DirectQuery ir sudėtinį (composite) modelį, kuris šiuos du derina viename sprendime.

DirectQuery veikia kitaip: kiekvienas vizualas ataskaitoje generuoja atskirą užklausą, kuri siunčiama tiesiai į šaltinio duomenų bazę. Duomenys niekada nelieka Power BI modelyje, todėl kiekvienas filtras ar segmentas iššaukia naują apkrovą šaltiniui.

Tai turi tiesioginių pasekmių modeliavimui:

  • Power Query folding tampa būtinas: transformacijos turi būti suspaudžiamos į vieną natyvią užklausą, kitaip DirectQuery priverčia sistemą atlikti neskalaujamus veiksmus.
  • Dalis sudėtingų DAX funkcijų ir transformacijų, kurios laisvai veikia importe, DirectQuery režime arba neveikia, arba stipriai apriboja modelio lankstumą.
  • Atnaujinimų planavimas importe reikalauja atskiro grafiko, o DirectQuery duomenys iš esmės visada atspindi naujausią šaltinio būseną.

Praktikoje tai reiškia, kad importo modeliai leidžia laisviau eksperimentuoti su skaičiuojamais stulpeliais ir sudėtingomis matomis, o DirectQuery modeliai reikalauja daug atsargesnio projektavimo nuo pat pradžių.

Kada rinktis importą, o kada DirectQuery: kontrolinis sąrašas

Sprendimas retai būna vienareikšmis, todėl verta eiti per kelis kriterijus nuosekliai, o ne spręsti intuityviai.

  1. Duomenų kiekis ir atnaujinimų dažnumas. Jei duomenų rinkinys telpa į atminties limitus ir pakanka kelių atnaujinimų per dieną, importas beveik visada bus paprastesnis ir greitesnis sprendimas.
  2. Latencijos reikalavimai. Jei verslo procesui reikia matyti pokyčius per kelias minutes, o ne valandas, DirectQuery arba automatinis puslapio atnaujinimas tampa būtinas.
  3. Saugumo, RLS ir duomenų kopijų apribojimai. Kai reguliavimas ar vidaus politika draudžia laikyti duomenų kopiją už pirminės sistemos ribų, DirectQuery lieka vienintelis realus kelias; šis klausimas dažnai susikerta su BDAR reikalavimais, kuriuos verta įvertinti kartu su IT komanda.
  4. Infrastruktūros pajėgumas. DirectQuery scenarijus reikalauja gerai indeksuotos duomenų saugyklos: OLTP sistema, skirta kasdieniam darbui, dažnai nepakelia analitinės apkrovos be atskiros duomenų saugyklos.
  5. Licencijų ir atnaujinimų limitai. Pro, Premium Per User ir Premium planai skiriasi leidžiamu atnaujinimų skaičiumi per dieną, o tai tiesiogiai veikia, ar importas apskritai gali atitikti verslo poreikį šviežiems duomenims.

Profesionalus patarimas: prieš renkantis DirectQuery, pirmiausia patikrinkite, ar jūsų duomenų bazė turi tinkamus indeksus dažniausiai naudojamiems stulpeliams, nes be jų net nedidelė ataskaita gali tapti lėta.

DirectQuery našumo rizikos ir kaip jas valdyti

DirectQuery patogumas turi kainą: kiekviena vartotojo sąveika su ataskaita, nuo filtro paspaudimo iki segmento pasirinkimo, siunčia naują užklausą į šaltinį. Praktinė analizė apie DirectQuery poveikį SQL Server rodo, kad be tinkamos duomenų bazės optimizacijos ir indeksų, tokia apkrova greitai priverčia grįžti prie importo arba ieškoti valdomo sprendimo.

Pagal Microsoft Learn dokumentaciją, jei DirectQuery užklausa grąžina daugiau nei 1 000 000 eilučių, Power BI gali mesti klaidą. Tai reiškia, kad agregacijos ir filtrai turi būti suplanuoti jau modeliavimo etape, o ne taisomi po to, kai vartotojai pradeda skųstis greičiu.

Keletas strategijų, mažinančių riziką:

  • Naudoti iš anksto apskaičiuotas agregacijas, kad dažniausios užklausos nepasiektų žaliavinės lentelės.
  • Įjungti automatinį puslapio atnaujinimą tik tada, kai tikrai reikalingas beveik realaus laiko vaizdas, nes dažnas atnaujinimas papildomai apkrauna šaltinį.
  • Taikyti inkrementinį atnaujinimą hibridiniuose modeliuose, kad istoriniai duomenys liktų importe, o tik naujausia dalis eitų per DirectQuery.
  • Diagnozuoti problemas su Power BI Desktop stebėjimo įrankiais (tracing) ir SQL Profiler, kad matytumėte, kurios užklausos realiai apkrauna duomenų bazę.

Šios priemonės nereiškia, kad DirectQuery visada bus lėtas, tačiau jos parodo, kad sprendimas reikalauja nuolatinės priežiūros, o ne vienkartinio nustatymo.

Composite, Dual ir Hybrid: kaip suderinti abu režimus

Sudėtinis (composite) modelis leidžia tam pačiame Power BI faile sujungti importo ir DirectQuery lenteles, todėl nereikia rinktis vieno kelio visam modeliui. The Data School paaiškina, kad Dual režimas leidžia dimensijų lentelei elgtis kaip importui arba DirectQuery, priklausomai nuo to, kokia užklausa ją pasiekia.

Sudėtinis modelis, kuriame naudojamos importuotos ir DirectQuery lentelės

Šis lankstumas sprendžia konkrečią problemą: kai faktų lentelė yra DirectQuery, o dimensija tik importe, Power BI kartais atsisako tam tikrų ryšių dėl vadinamų apribotų sąryšių (restricted relationships). Dual režimas šią problemą sumažina, nes dimensija gali prisitaikyti prie abiejų pusių.

Praktikoje gerai suprojektuotas sudėtinis modelis dažniausiai atrodo taip:

  • Dimensijos (klientai, produktai, kalendorius) laikomos Dual režime, kad jos tarnautų abiem pusėms vienodai gerai.
  • Istoriniai faktų duomenys importuojami ir atnaujinami rečiau, nes jų reikšmė laikui bėgant nekinta.
  • Naujausi faktų įrašai lieka DirectQuery arba pereina per inkrementinį atnaujinimą, kad atspindėtų šviežiausią būseną.

Didesnio masto lakehouse ar duomenų saugyklos scenarijams verta žinoti ir apie Hybrid tables bei Direct Lake alternatyvas, kurios leidžia dinamiškai valdyti „karštus“ ir „šaltus“ duomenis be rankinio perjungimo tarp režimų.

Praktinis diegimas: šliuzas, SSO, foulding ir testavimas

Prieš pereinant prie DirectQuery ar sudėtinio modelio, verta eiti per kelis patikrinimus iš eilės, kad išvengtumėte netikėtumų gamybinėje aplinkoje.

  1. Patikrinkite, ar jūsų duomenų šaltinio jungiklis apskritai palaiko DirectQuery, nes ne visi konektoriai tai daro vienodai gerai.
  2. Sukonfigūruokite duomenų šliuzą, jei duomenų bazė nepasiekiama tiesiogiai iš interneto, ir patikrinkite tinklo pralaidumą tarp Power BI ir šaltinio.
  3. Nustatykite SSO (vieningą prisijungimą), kad vartotojų teisės duomenų bazėje atitiktų jų teises Power BI ataskaitoje, o ne būtų valdomos per bendrą techninę paskyrą.
  4. Peržiūrėkite Power Query žingsnius ir patikrinkite, ar jie tikrai suspaudžiami (foulding) į vieną užklausą; sudėtingi M kodo veiksmai dažnai sulaužo šį procesą be aiškaus įspėjimo.
  5. Testuokite modelį su realiais vartotojų scenarijais, stebėdami atsakymo laiką ir duomenų bazės apkrovą prieš paleidžiant ataskaitą visai organizacijai.

Profesionalus patarimas: paleiskite Power BI Desktop stebėjimo įrankį lygiagrečiai su keliais tipiniais filtrų deriniais, kuriuos naudos verslo vartotojai, o ne tik su vienu paprasčiausiu scenarijumi.

Kai šie žingsniai atlikti, verta peržiūrėti ir suplanuoto atnaujinimo limitus, nes jie tiesiogiai veikia, kiek dažnai importo dalis modelyje gali atsinaujinti.

Analitika360 patirtis taikant importą ir DirectQuery

Dirbdami su Rivilė ir Finvalda duomenimis, dažniausiai renkamės importą kaip numatytąjį sprendimą, nes apskaitos sistemų duomenys keičiasi pakankamai retai, kad automatizuotas atnaujinimas be papildomo vartotojo darbo visiškai patenkintų verslo poreikį. Kai klientui reikia sujungti kelis šaltinius, pavyzdžiui, apskaitos sistemą su SharePoint ar Excel failais, composite modelis leidžia kiekvieną šaltinį laikyti tinkamiausiame režime, o ne priverstinai derinti viską prie vieno standarto.

DirectQuery siūlome rečiau ir tik tada, kai infrastruktūra tam yra paruošta: pakankamai galinga duomenų bazė, aiškūs indeksai ir realus poreikis matyti pokyčius beveik iš karto, pavyzdžiui, sandėlio likučių stebėjimui didelio apyvartumo versle.

Redakcijos rekomendacijos skirtingiems vartotojams

Analitikui verta pradėti nuo importo ir pereiti prie DirectQuery tik atsiradus konkrečiam latencijos poreikiui. IT vadovui prasminga iš anksto įvertinti duomenų bazės pajėgumą ir saugumo politiką, o ne spręsti reaktyviai po pirmo sulėtėjimo. Buhalteriui dažniausiai pakanka gerai suplanuoto importo su aiškiu atnaujinimų grafiku. Kai sprendimas tampa sudėtingas, verta išbandyti nedidelį bandomąjį (POC) modelį prieš diegiant jį visai organizacijai.

— Analitika360

Analitika360 pasiūlymas: paruošti Power BI paketai

Jei norite išvengti šių sprendimų priėmimo vienu metu su kasdieniu darbu, siūlome paruoštus ataskaitų paketus, kurie jau suprojektuoti tinkamu režimu jūsų apskaitos sistemai. Rivilė Basic ir Finvalda Basic apima importo pagrindu veikiančias ataskaitas su automatizuotu atnaujinimu, o PRO paketai ar individualūs projektai leidžia pritaikyti modelį sudėtingesniems, kelių šaltinių scenarijams.

Analitika360

Visą kainodarą ir PRO planų sąlygas rasite verslo analitikos kainų puslapyje, kur taip pat galite susisiekti dėl individualaus sprendimo jūsų sistemai.

Dažniausiai užduodami klausimai

Kuo importas skiriasi nuo DirectQuery Power BI?

Importas nukopijuoja duomenis į Power BI modelį ir juos suspaudžia, todėl ataskaita veikia be nuolatinio ryšio su šaltiniu. DirectQuery kiekvieną vizualą paverčia atskira užklausa, siunčiama tiesiai į duomenų bazę, kaip aprašyta Microsoft Learn dokumentacijoje.

Kada verta rinktis DirectQuery vietoj importo?

DirectQuery tinka, kai reikia beveik realaus laiko duomenų arba kai duomenų kopijos laikyti negalima dėl saugumo ar valdymo reikalavimų. Jis taip pat aktualus, kai duomenų kiekis viršija praktiškus importo limitus.

Koks yra DirectQuery eilučių limitas užklausai?

Pagal Microsoft Learn, jei DirectQuery užklausa grąžina daugiau nei 1 000 000 eilučių, Power BI gali mesti klaidą. Dėl to agregacijos ir filtrai turi būti suplanuoti jau modelio projektavimo etape.

Kas yra Dual režimas ir kam jis naudingas?

Dual režimas leidžia dimensijų lentelei elgtis kaip importui arba DirectQuery, priklausomai nuo užklausos, kaip paaiškina The Data School. Jis mažina apribotų sąryšių problemas sudėtiniuose modeliuose ir pagerina bendrą ataskaitos našumą.

Ar Analitika360 paketai veikia importo ar DirectQuery režimu?

Mūsų paruošti Rivilė ir Finvalda paketai veikia importo pagrindu su automatizuotu atnaujinimu, o sudėtingesniems scenarijams siūlome individualius sprendimus su composite modeliu. Konkretaus atvejo architektūrą aptariame atsižvelgdami į kliento duomenų bazę ir atnaujinimų poreikį.

Šaltiniai

Rekomendacijos

Taip pat skaitykite

Norite tokių ataskaitų savo versle?

Analitika360 paruošia Power BI ataskaitas iš jūsų apskaitos sistemos duomenų — Rivilė, Finvalda ar R-Keeper. Ataskaitos atsinaujina automatiškai, nuo 59 Eur/mėn.

Kainos ir planai
Analitika360 klientų sėkmės istorijos

Duomenys, kurie padeda priimti sprendimus

Sužinokite, kaip įmonės, tokios kaip jūsų, pritaikė Analitika360 ataskaitas savo veikloje naudodami Power BI.

“
Gavome standartinį R-Keeper ataskaitų paketą ir dar pritaikė pagal mūsų poreikius. Viskas veikia!
TB
Tomas B.restorano savininkas
“
20 paruoštų ataskaitų – nereikėjo galvoti, ko prašyti. Finvaldos duomenys pagaliau matomi vizualiai. Rekomenduoju.
IM
Ingrida M.buhalterė
“
Labai patiko, kad Analitika360 turi paruoštą 20 ataskaitų paketą Rivile naudotojams – nereikėjo nuo nulio aiškintis, ko mums reikia. Startavome greitai, o vėliau dar pritaikė kelias ataskaitas pagal mūsų gamybos specifiką. Sutaupėme ir laiko, ir pinigų.
MK
Marius K.finansų vadovas
“
Turime kelių įmonių grupę su Rivile, ir konsoliduotos ataskaitos visada buvo galvos skausmas. Analitika360 pasiūlė standartinį 20 ataskaitų paketą kaip pagrindą, o tada pritaikė jį mūsų grupės struktūrai – dabar matome viską viename Power BI modelyje, atsinaujina automatiškai.
GJ
Giedrė Jankauskaitėfinansininkė
“
Valdome 6 restoranus su R-Keeper ir ilgai ieškojome būdo matyti palyginamus rezultatus tarp objektų. Standartinis 20 ataskaitų paketas padengė didžiąją dalį poreikių, o vėliau buvo pritaikytos individualios ataskaitos mūsų tinklui.
AŠ
Andrius Š.restoranų tinklo direktorius
“
Kreipėmės po rekomendacijos ir iš karto maloniai nustebino paruoštas 20 ataskaitų standartas Finvalda naudotojams. Vadovybė dabar kas pirmadienį gauna aiškią finansinę nuotrauką, o aš nebeleidžiu dienų eksportuojant duomenis į Excel.
RP
Rasa Petrauskienėapskaitos vadovė
“
Naudojame Rivile, bet niekada neturėjome laiko kurti ataskaitų nuo nulio. 20 ataskaitų paketas buvo tiesiog tai, ko reikėjo – įsidiegėme per savaitę.
VP
Vaidas P.prekybos tinklo vadovas
“
Turime 4 kavines su R-Keeper sistema ir ilgai dirbome „pagal nuojautą“. Analitika360 ataskaitos parodė dalykų, kurių anksčiau net nepastebėdavome. Dabar sprendimus priimame remdamiesi duomenimis, ne spėliojimais.
LK
Laura Kazlauskienėkavinių tinklo finansų vadovė