Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
SQL Server 2019 a starší služby Analysis Services Azure Analysis Services 
Fabric/ Power BI Premium
Důležité
Dolování dat bylo v SQL Serveru 2017 Analysis Services zastaralé a nyní ukončeno ve službě SQL Server 2022 Analysis Services. Dokumentace se neaktualizuje pro zastaralé a ukončené funkce. Další informace najdete v tématu Zpětná kompatibilita služby Analysis Services.
Cílem typického projektu dolování dat je použít model dolování k předpovědím. Můžete například chtít předpovědět očekávané výpadky určitého clusteru serverů nebo vygenerovat skóre, které indikuje, jestli segmenty zákazníků budou pravděpodobně reagovat na reklamní kampaň. K provedení všech těchto věcí byste vytvořili prediktivní dotaz.
Funkčně existují různé typy prediktivních dotazů podporovaných v SQL Serveru v závislosti na typu vstupů dotazu:
| Typ dotazu | Možnosti dotazu |
|---|---|
| Jednotkové predikční dotazy | Jednoúčelový dotaz použijte, pokud chcete předpovědět výsledky pro jeden nový případ nebo několik nových případů. Vstupní hodnoty zadáte přímo v dotazu a dotaz se spustí v rámci jedné relace. |
| Dávkové předpovědi | Dávkové předpovědi použijte, pokud máte externí data, která chcete do modelu vložit, abyste je mohli použít jako základ pro předpovědi. Pokud chcete vytvořit předpovědi pro celou sadu dat, namapujete data v externím zdroji na sloupce v modelu a pak zadáte typ prediktivních dat, která chcete vypsat. Dotaz na celou datovou sadu se provádí v jedné relaci, takže tato možnost je mnohem efektivnější než odesílání více opakovaných dotazů. |
| Předpovědi časových řad | Dotaz časové řady použijte, když chcete předpovědět hodnotu v určitém počtu budoucích kroků. Sql Server Data Mining také poskytuje následující funkce v dotazech časových řad: Existující model můžete rozšířit přidáním nových dat do dotazu a vytvářením předpovědí založených na složené řadě. Existující model můžete použít na novou datovou řadu pomocí možnosti REPLACE_MODEL_CASES. Můžete provádět křížové předpovědi. |
Následující části popisují obecnou syntaxi prediktivních dotazů, různé typy prediktivních dotazů a způsob práce s výsledky prediktivních dotazů.
Návrh základního prediktivního dotazu
Návrh základního prediktivního dotazu
Při vytváření předpovědi obvykle zadáte část nových dat a požádáte model o vygenerování předpovědi na základě nových dat.
V dávkovém prediktivním dotazu přiřadíte model k externímu zdroji dat pomocí prediktivního spojení.
V dotazu jednotonové předpovědi zadáte jednu nebo více hodnot, které chcete použít jako vstupy. Pomocí jednotonového prediktivního dotazu můžete vytvořit více předpovědí. Pokud ale potřebujete provádět mnoho předpovědí, je výkon při použití dávkového dotazu lepší.
Dotazy na jednotlivé i dávkové předpovědi používají syntaxi PREDICTION JOIN k definování nových dat. Rozdíl je v tom, jak je zadaná vstupní strana predikčního spojení.
V dávkovém dotazu předpovědi pocházejí data z externího zdroje dat určeného pomocí syntaxe OPENQUERY.
V dotazu s jednoutonou predikcí se data zadají jako součást dotazu.
U modelů časových řad nejsou vstupní data vždy vyžadována; Predikce je možné provádět pouze pomocí dat, která už jsou v modelu. Pokud ale zadáte nová vstupní data, musíte se rozhodnout, jestli nová data použijete k aktualizaci a rozšíření modelu, nebo k nahrazení původní řady dat, která byla použita v modelu. Další informace o těchto možnostech najdete v tématu Příklady dotazů modelu časové řady.
Přidání prediktivních funkcí
Kromě predikce hodnoty můžete přizpůsobit prediktivní dotaz tak, aby vracel různé druhy informací, které souvisejí s predikcí. Pokud například predikce vytvoří seznam produktů, které doporučí zákazníkovi, můžete také chtít vrátit pravděpodobnost pro každou predikci, abyste je mohli zařadit do pořadí a prezentovat pouze nejlepší doporučení pro uživatele.
Uděláte to tak, že do dotazu přidáte prediktivní funkce . Každý model nebo typ dotazu podporuje konkrétní funkce. Například modely clusteringu podporují speciální prediktivní funkce, které poskytují další podrobnosti o clusterech vytvořených modelem, zatímco modely časových řad mají funkce, které počítají rozdíly v průběhu času. Existují také obecné predikční funkce, které pracují s téměř všemi typy modelů. Seznam prediktivních funkcí podporovaných v různých typech dotazů najdete v tomto tématu referenční informace k DMX: Obecné prediktivní funkce (DMX).
Vytváření dotazů predikcí Singleton
Jednoduchý prediktivní dotaz je užitečný, když chcete vytvořit rychlé předpovědi v reálném čase. Běžná situace může nastat, když získáte informace o zákazníkovi, například pomocí webového formuláře, a chcete tato data odeslat jako vstup do singletonového dotazu na predikci. Když například zákazník vybere produkt ze seznamu, můžete tento výběr použít jako vstup dotazu, který predikuje nejlepší produkty, které se mají doporučit.
Dotazy na jednotkové predikce nevyžadují samostatnou tabulku obsahující vstupy. Místo toho jako vstup do modelu zadáte jeden nebo více řádků hodnot a předpovědi se vrátí v reálném čase.
Výstraha
Bez ohledu na název dotazy na jednotlivé predikce nevytvářejí pouze jednotlivé předpovědi – pro každou sadu vstupů můžete vygenerovat více předpovědí. Zadáním více vstupních případů vytvoříte příkaz SELECT pro každý vstupní případ a zkombinujete je s operátorem UNION.
Při vytváření dotazu s jednoutonovou predikcí musíte do modelu zadat nová data ve formě funkce PREDICTION JOIN. To znamená, že i když nemapujete na skutečnou tabulku, musíte zajistit, aby nová data odpovídala existujícím sloupcům v modelu dolování. Pokud se nové datové sloupce a nová data přesně shodují, služba SQL Server Analysis Services za vás namapuje sloupce. To se nazývá PŘIROZENÝ PREDIKČNÍ JOIN. Pokud se ale sloupce neshodují nebo nová data neobsahují stejný druh a množství dat, která jsou v modelu, musíte určit, které sloupce v modelu se mapují na nová data, nebo zadat chybějící hodnoty.
Dávkové prediktivní dotazy
Dotaz dávkové předpovědi je užitečný, pokud máte externí data, která chcete použít při vytváření předpovědí. Mohli jste například vytvořit model, který kategorizuje zákazníky podle jejich online aktivit a historie nákupů. Tento model můžete použít na seznam nově získaných zájemců, vytvořit projekce pro prodej nebo identifikovat cíle pro navrhované kampaně.
Při provádění spojení predikce je nutné namapovat sloupce modelu na sloupce v novém zdroji dat. Proto zdroj dat, který zvolíte pro vstup, musí data, která jsou poněkud podobná datům v modelu. Nové informace se nemusí přesně shodovat a mohou být neúplné. Předpokládejme například, že model byl vytrénován pomocí informací o příjmech a věku, ale seznam zákazníků, který používáte pro předpovědi, má věk, ale nic o příjmu. V tomto scénáři byste stále mohli namapovat nová data na model a vytvořit predikci pro každého zákazníka. Pokud by však byl příjem důležitým prediktorem modelu, nedostatek úplných informací by ovlivnil kvalitu předpovědí.
Abyste získali nejlepší výsledky, měli byste spojit co nejvíce odpovídajících sloupců mezi novými daty a modelem. Dotaz však bude úspěšný i v případě, že neexistují žádné shody. Pokud nejsou žádné sloupce spojené, dotaz vrátí mezní předpověď, která je ekvivalentní příkazu SELECT <predictable-column> FROM <model> bez klauzule PREDICTION JOIN.
Po úspěšném namapování všech relevantních sloupců spustíte dotaz a služba SQL Server Analysis Services provede předpovědi pro každý řádek v nových datech na základě vzorů v modelu. Výsledky můžete uložit zpět do nové tabulky v zobrazení zdroje dat, které obsahuje externí data, nebo je můžete zkopírovat a vložit, když používáte SQL Server Data Tools nebo SQL Server Management Studio.
Výstraha
Pokud používáte návrháře v nástrojích SQL Server Data Tools, externí zdroj dat musí být nejprve definován jako zobrazení zdroje dat.
Pokud k vytvoření spojení predikce použijete DMX, můžete externí zdroj dat zadat pomocí příkazů OPENQUERY, OPENROWSET nebo SHAPE. Výchozí metoda přístupu k datům v šablonách DMX je OPENQUERY. Informace o těchto metodách najdete <ve zdrojovém dotazu> na data.
Předpovědi v modelech analýzy časových řad
Modely časových řad se liší od jiných typů modelů; Model můžete použít buď jako k vytváření předpovědí, nebo můžete modelu poskytnout nová data, abyste model aktualizovali a vytvořili předpovědi na základě nedávných trendů. Pokud přidáte nová data, můžete určit způsob, jakým se mají nová data používat.
Rozšíření případů modelu znamená, že nová data přidáte do existující řady dat v modelu časové řady. Proto jsou předpovědi založeny na nové kombinované řadě. Tato možnost je vhodná, když chcete do existujícího modelu jednoduše přidat několik datových bodů.
Předpokládejme například, že máte existující model časových řad, který byl natrénován na prodejních datech z předchozího roku. Po shromáždění několika měsíců nových prodejních dat se rozhodnete aktualizovat prognózy prodeje pro aktuální rok. Můžete vytvořit spojení predikcí, které aktualizuje model přidáním nových dat a rozšířením modelu, aby se vytvořily nové předpovědi.
Nahrazení případů modelu znamená, že naučený model zachováte, ale nahradíte původní případy novou sadou případových dat. Tato možnost je užitečná, když chcete zachovat trend v modelu, ale použít ji na jinou sadu dat.
Váš původní model byl například natrénován na sadě dat s velmi velkými objemy prodeje; Když nahradíte podkladová data novou řadou (třeba z obchodu s nižším objemem prodeje), zachováte trend, ale předpovědi začínají hodnotami v náhradní řadě.
Bez ohledu na to, který přístup použijete, je výchozím bodem pro předpovědi vždy konec původní řady.
Další informace o tom, jak vytvářet prediktivní spojení na modelech časových řad, naleznete v tématu
Práce s výsledky prediktivního dotazu
Možnosti ukládání výsledků dotazu předpovědi dolování dat se liší v závislosti na tom, jak dotaz vytvoříte.
Když vytváříte dotaz pomocí Tvůrce prediktivních dotazů v sadě SQL Server Management Studio nebo SQL Server Data Tools, můžete výsledky prediktivního dotazu uložit do existujícího zdroje dat služby SQL Server Analysis Services. Další informace naleznete v tématu Zobrazení a uložení výsledků prediktivního dotazu.
Při vytváření prediktivních dotazů pomocí DMX v podokně Dotaz v aplikaci SQL Server Management Studio můžete pomocí možností výstupu dotazu uložit výsledky do souboru nebo do podokna Výsledky dotazu jako text nebo v mřížce. Další informace naleznete v tématu dotazování a textové editory (SQL Server Management Studio).
Když spustíte prediktivní dotaz pomocí komponent integrační služby, úlohy umožňují zapisovat výsledky do databáze pomocí dostupného správce připojení ADO.NET nebo správce připojení OLEDB. Další informace naleznete v tématu Data Mining Query Task.
Je důležité si uvědomit, že výsledky prediktivního dotazu nejsou podobné výsledkům dotazu v relační databázi, která vždy vrací jeden řádek souvisejících hodnot. Každá prediktivní funkce DMX, kterou přidáte do dotazu, vrátí vlastní sadu řádků. Proto při vytváření předpovědi pro jeden případ může být výsledkem predikovaná hodnota společně s několika sloupci vnořených tabulek obsahujících další podrobnosti.
Pokud zkombinujete více funkcí v jednom dotazu, vrátí se výsledky zkombinované jako hierarchická sada řádků. Řekněme například, že používáte model časových řad k predikci budoucích hodnot pro objem prodeje a množství prodeje pomocí dotazu, jako je například tento příkaz DMX:
SELECT
PredictTimeSeries([Forecasting].[Amount]) as [PredictedAmount]
, PredictTimeSeries([Forecasting].[Quantity]) as [PredictedQty]
FROM
[Forecasting]
Výsledky tohoto dotazu jsou dva sloupce, jeden pro každou předpovězenou řadu, kde každý řádek obsahuje vnořenou tabulku s predikovanými hodnotami:
PredictedAmount
| $TIME | Množství |
|---|---|
| 201101 | 172067.11 |
| $TIME | Množství |
|---|---|
| 201102 | 363390.68 |
PredictedQty
| $TIME | Množství |
|---|---|
| 201101 | 77 |
| $TIME | Množství |
|---|---|
| 201102 | 260 |
Pokud váš zprostředkovatel nedokáže zpracovat hierarchické sady řádků, můžete výsledky zploštět pomocí klíčového slova FLATTEN v prediktivním dotazu. Další informace, včetně příkladů zploštěných sad řádků, naleznete v tématu SELECT (DMX).
Viz také
Dotazy na obsah (dolování dat)
Dotazy definice dat (dolování dat)