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
- Kada rinktis importą, o kada DirectQuery: kontrolinis sąrašas
- DirectQuery našumo rizikos ir kaip jas valdyti
- Composite, Dual ir Hybrid: kaip suderinti abu režimus
- Praktinis diegimas: šliuzas, SSO, foulding ir testavimas
- Analitika360 patirtis taikant importą ir DirectQuery
- Redakcijos rekomendacijos skirtingiems vartotojams
- Analitika360 pasiūlymas: paruošti Power BI paketai
- Dažniausiai užduodami klausimai
- Šaltiniai
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.
- 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.
- Latencijos reikalavimai. Jei verslo procesui reikia matyti pokyčius per kelias minutes, o ne valandas, DirectQuery arba automatinis puslapio atnaujinimas tampa būtinas.
- 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.
- 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.
- 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.

Š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.
- Patikrinkite, ar jūsų duomenų šaltinio jungiklis apskritai palaiko DirectQuery, nes ne visi konektoriai tai daro vienodai gerai.
- Sukonfigūruokite duomenų šliuzą, jei duomenų bazė nepasiekiama tiesiogiai iš interneto, ir patikrinkite tinklo pralaidumą tarp Power BI ir šaltinio.
- 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ą.
- 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.
- 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.

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
- Semantische Modelle im Power BI-Dienst - Power BI | Microsoft Learn
- Power BI storage modes explained - Import, DirectQuery and Dual
