Azure Cosmos DB v2 (Beta)
Súhrn
Položka | Description |
---|---|
Stav vydania | Beta |
Produkty | Power BI (sémantické modely) Power BI (toky údajov) Fabric (Tok údajov Gen2) |
Podporované typy overovania | Kľúč informačného kanála |
Požiadavky
Podporované možnosti
- Importovať
- DirectQuery (sémantické modely služby Power BI)
- Rozšírené možnosti
- Počet pokusov
- Povolenie rozbaľovacieho zoznamu funkcií AVERAGE
- Povolenie rozbaľovacieho zoznamu SORT pre viaceré stĺpce
Pripojenie k databáze Azure Cosmos DB
Pripojenie k údajom Azure Cosmos DB:
Spustite Aplikáciu Power BI Desktop.
Na karte Domov vyberte položku Získať údaje.
Do vyhľadávacieho poľa zadajte Cosmos DB v2.
Vyberte položku Azure Cosmos DB v2 (Beta) a potom vyberte položku Pripojiť.
Na stránke pripojenia Azure Cosmos DB v2 zadajte v časti Koncový bod služby Cosmos identifikátor URI konta Azure Cosmos DB, ktoré chcete použiť. V režime pripojenia údajov vyberte režim, ktorý je vhodný pre váš prípad použitia, a postupujte podľa týchto všeobecných pokynov:
Pre menšie množiny údajov vyberte položku Import. Pri používaní režimu importu služba Power BI spolupracuje so službou Cosmos DB na importovanie obsahu celej množiny údajov na použitie vo vizualizáciách.
Režim DirectQuery umožňuje posunúť dotaz do kontajnera Cosmos DB a zlepšovať výkon konektora. V prípade kontajnerov typu partitioned Cosmos DB sa dotaz SQL s agregovanou funkciou odovzdáva do služby Cosmos DB, ak dotaz obsahuje aj filter (klauzula WHERE) v kľúči oblasti. Ak je napríklad kľúč oblasti definovaný ako "Produkt", dotaz SQL, ktorý možno odovzdať a vykonať na serveri Cosmos DB, môže byť:
SELECT SUM(ColumnName) FROM TableName where Product = 'SampleValue'
Poznámka
Ak chcete vykonať agregačné funkcie krížového rozdelenia v kontajneri Cosmos DB, použite službu Azure Synapse Link pre službu Azure Cosmos DB .
Ďalšie informácie:
V výzve na konfiguráciu overovania zdroja údajov zadajte kľúč konta. Potom vyberte položku Pripojiť. Váš katalóg údajov, databázy a tabuľky sa zobrazia v dialógovom okne Navigátor .
Na table Možnosti zobrazenia začiarknite políčko množiny údajov, ktorú chcete použiť.
Najoptimálnejším spôsobom určenia filtra Kľúč oblasti (aby bolo možné agregačné funkcie posunúť nadol do služby Cosmos DB) je použiť dynamické parametre jazyka M. Ak chcete použiť dynamické parametre jazyka M, vytvoríte množinu údajov s jedinečnými hodnotami kľúča oblasti, vytvoríte parameter, pridáte ho ako filter na hlavnú množinu údajov, naviažete ju na jedinečnú množinu údajov Kľúč oblasti a použijete ju ako rýchly filter pre hlavnú množinu údajov. Pomocou nasledujúcich krokov povoľte dynamické parametre jazyka M na filtrovanie kľúča oblasti.
a. Vytvorenie množiny údajov s jedinečnými hodnotami kľúča oblasti:
V Navigátore výberom položky Transformovať údaje namiesto možnosti Načítať zobrazte editor Power Query. Kliknite pravým tlačidlom myši na množinu údajov dotazov a potom výberom položky Duplikovať vytvorte novú množinu údajov.
Premenujte nový model kľúča na oblasť a potom kliknite pravým tlačidlom myši na stĺpec Kľúč oblasti Cosmos DB. V tomto príklade je produktom stĺpec s kľúčom oblasti Cosmos DB. Vyberte položku Odstrániť ostatné stĺpce a potom vyberte položku Odstrániť duplikáty.
b. Vytvorenie parametra pre dynamické filtrovanie:
V editore Power Query vyberte položky Spravovať parametre>Nový parameter. Premenujte nový parameter tak, aby odrážal parameter filtra, a zadajte platnú hodnotu na Current Value (Aktuálna hodnota).
c. Použitie parametrizovaného filtra na hlavnú množinu údajov:
Vyberte ikonu rozbaľovacieho zoznamu stĺpec Partition Key a potom vyberte položku Textové filtre>rovná sa. Zmeňte typ filtra z možnosti Text na parameter. Potom vyberte parameter, ktorý bol vytvorený v kroku b. Vyberte položku Zavrieť a použiť v ľavom hornom rohu editora Power Query.
d. Vytvorenie rýchleho filtra hodnôt partition key s väzbou parametra:
V službe Power BI vyberte kartu Model . Potom vyberte pole Partition Key (Kľúč oblasti). Na table Vlastnosti vyberte položku Rozšírená>väzba na parameter. Vyberte parameter, ktorý bol vytvorený v kroku b.
Vyberte kartu Zostava a pridajte rýchly filter s jedinečným kľúčom oblasti.
e. Pridanie vizualizácií a použitie filtra kľúča oblasti z rýchleho filtra:
Keďže zvolená hodnota kľúča na rozdelenie v rýchlom filtri je viazaná na parameter (ako je to vykonané v kroku d) a parametrizovaný filter sa použije na hlavnú množinu údajov (ako je to vykonané v kroku c), vybratá hodnota kľúča oblasti sa použije ako filter na hlavnú množinu údajov a dotaz s filtrom kľúča na rozdelenie sa odovzdá do cosmos DB vo všetkých vizualizáciách.
Rozšírené možnosti
Power Query poskytuje množinu rozšírených možností, ktoré môžete v prípade potreby pridať do dotazu.
V nasledujúcej tabuľke sú uvedené všetky rozšírené možnosti, ktoré môžete nastaviť v doplnku Power Query.
Rozšírená možnosť | Description |
---|---|
Počet pokusov | Koľkokrát sa má skúsiť znova, ak existujú kódy návratu 408 - Request Timeout protokolu HTTP , 412 - Precondition Failed alebo 429 - Too Many Requests . Predvolený počet pokusov je 5. |
Povolenie funkcie AVERAGE Passdown | Určuje, či konektor umožňuje odovzdať agregačnú funkciu AVG do služby Cosmos DB. Predvolená hodnota je 1 a konektor sa predvolene pokúša odovzdať agregačnú funkciu AVG do služby Cosmos DB. Ak argument obsahuje reťazec, booleovské hodnoty alebo hodnoty null pre agregačnú funkciu AVG, server Cosmos DB vráti nedefinovanú množinu výsledkov. Keď je nastavená hodnota 0, agregačná funkcia AVG sa neprenesie na server Cosmos DB a konektor spracováva samotnú operáciu agregácie AVG. |
Povolenie rozbaľovacieho zoznamu funkcie SORT pre viaceré stĺpce | Určuje, či konektor umožňuje odovzdať do služby Cosmos DB viacero stĺpcov pri zadaní v klauzule ORDER BY dotazu SQL. Predvolená hodnota je 0 a ak je v klauzule ORDER BY zadaný viac ako jeden stĺpec, konektor predvolene neodovzde stĺpce a namiesto toho spracováva vykonávanie poradia samostatne. Keď je nastavená hodnota 1, konektor sa pokúsi odovzdať viacero stĺpcov do služby Cosmos DB, ak je zadaný v klauzule ORDER BY v dotaze SQL. Ak chcete povoliť odovzdanie viacerých stĺpcov do služby Cosmos DB, uistite sa, že máte zložené indexy nastavené v stĺpcoch v príslušných kolekciách. V prípade kolekcií rozdelených do oblastí sa dotaz SQL s funkciou ORDER BY odovzdá do služby Cosmos DB iba v prípade, že dotaz obsahuje filter pre rozdelený kľúč. Okrem toho, ak v klauzule ORDER BY je zadaných viac ako osem stĺpcov, konektor neodovzde klauzulu ORDER BY a namiesto toho spracuje samotnú vykonanie poradia. |
Známe problémy a obmedzenia
V prípade kontajnerov typu partitioned Cosmos DB sa dotaz SQL s agregovanou funkciou odovzdáva do služby Cosmos DB, ak dotaz obsahuje aj filter (klauzula WHERE) v kľúči oblasti. Ak agregačný dotaz neobsahuje filter v kľúči oblasti, agregáciu vykoná konektor.
Konektor neodovzde agregačnú funkciu, ak sa volá po použití funkcie TOP alebo LIMIT. Cosmos DB pri spracovávaní dotazu spracováva operáciu TOP na konci. Napríklad v nasledujúcom dotaze sa v poddotaze použije funkcia TOP, zatiaľ čo agreganá funkcia sa použije na vrch danej množiny výsledkov:
SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E
Ak je funkcia DISTINCT zadaná v agregovanej funkcii, konektor neprenesie agregačnú funkciu do služby Cosmos DB, ak je v agregovanej funkcii zadaná klauzula DISTINCT. Pri prítomnosti v agregovanej funkcii nie je funkcia DISTINCT podporovaná rozhraním Cosmos DB SQL API.
Pre agregačnú funkciu SUM vráti funkcia Cosmos DB ako množinu výsledkov nedefinovanú, ak niektoré z argumentov vo funkcii SUM sú reťazec, booleovská hodnota alebo hodnota null. Ak však existujú hodnoty null, konektor odovzdá dotaz funkcii Cosmos DB tak, aby ako súčasť výpočtu SUM požiadal zdroj údajov o nahradenie hodnoty null nulou.
Pre agregačnú funkciu AVG vráti funkcia Cosmos DB nedefinovanú ako množinu výsledkov, ak niektoré z argumentov vo funkcii SUM sú reťazec, booleovská hodnota alebo hodnota null. Konektor sprístupňuje vlastnosť pripojenia, aby sa zakázalo odovzdanie agregovanej funkcie AVG do služby Cosmos DB v prípade, že je potrebné prepísanie predvoleného správania služby Cosmos DB. Keď je jazyk AVG passdown zakázaný, neodovzdá do služby Cosmos DB a rukoväte konektora vykonávajúce samotnú operáciu agregácie AVG. Ďalšie informácie nájdete v časti Povolenie rozbaľovacej ponuky funkcie AVERAGE v časti Rozšírené možnosti.
Kontajnery Azure Cosmos DB s veľkým kľúčom na oblasti nie sú v súčasnosti v konektore podporované.
Rozbaľovací zoznam agregácie je neaktívny pre nasledujúcu syntax z dôvodu obmedzení servera:
Ak dotaz nefiltruje kľúč oblasti alebo keď filter kľúča oblasti používa operátor OR s iným predikátom na najvyššej úrovni v klauzule WHERE.
Ak má dotaz jeden alebo viacero kľúčov na rozdelenie, zobrazí sa v klauzule IS NOT NULL v klauzule WHERE.
Konektor V2 nepodporuje zložité typy údajov, ako sú napríklad polia, objekty a hierarchické štruktúry. Pre tieto scenáre odporúčame funkciu Zrkadlenie tkaniny pre Azure Cosmos DB .
Konektor V2 používa vzorkovanie prvých 1 000 dokumentov, aby sa šlo s odvodenými schémami. Neodporúča sa pre scenáre evolúcie schémy, keď sa aktualizuje len časť dokumentov. Napríklad novopridamená vlastnosť do jedného dokumentu v kontajneri s dokumentmi nemusí byť aktivovaná v odvodenej schéme. Pre tieto scenáre odporúčame funkciu Zrkadlenie tkaniny pre Azure Cosmos DB .
Konektor V2 v súčasnosti nepodporuje hodnoty bez reťazca vo vlastnostiach objektu.
Rozbaľovací zoznam filtrov je neaktívny pre nasledujúcu syntax z dôvodu obmedzení servera:
- Keď sa na dotaz obsahujúci jeden alebo viac agregovaných stĺpcov odkazuje v klauzule WHERE.