A Hivatkozási integritás feltételezése beállítás alkalmazása a Power BI Desktopban
Amikor DirectQuery használatával csatlakozik egy adatforráshoz, a Hivatkozási integritás feltételezése beállítással hatékonyabban futtathat lekérdezéseket az adatforráson. Ez a funkció néhány követelményt tartalmaz a mögöttes adatokra vonatkozóan, és csak DirectQuery használata esetén érhető el.
A Beállítás Feltételezi, hogy a hivatkozási integritás lehetővé teszi, hogy az adatforrás lekérdezései INNER JOIN utasításokat használjanak az OUTER JOIN helyett, ami javítja a lekérdezés hatékonyságát.
A hivatkozási integritás feltételezésének követelményei
Ez a beállítás egy speciális beállítás, és csak akkor engedélyezett, ha DirectQuery használatával csatlakozik az adatokhoz. A hivatkozási integritás megfelelő működéséhez a következő követelmények szükségesek:
- A kapcsolat From oszlopában lévő adatok soha nem null értékűek vagy üresek
- A Feladó oszlop minden egyes értékéhez tartozik egy megfelelő érték a To oszlopban
Ebben az összefüggésben a Feladó oszlop az egy-a-többhöz kapcsolatokban a Több, vagy az egy-az-egyhez kapcsolat első táblájának oszlopa.
Példa hivatkozási integritás feltételezésére
Az alábbi példa bemutatja, hogyan viselkedik a hivatkozási integritás feltételezése adatkapcsolatokban való használatkor. A példa egy olyan adatforráshoz csatlakozik, amely egy Rendelések táblát, egy Termékek táblát és egy Depots táblát tartalmaz.
A Rendelések táblát és a Termékek táblát ábrázoló alábbi képen hivatkozási integritás áll fenn az Orders[ProductID] és a Products[ProductID] között. A Rendelések tábla [ProductID] oszlopa soha nem null értékű, és minden érték a Termékek táblában is megjelenik. Ezért feltételezzük, hogy a hivatkozási integritást úgy kell beállítani, hogy hatékonyabb lekérdezéseket kapjon. Ez a beállítás nem módosítja a vizualizációkban megjelenített értékeket.
A következő képen figyelje meg, hogy nem létezik hivatkozási integritás az Orders[DepotID] és a Depots[DepotID] között, mert egyes rendelések esetében a DepotID null értékű. Ezért feltételezzük, hogy a hivatkozási integritás nem állítható be.
Végül az alábbi táblázatokban nem található hivatkozási integritás az Orders[CustomerID] és a Customers[CustID] között. A CustomerID olyan CustX értéket tartalmaz, amely nem szerepel a Vevők táblában. Ezért feltételezzük, hogy a hivatkozási integritás nem állítható be.
Beállítás – Hivatkozási integritás feltételezése
A funkció engedélyezéséhez válassza a Hivatkozási integritás feltételezése lehetőséget az alábbi képen látható módon.
Ha be van jelölve, a beállítás érvényesítve lesz az adatokon, így meggyőződhet arról, hogy nincsenek null értékű vagy nem egyező sorok. A nagyon sok értékkel rendelkező esetekben azonban az ellenőrzés nem garantálja, hogy nincsenek hivatkozási integritási problémák.
Emellett az ellenőrzés a kapcsolat szerkesztésekor történik, és nem tükrözi az adatok későbbi módosításait.
Mi történik, ha helytelenül állítja be a hivatkozási integritás feltételezését?
Ha hivatkozási integritást feltételez, ha hivatkozási integritási problémák vannak az adatokban, ez a beállítás nem eredményez hibákat. Ez azonban látszólagos következetlenségeket eredményez az adatokban. Az itt leírt Depots táblához való viszony például a következőt eredményezné:
- A teljes rendelési mennyiségeket megjelenítő vizualizáció 40-et jelenít meg.
- A Depot City teljes rendelési mennyiségét megjelenítő vizualizáció csak 30 teljes értéket jelenít meg, mivel nem tartalmazná az 1. rendelésazonosítót, ahol a DepotID értéke Null.
Kapcsolódó tartalom
- További információ a DirectQueryről.
- További információ a Power BI-kapcsolatokról.
- További információ a Modell nézetről a Power BI Desktopban.