Tárolási mód kezelése a Power BI DesktopbanManage storage mode in Power BI Desktop

A Microsoft Power BI Desktopban megadható a táblák tárolási módja.In Microsoft Power BI Desktop, you can specify the storage mode of a table. A tárolási mód használatával szabályozható, hogy a Power BI Desktop gyorsítótárazza-e a memóriában a táblák adatait a jelentésekhez.The storage mode lets you control whether Power BI Desktop caches table data in-memory for reports.

A tárolási mód beállítása több előnnyel is jár.Setting the storage mode provides many advantages. Az egyes táblák tárolási módja külön adható meg a modellben.You can set the storage mode for each table individually in your model. Ezzel a művelettel egyetlen adathalmazt engedélyez, ami az alábbi előnyökkel jár:This action enables a single dataset, which provides the following benefits:

  • Lekérdezési teljesítmény: Amikor a felhasználók vizualizációkkal dolgoznak a Power BI-jelentésekben, a rendszer Data Analysis Expressions- (DAX-) lekérdezéseket továbbít az adathalmazhoz.Query performance: As users interact with visuals in Power BI reports, Data Analysis Expressions (DAX) queries are submitted to the dataset. Az adatok memóriabeli gyorsítótárazása a tárolási mód helyes beállításával fokozza a lekérdezési teljesítményt és a jelentések kezelhetőségét.Caching data into memory by properly setting the storage mode can boost the query performance and interactivity of your reports.

  • Nagy adathalmazok: A nem gyorsítótárazott táblák nem foglalnak memóriát gyorsítótárazás céljára.Large datasets: Tables that aren't cached don't consume memory for caching purposes. Olyan adathalmazokhoz, amelyek túl nagyok vagy szerteágazóak ahhoz, hogy teljes egészükben gyorsítótárazva legyenek a memóriában, engedélyezheti az interaktív elemzést.You can enable interactive analysis over large datasets that are too large or expensive to completely cache into memory. Ön döntheti el, hogy mely táblákat érdemes gyorsítótárazni, és melyeket nem.You can choose which tables are worth caching, and which aren't.

  • Adatfrissítés optimalizálása: A nem gyorsítótárazott táblákat nem kell frissítenie.Data refresh optimization: You don't need to refresh tables that aren't cached. Csökkentheti a frissítések időigényét, ha csak a szolgáltatói szerződés és az üzleti igények kielégítéséhez szükséges adatokat gyorsítótárazza.You can reduce refresh times by caching only the data that's necessary to meet your service level agreements and your business requirements.

  • Közel valós idejű követelmények: A közel valós idejű kezelést igénylő táblákat az adatok késésének csökkentése érdekében jobb nem gyorsítótárazni.Near-real time requirements: Tables with near-real time requirements might benefit from not being cached, to reduce data latency.

  • Visszaírás: A visszaírás által az üzleti felhasználók feltételes forgatókönyveket vizsgálhatnak a cellaértékek módosításával.Writeback: Writeback enables business users to explore what-if scenarios by changing cell values. Az egyéni alkalmazások módosításokat hajthatnak végre az adatforráson.Custom applications can apply changes to the data source. A nem gyorsítótárazott táblákban a változás azonnal megjelenik, így a következmények azonnal elemezhetők.Tables that aren't cached can display changes immediately, which allows instant analysis of the effects.

A Power BI Desktop tárolási mód beállítása három kapcsolódó funkció egyike:The storage mode setting in Power BI Desktop is one of three related features:

  • Összetett modellek: Lehetővé teszik, hogy egy jelentés kettő vagy több adatkapcsolattal, köztük DirectQuery-kapcsolatokkal és importálással, vagy ezek bármilyen kombinációjával rendelkezzen.Composite models: Allows a report to have two or more data connections, including DirectQuery connections or Import, in any combination. További információ: Összetett modellek használata a Power BI Desktopban.For more information, see Use composite models in Power BI Desktop.

  • Több a többhöz kapcsolatok: Az összetett modellekkel a táblák között több-a-többhöz kapcsolatok hozhatók létre.Many-to-many relationships: With composite models, you can establish many-to-many relationships between tables. A több-a-többhöz kapcsolatokban megszűnik az egyedi értékek követelménye a táblákban.In a many-to-many relationship, requirements are removed for unique values in tables. Ráadásul ez a korábbi áthidaló megoldásokat is szükségtelenné teszi, például új táblák bevezetését a kapcsolatok létrehozásához.It also removes prior workarounds, such as introducing new tables only to establish relationships. További információk: Több a többhöz kapcsolatok a Power BI Desktopban.For more information, see Many-to-many relationships in Power BI Desktop.

  • Tárolási mód: A tárolási móddal mostantól megadható, hogy mely vizualizációk igényelnek a háttér-adatforrásokba irányuló lekérdezéseket.Storage mode: With storage mode, you can now specify which visuals require a query to back-end data sources. Azok a vizualizációk, amelyekhez nincs szükség lekérdezésre, importálva lesznek még akkor is, ha DirectQuery-alapúak.Visuals that don't require a query are imported even if they're based on DirectQuery. Ez a funkció segíti a teljesítmény javulását, és csökkenti a háttérrendszerek leterheltségét.This feature helps improve performance and reduce back-end load. Korábban még az egyszerű vizualizációk, például a szeletelők is kezdeményeztek a háttérbeli forrásokba irányuló lekérdezéseket.Previously, even simple visuals, such as slicers, initiated queries that were sent to back-end sources.

A Tárolási mód tulajdonság használataUse the Storage mode property

A Tárolási mód olyan tulajdonság, amely a modell minden egyes táblájához beállítható, és azt szabályozza, hogy hogyan gyorsítótárazza a Power BI a tábla adatait.The Storage mode property is a property that you can set on each table in your model and controls how Power BI caches the table data.

A Tárolási mód tulajdonság beállításához vagy az aktuális beállítás megtekintéséhez:To set the Storage mode property, or view its current setting:

  1. Modell nézetben jelölje ki azt a táblát, amelynek tulajdonságait megtekinteni vagy módosítani kívánja.in Model view, select the table whose properties you want to view or set.

  2. A Tulajdonságok panelen bontsa ki a Speciális szakaszt, majd gördítse le a Tárolási mód listát.In the Properties pane, expand the Advanced section, and expand the Storage mode drop-down.

    A Tárolási mód tulajdonság kiválasztása

A Tárolási mód tulajdonság az alábbi három érték egyikére állítható be:You set the Storage mode property to one of these three values:

  • Importálás: Az így beállított, importált táblák gyorsítótárazva vannak.Import: Imported tables with this setting are cached. A Power BI-adathalmazra irányuló, importált táblákból adatokat visszaadó lekérdezések csak a gyorsítótárazott adatokon hajthatók végre.Queries submitted to the Power BI dataset that return data from Import tables can be fulfilled only from cached data.

  • DirectQuery: Az így beállított táblák nincsenek gyorsítótárazva.DirectQuery: Tables with this setting aren't cached. A Power BI-adathalmazra irányuló —például DAX-lekérdezések—, illetve a DirectQuery-táblákból adatokat visszaadó lekérdezések csak igény szerinti lekérdezéseknek az adatforráson való futtatásával hajthatók végre.Queries that you submit to the Power BI dataset—for example, DAX queries—and that return data from DirectQuery tables can be fulfilled only by executing on-demand queries to the data source. Az adatforrásra irányuló lekérdezések az adott adatforrás lekérdezési nyelvét (például SQL) használják.Queries that you submit to the data source use the query language for that data source, for example, SQL.

  • Kettős: Az így beállított táblák gyorsítótárazottként és nem gyorsítótárazottként is viselkedhetnek a Power BI-adathalmazra irányuló lekérdezés környezetétől függően.Dual: Tables with this setting can act as either cached or not cached, depending on the context of the query that's submitted to the Power BI dataset. Bizonyos esetekben a lekérdezések a gyorsítótárazott adatokból vannak teljesítve.In some cases, you fulfill queries from cached data. Más esetekben a lekérdezések teljesítése úgy történik, hogy a rendszer egy igény szerinti lekérdezést futtat az adatforráson.In other cases, you fulfill queries by executing an on-demand query to the data source.

Egy tábla Tárolási módjának Importálás értékűre állítása visszafordíthatatlan művelet.Changing the Storage mode of a table to Import is an irreversible operation. Ezt a tulajdonságot a beállítása után nem lehet DirectQuery vagy Kettős értékre módosítani.Once set, this property can't later be changed to either DirectQuery or Dual.

Megjegyzés

A Kettős tárolási módot a Power BI Desktopban és a Power BI szolgáltatásban is használhatja.You can use Dual storage mode in both Power BI Desktop and the Power BI service.

A DirectQuery és Kettős táblákra vonatkozó megkötésekConstraints on DirectQuery and Dual tables

A Kettős táblákra a DirectQuery-táblákéval azonos funkcionális megkötések érvényesek.Dual tables have the same functional constraints as DirectQuery tables. Ezek közé tartozik az M átalakítások korlátozása és a DAX-függvények korlátozott használata a számított oszlopokban.These constraints include limited M transformations and restricted DAX functions in calculated columns. Bővebb információért olvassa el a DirectQuery használatának következményeit bemutató cikket.For more information, see Implications of using DirectQuery.

A Kettős beállítás továbbadásaPropagation of the Dual setting

Tekintsük meg az alábbi egyszerű modellt, amelyben minden tábla egyetlen, az Importálást és a DirectQuery-t is támogató forrásból származik.Consider the following simple model, where all the tables are from a single source that supports Import and DirectQuery.

Példa Kapcsolat nézete a tárolási mód bemutatásához

Tegyük fel, hogy kezdetben a modell minden táblája DirectQuery beállítású.Let’s say all tables in this model are initially set to DirectQuery. Ha a SurveyResponse tábla tárolási módját Importálás értékűre állítja, az alábbi figyelmeztetési ablak jelenik meg:If you then change the Storage mode of the SurveyResponse table to Import, the following warning window is displayed:

Tárolási mód figyelmeztetési ablaka

A dimenziótáblákat (Customer, Geography és Date) beállíthatja Kettős típusúra, hogy az adathalmazban csökkenjen a korlátozott kapcsolatok száma, és javuljon a teljesítmény.You can set the dimension tables (Customer, Geography, and Date) to Dual to reduce the number of limited relationships in the dataset, and improve performance. Ahol az összekapcsolás logikája nem küldhető le a forrásrendszerekhez, ott a korlátozott kapcsolatokban általában legalább egy DirectQuery-tábla is szerepel.Limited relationships normally involve at least one DirectQuery table where join logic can't be pushed to the source systems. Mivel a Kettős tulajdonságú táblák DirectQuery és Importálás módúként is viselkedhetnek, ez a helyzet elkerülhető.Because Dual tables can act as either DirectQuery or Import tables, this situation is avoided.

A propagálási logika úgy van megtervezve, hogy segítsen a sok táblát tartalmazó modellek esetében.The propagation logic is designed to help with models that contain many tables. Tegyük fel, hogy a modellje 50 táblát tartalmaz, és csak bizonyos tény- (tranzakciós) táblákat kell gyorsítótárazni.Suppose you have a model with 50 tables and only certain fact (transactional) tables need to be cached. A Power BI Desktop logikája kiszámítja a dimenziótáblák legszűkebb halmazát, amelyet Kettős értékűre kell beállítani, így ezt Önnek nem kell megtennie.The logic in Power BI Desktop calculates the minimum set of dimension tables that must be set to Dual, so you don’t have to.

A propagálási logika csak az egy-a-többhöz kapcsolatok „egy” oldalát járja be.The propagation logic traverses only to the one side of one-to-many relationships.

Példa a tárolási mód használatáraStorage mode usage example

Folytatva az előző szakaszban megkezdett példát, tegyük fel, hogy a következő tárolásimód-beállításokat alkalmaztuk:Let's continue with the example from the previous section, and imagine applying the following storage mode property settings:

TáblázatTable Tárolási módStorage mode
ÉrtékesítésSales DirectQueryDirectQuery
SurveyResponseSurveyResponse ImportálásImport
DátumDate KettősDual
ÜgyfélCustomer KettősDual
Földrajzi helyGeography KettősDual

Ezek a tárolásimód-tulajdonságok a következő viselkedést eredményezik, feltéve hogy a Sales tábla jelentős mennyiségű adatot tartalmaz:Setting these storage mode properties results in the following behaviors, assuming that the Sales table has significant data volume:

  • A Power BI Desktop gyorsítótárazza a dimenziótáblákat (Date, Customer és Geography), hogy a megjelenítendő szeletelőértékek lekérésekor gyors legyen a jelentések kezdeti betöltése.Power BI Desktop caches dimension tables, Date, Customer, and Geography, so load times of initial reports are fast when they retrieve slicer values to display.

  • A Power BI Desktop nem gyorsítótárazza a Sales táblát.Power BI Desktop doesn't cache the Sales table. A Power BI Desktop az alábbi eredményeket biztosítja azzal, hogy nem gyorsítótárazza ezt a táblát:By not caching this table, Power BI Desktop provides the following results:

    • Az adatfrissítési idők javulnak, a memóriahasználat pedig csökken.Data-refresh times are improved, and memory consumption is reduced.
    • A jelentéseknek a Sales táblán alapuló lekérdezései DirectQuery-módban futnak.Report queries that are based on the Sales table run in DirectQuery mode. Ezek a lekérdezések tovább tarthatnak, de közelebb állnak a valós időhöz, mert nem járnak gyorsítótárazási késéssel.These queries might take longer but are closer to real time because no caching latency is introduced.
  • A jelentéseknek a SurveyResponse táblán alapuló lekérdezései a memóriabeli gyorsítótárból adnak vissza választ, ezért viszonylag gyorsak.Report queries that are based on the SurveyResponse table are returned from the in-memory cache, and are therefore relatively fast.

A gyorsítótárat érintő vagy elkerülő lekérdezésekQueries that hit or miss the cache

Ha az SQL Profilert a Power BI Desktop diagnosztikai portjára csatlakoztatja, a következő események nyomkövetésével megállapítható, hogy mely lekérdezések érintik vagy kerülik el a gyorsítótárat:If you connect SQL Profiler to the diagnostics port for Power BI Desktop, you can see which queries hit or miss the in-memory cache by performing a trace that's based on the following events:

  • Queries Events\Query BeginQueries Events\Query Begin
  • Query Processing\Vertipaq SE Query BeginQuery Processing\Vertipaq SE Query Begin
  • Query Processing\DirectQuery BeginQuery Processing\DirectQuery Begin

Minden Query Begin (lekérdezés kezdete) eseménynél ellenőrizze az azonos ActivityID tevékenységazonosítóval rendelkező többi eseményt.For each Query Begin event, check other events with the same ActivityID. Ha például nincs DirectQuery Begin esemény, Vertipaq SE Query Begin esemény viszont van, akkor a lekérdezés a gyorsítótárból kapott választ.For example, if there isn't a DirectQuery Begin event, but there's a Vertipaq SE Query Begin event, the query is answered from the cache.

A Kettős módú táblákra hivatkozó lekérdezések lehetőség szerint a gyorsítótárból adnak vissza adatokat, egyébként a DirectQueryre hagyatkoznak.Queries that refer to Dual tables return data from the cache, if possible; otherwise, they revert to DirectQuery.

A korábbi példát folytatva a következő lekérdezés csak a Kettős módban lévő Date tábla egyik oszlopára hivatkozik.Continuing the previous example, the following query refers only to a column from the Date table, which is in Dual mode. Így tehát a lekérdezésnek a gyorsítótárhoz kell fordulnia:Therefore, the query should hit the cache:

A Date táblára hivatkozó lekérdezés szövegét ábrázoló képernyőkép.

A következő lekérdezés csak a DirectQuery módban lévő Sales tábla egyik oszlopára hivatkozik.The following query refers only to a column from the Sales table, which is in DirectQuery mode. Így tehát nem fordulhat a gyorsítótárhoz:Therefore, it should not hit the cache:

A Sales táblára hivatkozó lekérdezés szövegét ábrázoló képernyőkép.

A következő lekérdezés érdekessége, hogy mindkét oszlop szerepel benne.The following query is interesting because it combines both columns. Ez a lekérdezés elkerüli a gyorsítótárat.This query doesn't hit the cache. Számítani lehetett volna arra, hogy a CalendarYear értékeket a gyorsítótárból, a SalesAmount értékeket pedig a forrásból kéri le, majd kombinálja az eredményeket, ez azonban kevésbé volna hatékony, mint a forrásrendszerhez továbbítani a SUM/GROUP BY műveletet.You might initially expect it to retrieve CalendarYear values from the cache and SalesAmount values from the source and then combine the results, but this approach is less efficient than submitting the SUM/GROUP BY operation to the source system. A műveletet a forrásnak leküldve a visszaadott sorok száma valószínűleg sokkal kisebb lesz:If the operation is pushed down to the source, the number of rows returned will likely be far less:

A Date és a Sales táblára is hivatkozó lekérdezés szövegét ábrázoló képernyőkép.

Megjegyzés

Ez a viselkedés más, mint a több-a-többhöz kapcsolatok viselkedése a Power BI Desktopban, amikor gyorsítótárazott és nem gyorsítótárazott táblák kombinálásáról van szó.This behavior is different from many-to-many relationships in Power BI Desktop when cached and non-cached tables are combined.

A gyorsítótárakat szinkronizálva kell tartaniCaches should be kept in sync

Az előző szakaszban bemutatott lekérdezések szemléltették, hogy a Kettős táblák bizonyos esetekben érintik, más esetekben elkerülik a gyorsítótárat.The queries displayed in the previous section show that Dual tables sometimes hit the cache and sometimes don't. Emiatt előfordulhat, hogy ha a gyorsítótár elavul, a rendszer különböző értékeket ad vissza.As a result, if the cache is out of date, different values can be returned. A lekérdezések végrehajtása nem kísérli meg elfedni az adatokkal kapcsolatos problémákat például azzal, hogy a DirectQuery-eredményeket a gyorsítótárazott értékekkel való egyezés alapján szűri.Query execution won't attempt to mask data issues by, for example, filtering DirectQuery results to match cached values. Önnek kell ismernie a saját adatfolyamait, és azok alapján terveznie.It's your responsibility to know your data flows, and you should design accordingly. Léteznek bevált módszerek az ilyen eseteknek a forrásnál való kezelésére, ha szükséges.There are established techniques to handle such cases at the source, if necessary.

A Kettős tárolási mód teljesítmény-optimalizálás.The Dual storage mode is a performance optimization. Csak úgy szabad használni, hogy ne veszélyeztesse az üzleti követelmények teljesítését.It should be used only in ways that don't compromise the ability to meet business requirements. Másféle viselkedés eléréséhez fontolja meg a Több-a-többhöz kapcsolatok a Power BI Desktopban című cikkben ismertetett módszerek használatát.For alternative behavior, consider using the techniques described in the Many-to-many relationships in Power BI Desktop.

AdatnézetData view

Ha az adathalmazban legalább egy tábla Importálás vagy Kettős tárolási módra van beállítva, akkor megjeleníthető az Adatnézet lap.If at least one table in the dataset has its storage mode set to either Import or Dual, the Data view tab is displayable.

Adatnézet a Power BI Desktopban

Az Adatnézetben kijelölt Kettős és Importálás módú táblákhoz megjelennek a gyorsítótárazott adatok.When you select Dual and Import tables in Data view, they show cached data. A DirectQuery-táblák adatai nem láthatók, és megjelenik egy üzenet, amely szerint a DirectQuery-táblák nem jeleníthetők meg.DirectQuery tables don't show data, and a message is displayed that states that DirectQuery tables can't be shown.

Korlátozások és szempontokLimitations and considerations

A tárolási módnak erre a verziójára és az összetett modellekkel való viszonyára bizonyos korlátozások vonatkoznak.There are a few limitations for this release of storage mode and its correlation with composite models.

Az alábbi élő kapcsolatú (többdimenziós) források nem használhatók összetett modellekkel:The following live connection (multi-dimensional) sources can't be used with composite models:

  • SAP HANASAP HANA
  • SAP Business WarehouseSAP Business Warehouse
  • SQL Server Analysis ServicesSQL Server Analysis Services
  • Power BI-adathalmazokPower BI datasets
  • Azure Analysis ServicesAzure Analysis Services

Ha ezekhez a többdimenziós forrásokhoz a DirectQuery használatával csatlakozik, nem tud más DirectQuery-forráshoz csatlakozni vagy importált adatokkal kombinálni.When you connect to those multi-dimensional sources by using DirectQuery, you can't connect to another DirectQuery source or combine it with imported data.

A DirectQuery használatára vonatkozó korlátozások az összetett modellek használatára is érvényesek.The existing limitations of using DirectQuery still apply when you use composite models. Sok ilyen korlátozás jelenleg táblánként értendő, a tábla tárolási módjától függően.Many of those limitations are now per table, depending upon the storage mode of the table. Egy importált tábla egy számított oszlopa például hivatkozhat más táblákra, egy DirectQuery-tábla számított oszlopai viszont továbbra is csak a táblán belüli oszlopokra hivatkozhatnak.For example, a calculated column on an imported table can refer to other tables, but a calculated column on a DirectQuery table is still restricted to refer only to columns on the same table. Más korlátozások a modell egészére vonatkoznak, ha a modellen belül bármelyik tábla DirectQuery módban van.Other limitations apply to the model as a whole, if any of the tables within the model are DirectQuery. A QuickInsights- és a Q&A-funkciók például nem érhetők el a modellben, ha a táblázatok bármelyikének tárolási módja DirectQuery.For example, the QuickInsights and Q&A features aren't available on a model if any of the tables within it has a storage mode of DirectQuery.

Következő lépésekNext steps

Az összetett modellekkel és a DirectQueryvel kapcsolatos további információkért tekintse meg a következő cikkeket:For more information about composite models and DirectQuery, see the following articles: