Sdílet prostřednictvím


Uživatelské rozhraní návrháře relačních dotazů (Tvůrce sestav)

Nástroje Tvůrce sestav a Návrhář sestav v SQL Server Data Tools (SSDT) poskytují jak grafického návrháře dotazů, tak i textového návrháře dotazů, které vám pomohou vytvořit dotaz, jenž specifikuje data pro načtení z relačních databází Microsoft SQL Serveru a Microsoft SQL Database a z analytického systému Microsoft SQL Server 2016 (13.x) Analytics Platform System (PDW) pro datovou sadu sestav. Pomocí grafického návrháře dotazů můžete prozkoumat metadata, interaktivně vytvořit dotaz a zobrazit výsledky dotazu. Pomocí textového návrháře dotazů můžete zobrazit dotaz vytvořený grafickým návrhářem dotazů nebo upravit dotaz. Můžete také importovat existující dotaz ze souboru nebo sestavy.

Poznámka:

Pokud chcete v Tvůrci sestav zadat dotaz na typy zdrojů dat Oracle, OLE DB, ODBC a Teradata, musíte použít textový návrhář dotazů. Další informace najdete v tématu Textové rozhraní Návrháře dotazů (Tvůrce sestav).

Důležité

Uživatelé při vytváření a spouštění dotazů přistupují ke zdrojům dat. U zdrojů dat byste měli udělit minimální oprávnění, například oprávnění jen pro čtení.

Grafický návrhář dotazů

V grafickém návrháři dotazů můžete prozkoumat databázové tabulky a zobrazení a interaktivně sestavit příkaz SQL SELECT, který určuje databázové tabulky a sloupce, ze kterých se mají načítat data pro datovou sadu. Zvolíte pole, která se mají zahrnout do datové sady, a volitelně zadáte filtry, které omezují data v datové sadě. Můžete určit, že se filtry použijí jako parametry, a zadat hodnotu filtru za běhu. Pokud zvolíte více souvisejících tabulek, návrhář dotazů popisuje relaci mezi sadami dvou tabulek.

Návrhář grafického dotazu je rozdělený do tří oblastí. V závislosti na tom, jestli dotaz používá tabulky, zobrazení nebo uložené procedury nebo funkce s hodnotou tabulky, se rozložení návrháře dotazů změní.

Poznámka:

SQL Server 2016 (13.x) Analytics Platform System (PDW) nepodporuje uložené procedury ani tabulkové funkce.

Následující obrázek znázorňuje grafického návrháře dotazů při použití s tabulkami nebo zobrazeními.

Grafický návrhář pro dotazy

Následující obrázek znázorňuje grafického návrháře dotazů při použití s uloženými procedurami nebo funkcemi s hodnotami tabulky.

Uložená procedura v grafickém návrháři dotazů

Následující tabulka popisuje funkci jednotlivých podoken.

Zobrazení databáze
Zobrazí hierarchické zobrazení tabulek, zobrazení, uložených procedur a tabulkových funkcí uspořádaných podle schématu databáze.

Vybraná pole
Zobrazí seznam názvů polí databáze z vybraných položek v podokně Zobrazení databáze. Z těchto polí se stane kolekce polí pro datovou sadu sestavy.

Parametry funkce
Zobrazí seznam vstupních parametrů uložených procedur nebo tabulkových funkcí v podokně Zobrazení databáze.

Vztahy
Zobrazí seznam relací odvozených z vybraných polí pro tabulky nebo zobrazení v podokně Zobrazení databáze nebo relace, které jste vytvořili ručně.

Použité filtry
Zobrazí seznam polí a kritérií filtru pro tabulky nebo zobrazení v zobrazení Databáze.

Výsledky dotazu
Zobrazí ukázková data pro sadu výsledků pro automaticky vygenerovaný dotaz.

Podokno zobrazení databáze

V podokně Zobrazení databáze se zobrazí metadata databázových objektů, ke kterým máte oprávnění k zobrazení, což je určeno připojením ke zdroji dat a přihlašovacími údaji. Hierarchické zobrazení zobrazuje databázové objekty uspořádané podle schématu databáze. Rozbalte uzel pro každé schéma a zobrazte tabulky, zobrazení, uložené procedury a funkce s hodnotami tabulky. Rozbalením tabulky nebo zobrazení zobrazíte sloupce.

Podokno Vybraná pole

Podokno Vybraná pole zobrazí pole v datové sadě sestavy a skupiny a agregace, které se mají zahrnout do dotazu.

Zobrazí se následující možnosti:

  • Vybraná pole Zobrazí pole databáze, která vyberete pro tabulky nebo zobrazení, nebo vstupní parametry pro uložené procedury nebo funkce s hodnotou tabulky. Pole zobrazená v tomto podokně se stanou kolekcí polí pro datovou sadu sestavy.

    Pomocí podokna Data sestavy můžete zobrazit kolekci polí pro datovou sadu sestavy. Tato pole představují data, která můžete zobrazit v tabulkách, grafech a dalších položkách sestavy při zobrazení sestavy.

  • Seskupování a agregace Přepíná použití seskupení a agregací v dotazu. Pokud po přidání seskupení a agregace vypnete funkci seskupení a agregace, odeberou se. Text ( žádný) označuje, že se nepoužívají žádné seskupení a agregace. Pokud funkci seskupení a agregace znovu zapnete, obnoví se předchozí seskupení a agregace.

  • Odstranit pole Odstraní vybrané pole.

Seskupení a agregace

Dotazy na databáze s velkou tabulkou můžou vracet velký počet řádků dat, které jsou příliš velké, aby byly užitečné v sestavě a mají vliv na výkon sítě, která přenáší obrovské množství dat a na server sestav, který sestavu zpracovává. Pokud chcete omezit počet řádků dat, může dotaz obsahovat agregace SQL, které sumarizují data na databázovém serveru. Agregace SQL se liší od agregací na straně klienta, které se použijí při vykreslení sestavy.

Agregace poskytují souhrny dat a data jsou seskupené tak, aby podporovaly agregaci, která doručuje souhrnná data. Když v dotazu použijete agregaci, ostatní pole vrácená dotazem se automaticky seskupí a dotaz obsahuje klauzuli SQL GROUP BY. Data můžete shrnout bez přidání agregace pomocí možnosti Seskupené podle v seznamu Skupina a agregace. Mnoho agregací zahrnuje verzi, která používá klíčové slovo DISTINCT. Zahrnutí funkce DISTINCT eliminuje duplicitní hodnoty.

Microsoft SQL Server používá Transact-SQL a Microsoft SQL Server 2016 (13.x) Analytics Platform System (PDW) používá SQL. Oba dialekty jazyka SQL podporují klauzuli, klíčové slovo a agregace, které návrhář dotazů poskytuje.

Další informace o jazyku Transact-SQL naleznete v tématu Transact-SQL Reference (databázový stroj).

V následující tabulce jsou uvedeny agregace a obsahují stručný popis.

Agregátní Description
Průměr Vrátí průměr hodnot ve skupině. Implementuje agregaci SQL AVG.
Počet Vrátí počet položek ve skupině. Implementuje agregaci SQL COUNT.
Count Big Vrátí počet položek ve skupině. Jedná se o agregaci sql COUNT_BIG. Rozdíl mezi funkcí COUNT a COUNT_BIG spočívá v tom, že COUNT_BIG vždy vrací hodnotu datového typu bigint .
Minuta Vrátí minimální hodnotu ve skupině. Implementuje agregaci SQL MIN.
Max Vrátí maximální hodnotu ve skupině. Implementuje agregaci SQL MAX.
StDev Vrátí statistickou směrodatnou odchylku všech hodnot ve skupině. Implementuje agregaci SQL STDEV.
StDevP Vrátí statistickou směrodatnou odchylku základního souboru všech hodnot ve výrazu zadaném ve skupině. Implementuje agregaci SQL STDEVP.
Suma Vrátí součet všech hodnot ve skupině. Implementuje agregaci SQL SUM.
Var Vrátí statistickou odchylku všech hodnot ve skupině. Implementuje agregaci SQL VAR.
VarP Vrátí statistickou odchylku základního souboru pro všechny hodnoty ve skupině. Implementuje agregaci SQL VARP.
Průměrná odlišnost Vrátí jedinečné průměry. Implementuje kombinaci agregace AVG a klíčového slova DISTINCT.
Počet jedinečných položek Vrátí jedinečné počty. Implementuje kombinaci agregace COUNT a klíčového slova DISTINCT.
Počet Velkých Unikátů Vrátí jedinečný počet položek ve skupině. Implementuje kombinaci COUNT_BIG agregace a klíčového slova DISTINCT.
Různé směrodatné položky Vrátí jedinečné statistické směrodatné odchylky. Implementuje kombinaci agregace STDEV a klíčového slova DISTINCT.
Jedinečné funkce StDevP Vrátí jedinečné statistické směrodatné odchylky. Implementuje kombinaci agregace STDEVP a klíčového slova DISTINCT.
Součet jedinečných Vrátí jedinečné součty. Implementuje kombinaci agregace SUM a klíčového slova DISTINCT.
Var Distinct Vrátí jedinečné statistické odchylky. Implementuje kombinaci agregace VAR a klíčového slova DISTINCT.
VarP Rozlišit Vrátí jedinečné statistické odchylky. Implementuje kombinaci agregace VARP a klíčového slova DISTINCT.

Podokno Parametry funkce

V podokně Parametry funkce se zobrazí parametry uložené procedury nebo funkce s hodnotou tabulky. Zobrazí se následující sloupce:

  • Název parametru zobrazuje název parametru, který je definován uloženou procedurou nebo tabulkovou funkcí.

  • Hodnota A , která se má použít pro parametr při spuštění dotazu, aby načetla data, která se mají zobrazit v podokně Výsledky dotazu v době návrhu. Tato hodnota se nepoužívá při spuštění sestavy za běhu.

Podokno Relace

Podokno Relace zobrazuje relace spojení. Relace lze rozpoznat automaticky z relací cizího klíče, které jsou načteny z metadat databáze, nebo je můžete vytvořit ručně.

Zobrazí se následující možnosti:

  • Funkce Automatické rozpoznávání přepíná funkci automatického zjišťování, která automaticky vytváří relace mezi tabulkami. Pokud je zapnutá automatická detekce, návrhář dotazů vytvoří relace z cizích klíčů v tabulkách; v opačném případě je nutné relace vytvořit ručně. Když vyberete tabulky v podokně Zobrazení databáze, automaticky rozpozná automaticky pokusy o vytvoření relací. Pokud automatické zjišťování zapnete po ručním vytvoření spojení, budou tato spojení zahozena.

    Důležité

    Při použití s SQL Serverem 2016 (13.x) Analytics Platform System (PDW) nejsou k dispozici metadata potřebná k vytvoření spojení a relace se nedají rozpoznat automaticky. Pokud dotaz načte data z SQL Serveru 2016 (13.x) Analytics Platform System (PDW), musí se ručně vytvořit všechna spojení tabulek.

  • Přidání relace přidá relaci do seznamu relací .

    Pokud je zapnuté automatické rozpoznávání, tabulky, ze kterých se sloupce používají v dotazu, se automaticky přidají do seznamu relací . Když automaticky zjistí, že dvě tabulky spolu souvisejí, přidá se jedna tabulka do sloupce Levá tabulka , druhý sloupec Pravá tabulka a mezi nimi se vytvoří vnitřní spojení. Každá relace vygeneruje v dotazu klauzuli JOIN. Pokud tabulky nesouvisí, jsou všechny uvedené ve sloupci Levá tabulka a sloupec Typ spojení označuje, že tabulky nesouvisí s jinými tabulkami. Pokud je zapnuté automatické zjišťování, nemůžete ručně přidávat relace mezi tabulkami, které byly určeny jako nesouvisející.

    Pokud je automatické rozpoznávání vypnuté, můžete přidávat a měnit relace mezi tabulkami. Kliknutím na upravit pole určete pole, která se mají použít ke spojení těchto dvou tabulek.

    Pořadí, ve kterém se relace zobrazí v seznamu relací , je pořadí, ve kterém budou spojení provedena v dotazu. Pořadí relací můžete změnit tak, že je v seznamu přesunete nahoru a dolů.

    Při použití více relací v dotazu musí být jedna z tabulek v každé relaci, s výjimkou první, odkazována v následujících relacích.

    Pokud na obě tabulky v relaci odkazuje předchozí relace, relace nevygeneruje samostatnou klauzuli spojení; místo toho se do klauzule join vygenerované pro předchozí relaci přidá podmínka spojení. Typ spojení je odvozen předchozí relací, která odkazovala na stejné tabulky.

  • Upravit pole Otevře dialogové okno Upravit související pole , ve kterém přidáte a upravíte relace mezi tabulkami. Zvolili jste pole v pravé a levé tabulce, která chcete spojit. Můžete spojit více polí z levé tabulky a pravé tabulky a určit tak více podmínek spojení v relaci. Dvě pole, která spojují tabulky vlevo a vpravo, nemusí mít stejný název. Spojená pole musí obsahovat kompatibilní datové typy.

  • Odstranění relace odstraní vybranou relaci.

  • Přesunutí nahoru a dolů přesune relace nahoru nebo dolů v seznamu relací . Pořadí, ve kterém jsou relace umístěné v dotazu, může ovlivnit výsledky dotazu. Relace se přidají do dotazu v pořadí, v jakém se zobrazí v seznamu relací .

Zobrazí se následující sloupce:

  • Levá tabulka zobrazuje název první tabulky, která je součástí relace spojení.

  • Typ spojení Zobrazuje typ příkazu SQL JOIN, který se používá v automaticky generovaném dotazu. Pokud je ve výchozím nastavení zjištěno omezení cizího klíče, použije se funkce INNER JOIN. Jiné typy spojení mohou být LEFT JOIN nebo RIGHT JOIN. Pokud žádný z těchto typů spojení neplatí, zobrazí se ve sloupci Typ spojení nesouvisející. Pro nesouvisející tabulky se nevytvoří žádná spojení CROSS JOIN; místo toho je nutné ručně vytvořit relace spojením sloupců v tabulkách vlevo a vpravo.

  • Pravá tabulka zobrazuje název druhé tabulky v relaci spojení.

  • Spojení polí Uvádí dvojice spojených polí, pokud relace obsahuje více podmínek spojení, dvojice spojených polí jsou odděleny čárkami (,).

Panel použité filtry

V podokně Použité filtry se zobrazí kritéria, která slouží k omezení počtu řádků dat načtených za běhu. Kritéria zadaná v tomto podokně slouží k vygenerování klauzule SQL WHERE. Když vyberete možnost parametru, automaticky se vytvoří parametr sestavy. Parametry sestavy založené na parametrech dotazu umožňují uživateli zadat hodnoty dotazu pro řízení dat v sestavě.

Zobrazí se následující sloupce:

  • Název pole zobrazuje název pole, na které se má kritéria použít.

  • Operátor zobrazí operaci, která se má použít ve výrazu filtru.

  • Hodnota zobrazí hodnotu, kterou chcete použít ve výrazu filtru.

  • Parametr zobrazí možnost přidání parametru dotazu do dotazu. Pomocí vlastností datové sady můžete zobrazit vztah mezi parametrem dotazu a parametrem sestavy.

Okno výsledků dotazu

V podokně výsledků dotazu se zobrazí výsledky automaticky generovaného dotazu určeného výběrem v ostatních podoknech. Sloupce v sadě výsledků jsou pole, která zadáte v podokně Vybraná pole, a data řádků jsou omezená filtry, které zadáte v podokně Použité filtry. Pokud dotaz obsahuje agregace sady výsledků, obsahuje nové agregační sloupce. Pokud je například sloupec Color agregován pomocí agregace Počet, výsledky dotazu obsahují nový sloupec. Ve výchozím nastavení má tento sloupec název Count_Color.

Tato data představují hodnoty ze zdroje dat v okamžiku spuštění dotazu. Data nejsou uložena v definici sestavy . Skutečná data v sestavě se načtou při zpracování sestavy.

Pořadí řazení v sadě výsledků je určeno pořadím načtení dat ze zdroje dat. Pořadí řazení lze změnit úpravou dotazu nebo po načtení dat pro sestavu.

Grafický návrhář dotazů - nástrojová lišta

Panel nástrojů návrháře relačních dotazů poskytuje následující tlačítka, která vám pomůžou určit nebo zobrazit výsledky dotazu.

Button Description
Upravit jako text Přepněte do návrháře dotazů založených na textu a zobrazte automaticky vygenerovaný dotaz nebo upravte dotaz.
Dovoz Importujte existující dotaz ze souboru nebo sestavy. Podporují se typy souborů .sql a .rdl.
Spustit dotaz Spusťte dotaz. V podokně výsledků dotazu se zobrazí sada výsledků.

Principy automaticky generovaných dotazů

Když vyberete tabulky a sloupce nebo uložené procedury a zobrazení v podokně Zobrazení databáze, návrhář dotazů načte základní primární klíč a relace cizího klíče ze schématu databáze. Díky analýze těchto relací návrhář dotazů rozpozná relace mezi dvěma tabulkami a přidá do dotazu spojení. Dotaz pak můžete upravit přidáním skupin a agregací, přidáním nebo změnou relací a přidáním filtrů. Pokud chcete zobrazit text dotazu, ze kterého se mají načítat data, spojení mezi tabulkami a všemi skupinami nebo agregacemi klikněte na tlačítko Upravit jako text.

Návrhář textových dotazů

Pro největší kontrolu nad dotazem použijte textový návrhář dotazů. Chcete-li přepnout do návrháře dotazů založených na textu, klikněte na panelu nástrojů na příkaz Upravit jako text. Po úpravě dotazu v textovém návrháři dotazů už nemůžete použít návrhář relačních dotazů. Dotaz se pak vždy otevře v textovém návrháři dotazů. Další informace najdete v tématu Textové rozhraní Návrháře dotazů (Tvůrce sestav).