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.
Když vytváříte dotaz na model dolování dat, můžete vytvořit buď dotaz na obsah, který poskytuje podrobnosti o pravidlech a sadách položek zjištěných během analýzy, nebo můžete vytvořit prediktivní dotaz, který pomocí přidružení zjištěných v datech vytváří předpovědi. U modelu přidružení jsou předpovědi obvykle založené na pravidlech a lze je použít k vytváření doporučení, zatímco dotazy na obsah obvykle prozkoumávají vztah mezi sadami položek. Můžete také načíst metadata o modelu.
Tato část vysvětluje, jak vytvořit tyto druhy dotazů pro modely založené na algoritmu pravidel přidružení Microsoftu.
Dotazy na obsah
Získání dat metadat modelu pomocí DMX
Získání metadat ze sady řádků schématu
Načtení původních parametrů pro model
Načtení seznamu itemsetů a produktů
Vrácení prvních 10 sad položek
Prediktivní dotazy
Určení spolehlivosti pro související sady položek
Vyhledání informací o modelu
Všechny modely dolování zpřístupňují obsah, který algoritmus naučil, podle standardizovaného schématu, které se nazývá sada řádků schématu modelu dolování. Dotazy na sadu řádků schématu modelu dolování můžete vytvářet buď pomocí příkazů DMX (Data Mining Extensions), nebo pomocí uložených procedur služby SQL Server Analysis Services. V SQL Serveru 2017 můžete také dotazovat sady řádků schématu přímo jako systémové tabulky pomocí syntaxe podobné SQL.
Ukázkový dotaz 1: Získání metadat modelu pomocí DMX
Následující dotaz vrátí základní metadata modelu přidružení, Associationnapříklad název modelu, databázi, ve které je model uložený, a počet podřízených uzlů v modelu. Tento dotaz používá dotaz obsahu DMX k načtení metadat z nadřazeného uzlu modelu:
SELECT MODEL_CATALOG, MODEL_NAME, NODE_CAPTION,
NODE_SUPPORT, [CHILDREN_CARDINALITY], NODE_DESCRIPTION
FROM Association.CONTENT
WHERE NODE_TYPE = 1
Poznámka:
Název sloupce, CHILDREN_CARDINALITY, musíte uzavřít do závorek, abyste ho odlišili od rezervovaného klíčového slova MDX stejného názvu.
Příklady výsledků:
| Row | Metadatové informace |
|---|---|
| Katalog modelů | Test přidružení |
| MODEL_NAME | Sdružení |
| NODE_CAPTION | Model pravidel přidružení |
| NODE_SUPPORT | 14879 |
| CHILDREN_CARDINALITY | 942 |
| Popis_uzlu | Model asociativních pravidel; ITEMSET_COUNT=679; RULE_COUNT=263; MIN_SUPPORT=14; MAX_SUPPORT=4334; MIN_ITEMSET_SIZE=0; MAX_ITEMSET_SIZE=3; MIN_PROBABILITY=0.400390625; MAX_PROBABILITY=1; MIN_LIFT=0.14309369632511; MAX_LIFT=1.95758227647523 |
Definice toho, co tyto sloupce znamenají v modelu přidružení, naleznete v tématu Obsah modelu dolování pro modely přidružení (Analysis Services - Data Mining).
Ukázkový dotaz 2: Získání dalších metadat ze sady řádků schématu
Dotazováním sady řádků schématu dolování dat najdete stejné informace, které se vrátí v dotazu na obsah DMX. Sada řádků schématu však poskytuje několik dalších sloupců, jako je datum posledního zpracování modelu, struktura dolování a název sloupce použitého jako předvídatelný atribut.
SELECT MODEL_CATALOG, MODEL_NAME, SERVICE_NAME, PREDICTION_ENTITY,
MINING_STRUCTURE, LAST_PROCESSED
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Association'
Příklady výsledků:
| Row | Metadatové informace |
|---|---|
| Katalog modelů | Adventure Works DW Multidimenzionální 2012 |
| MODEL_NAME | Sdružení |
| SERVICE_NAME | Model pravidel přidružení |
| PREDICTION_ENTITY | Položky řádků v Assoc Seq |
| TĚŽEBNÍ_STRUKTURA | Sdružení |
| LAST_PROCESSED | 29.9.2007 10:21:24 |
Ukázkový dotaz 3: Načtení původních parametrů pro model
Následující dotaz vrátí jeden sloupec, který obsahuje podrobnosti o nastavení parametrů, která byla použita při vytvoření modelu.
SELECT MINING_PARAMETERS
from $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Association'
Příklady výsledků:
MAXIMUM_ITEMSET_COUNT=200000,MAXIMUM_ITEMSET_SIZE=3,MAXIMUM_SUPPORT=1,MINIMUM_SUPPORT=9,40923449156529E-04,MINIMUM_IMPORTANCE=-99999999999,MINIMUM_ITEMSET_SIZE=0,MINIMUM_PROBABILITY=0,4
Vyhledání informací o pravidlech a sadách položek
Existují dvě běžná použití modelu přidružení: zjišťování informací o častých sadách položek a extrakce podrobností o konkrétních pravidlech a sadách položek. Můžete například chtít extrahovat seznam pravidel, která byla vyhodnocena jako zvlášť zajímavá, nebo vytvořit seznam nejběžnějších sad položek. Tyto informace načtete pomocí dotazu obsahu DMX. Tyto informace můžete také procházet pomocí prohlížeče Microsoft Association Viewer.
Ukázkový dotaz 4: Načítání seznamu sad položek a produktů
Následující dotaz načte všechny sady položek společně s vnořenou tabulkou, která obsahuje seznam produktů zahrnutých v každé sadě položek. Sloupec NODE_NAME obsahuje jedinečné ID sady položek v modelu, zatímco NODE_CAPTION obsahuje textový popis položek. V tomto příkladu je vnořená tabulka zploštěná tak, aby sada položek, která obsahuje dva produkty, vygenerovala ve výsledcích dva řádky. Pokud klient podporuje hierarchická data, můžete vynechat klíčové slovo FLATTENED.
SELECT FLATTENED NODE_NAME, NODE_CAPTION,
NODE_PROBABILITY, NODE_SUPPORT,
(SELECT ATTRIBUTE_NAME FROM NODE_DISTRIBUTION) as PurchasedProducts
FROM Association.CONTENT
WHERE NODE_TYPE = 7
Příklady výsledků:
| Row | Metadatové informace |
|---|---|
| NODE_NAME | 37 |
| NODE_CAPTION | Sport-100 = Existující |
| NODE_PROBABILITY | 0.291283016331743 |
| NODE_SUPPORT | 4334 |
| ZAKOUPENÉ PRODUKTY. ATTRIBUTE_NAME | v Asociovaných Sekvenčních Řádkových Položek (Sport-100) |
Ukázkový dotaz 5: Vrácení prvních 10 sad položek
Tento příklad ukazuje, jak používat některé funkce seskupení a řazení, které dmX poskytuje ve výchozím nastavení. Dotaz vrátí prvních 10 sad položek při řazení podle podpory jednotlivých uzlů. Všimněte si, že nemusíte explicitně seskupovat výsledky, stejně jako v Transact-SQL; V každém dotazu však můžete použít pouze jednu agregační funkci.
SELECT TOP 10 (NODE_SUPPORT),NODE_NAME, NODE_CAPTION
FROM Association.CONTENT
WHERE NODE_TYPE = 7
Příklady výsledků:
| Row | Metadatové informace |
|---|---|
| NODE_SUPPORT | 4334 |
| NODE_NAME | 37 |
| NODE_CAPTION | Sport-100 = Existující |
Vytváření předpovědí pomocí modelu
Model pravidel přidružení se často používá ke generování doporučení, která jsou založená na korelacích zjištěných v sadách položek. Proto při vytváření prediktivního dotazu založeného na modelu pravidel přidružení obvykle používáte pravidla v modelu k odhadování na základě nových dat. PredictAssociation (DMX) je funkce, která vrací doporučení, a má několik argumentů, které můžete použít k přizpůsobení výsledků dotazu.
Dalším příkladem, kdy mohou být dotazy na asociační model užitečné, je získání důvěryhodnosti pro různá pravidla a položkové množiny, abyste mohli porovnat efektivitu různých strategií křížového prodeje. Následující příklady ukazují, jak tyto dotazy vytvořit.
Ukázkový dotaz 6: Předpověď přidružených položek
V tomto příkladu se používá model přidružení vytvořený v kurzu pro dolování průběžných dat (Analysis Services – Dolování dat). Ukazuje, jak vytvořit prediktivní dotaz, který vám řekne, jaké produkty doporučí zákazníkovi, který si koupil konkrétní produkt. Tento typ dotazu, kde poskytujete hodnoty modelu v SELECT...UNION příkazu, se nazývá singleton dotaz. Vzhledem k tomu, že předvídatelný sloupec modelu, který odpovídá novým hodnotám, je vnořená tabulka, musíte použít jednu klauzuli SELECT k namapování nové hodnoty na sloupec [Model]vnořené tabulky a další klauzule SELECT pro mapování vnořeného sloupce tabulky na sloupec na úrovni případu. [v Assoc Seq Line Items] Přidání klíčového slova INCLUDE-STATISTICS do dotazu vám umožní zobrazit pravděpodobnost a podporu doporučení.
SELECT PredictAssociation([Association].[vAssocSeqLineItems],INCLUDE_STATISTICS, 3)
FROM [Association]
NATURAL PREDICTION JOIN
(SELECT
(SELECT 'Classic Vest' as [Model])
AS [v Assoc Seq Line Items])
AS t
Příklady výsledků:
| Model | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
|---|---|---|---|
| Sport-100 | 4334 | 0.291283 | 0.252696 |
| Láhev vody | 2866 | 0.19262 | 0.175205 |
| Opravná sada | 2113 | 0.142012 | 0.132389 |
Ukázkový dotaz 7: Určení spolehlivosti pro související sady položek
Zatímco pravidla jsou užitečná pro generování doporučení, sady položek jsou zajímavější pro hlubší analýzu vzorů v sadě dat. Pokud jste například nebyli spokojení s doporučením vráceným předchozím ukázkovým dotazem, mohli byste prozkoumat další sady položek obsahující produkt A, abyste získali lepší představu o tom, jestli je produkt A příslušenstvím, které si lidé obvykle kupují se všemi druhy produktů, nebo jestli A silně koreluje s nákupy konkrétních produktů. Nejjednodušší způsob, jak tyto relace prozkoumat, je filtrování sad položek v prohlížeči Microsoft Association Viewer; Stejné informace však můžete načíst pomocí dotazu.
Následující ukázkový dotaz vrátí všechny sady položek, které obsahují položku Láhev vody, včetně jedné položky Láhev vody.
SELECT TOP 100 FROM
(
SELECT FLATTENED NODE_CAPTION, NODE_SUPPORT,
(SELECT ATTRIBUTE_NAME from NODE_DISTRIBUTION
WHERE ATTRIBUTE_NAME = 'v Assoc Seq Line Items(Water Bottle)') as D
FROM Association.CONTENT
WHERE NODE_TYPE = 7
) AS Items
WHERE [D.ATTRIBUTE_NAME] <> NULL
ORDER BY NODE_SUPPORT DESC
Příklady výsledků:
| NODE_CAPTION | NODE_SUPPORT | D.ATTRIBUTE_NAME |
|---|---|---|
| Láhev vody = existující | 2866 | v Assoc Seq Line Items(láhev vody) |
| Mountain Bottle Cage = Stávající, Water Bottle = Stávající | 1136 | v Assoc Seq Line Items (láhev vody) |
| Silniční držák na láhev = Existující, Láhev na vodu = Existující | 1068 | v Assoc Seq Line Items(láhev vody) |
| Láhev na vodu = Existující, Sport-100 = Existující | 734 | v Assoc Seq Line Items(láhev vody) |
Tento dotaz vrátí jak řádky z vnořené tabulky, které odpovídají kritériím, tak všechny řádky z hlavní tabulky. Proto je nutné přidat podmínku, která eliminuje řádky tabulky případu, které mají hodnotu null pro název cílového atributu.
Seznam funkcí
Všechny algoritmy Microsoftu podporují společnou sadu funkcí. Algoritmus přidružení Microsoftu však podporuje další funkce uvedené v následující tabulce.
| Prediktivní funkce | Usage |
|---|---|
| IsDescendant (DMX) | Určuje, zda je jeden uzel podřízený jinému uzlu v grafu neurální sítě. |
| IsInNode (DMX) | Určuje, zda zadaný uzel obsahuje aktuální případ. |
| PredictAdjustedProbability (DMX) | Vrátí váženou pravděpodobnost. |
| PredictAssociation (DMX) | Predikuje členství v asociativní datové sadě. |
| PredictHistogram (DMX) | Vrátí tabulku hodnot souvisejících s aktuální predikovanou hodnotou. |
| PredictNodeId (DMX) | Vrátí Node_ID pro každý případ. |
| PredictProbability (DMX) | Vrátí pravděpodobnost predikované hodnoty. |
| PredictSupport (DMX) | Vrátí hodnotu podpory pro zadaný stav. |
| PredictVariance (DMX) | Vrátí odchylku předpovězené hodnoty. |
Viz také
Algoritmus přidružení Microsoftu
Technické referenční informace k algoritmu přidružení Microsoftu
Obsah modelu dolování pro modely přidružení (Analysis Services – Dolování dat)