Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: usług SQL Server Analysis Services
Wykorzystuje model miningu do przewidywania stanów kolumn w zewnętrznym źródle danych. Instrukcja PREDICTION JOIN dopasowuje każdy przypadek od zapytania źródłowego do modelu.
Syntax
SELECT [FLATTENED] [TOP <n>] <select expression list>
FROM <model> | <sub select> [NATURAL] PREDICTION JOIN
<source data query> [ON <join mapping list>]
[WHERE <condition expression>]
[ORDER BY <expression> [DESC|ASC]]
Arguments
n
Optional. Liczba całkowita określająca, ile wierszy należy zwrócić.
Wybierz listę wyrażeń
Lista identyfikatorów kolumn i wyrażeń oddzielonych przecinkami pochodzących z modelu wydobycia.
model
Identyfikator modelu.
sub select
Osadzone polecenie select.
Zapytanie o dane źródłowe
Zapytanie źródłowe.
Dołącz do listy mapowej
Optional. Wyrażenie logiczne, które porównuje kolumny z modelu z kolumnami zapytania źródłowego.
Wyrażenie warunkowe
Optional. Warunek ograniczający wartości zwracane z listy kolumn.
expression
Optional. Wyrażenie zwracające wartość skalarną.
Remarks
Klauzula ON definiuje odwzorowanie między kolumnami z zapytania źródłowego a kolumnami z modelu wydobycia. To mapowanie służy do kierowania kolumn z zapytania źródłowego do kolumn w modelu wydobycia, tak aby kolumny mogły być używane jako dane wejściowe do tworzenia przewidywań. Kolumny w < liście >mapowania łączenia są powiązane za pomocą znaku równości (=), jak pokazano w poniższym przykładzie:
[MiningModel].ColumnA = [source data query].Column1 AND
[MiningModel].ColumnB = [source data query].Column2 AND
...
Jeśli binujesz zagnieżdżoną tabelę w klauzuli ON, upewnij się, że powiązałeś kolumnę klucza z kolumnami niekluczowymi, aby algorytm mógł poprawnie zidentyfikować, do którego przypadku należy rekord zagnieżdżonej kolumny.
Zapytanie źródłowe dla połączenia predykcyjnego może być zarówno tabelą, jak i singleton.
Możesz określić funkcje predykcyjne, które nie zwracają wyrażenia tabelowego w < liście >wyrażeń select oraz wyrażenia> warunkowego<.
NATURAL PREDICTION JOIN automatycznie mapuje nazwy kolumn z zapytania źródłowego, które odpowiadają nazwam kolumn w modelu. Jeśli używasz NATURAL PREDICTION, możesz pominąć klauzulę ON.
Warunek GDZIE można zastosować tylko do przewidywalnych kolumn lub powiązanych kolumn.
Klauzula ORDER by może akceptować tylko pojedynczą kolumnę jako argument; to znaczy, nie można sortować na więcej niż jednej kolumnie.
Przykład 1: Zapytanie Singleton
Poniższy przykład pokazuje, jak utworzyć zapytanie w celu przewidzenia, czy dana osoba kupi rower w czasie rzeczywistym. W tym zapytaniu dane nie są przechowywane w tabeli ani innym źródle danych, lecz są wprowadzane bezpośrednio do zapytania. Osoba w zapytaniu posiada następujące cechy:
35 lat
Właściciel domu
Posiada dwa samochody
Ma dwoje dzieci mieszkających w domu
Korzystając z modelu TM Decision Tree mining oraz znanych cech dotyczących obiektu, zapytanie zwraca wartość boolowską opisującą, czy osoba kupiła rower, oraz zestaw wartości tabelarowych zwracanych przez funkcję PredictHistogram (DMX), które opisują, jak dokonano przewidywania.
SELECT
[TM Decision Tree].[Bike Buyer],
PredictHistogram([Bike Buyer])
FROM
[TM Decision Tree]
NATURAL PREDICTION JOIN
(SELECT 35 AS [Age],
'5-10 Miles' AS [Commute Distance],
'1' AS [House Owner Flag],
2 AS [Number Cars Owned],
2 AS [Total Children]) AS t
Przykład 2: Użycie OPENQUERY
Poniższy przykład pokazuje, jak utworzyć zapytanie przewidywania wsadowe, korzystając z listy potencjalnych klientów przechowywanej w zewnętrznym zbiorze danych. Ponieważ tabela jest częścią widoku źródła danych zdefiniowanego w instancji Analysis Services, zapytanie może użyć OPENQUERY do pobrania danych. Ponieważ nazwy kolumn w tabeli różnią się od tych w modelu wydobywczym, klauzula ON musi być użyta do odwzorowania kolumn w tabeli na kolumny w modelu.
Zapytanie zwraca imię i nazwisko każdej osoby w tabeli, wraz z kolumną Boole'a, która wskazuje, czy każda osoba prawdopodobnie kupi rower, gdzie 0 oznacza "prawdopodobnie nie kupi roweru", a 1 oznacza "prawdopodobnie kupi rower". Ostatnia kolumna zawiera prawdopodobieństwo przewidywanego wyniku.
SELECT
t.[LastName],
t.[FirstName],
[TM Decision Tree].[Bike Buyer],
PredictProbability([Bike Buyer])
From
[TM Decision Tree]
PREDICTION JOIN
OPENQUERY([Adventure Works DW Multidimensional 2012],
'SELECT
[LastName],
[FirstName],
[MaritalStatus],
[Gender],
[YearlyIncome],
[TotalChildren],
[NumberChildrenAtHome],
[Education],
[Occupation],
[HouseOwnerFlag],
[NumberCarsOwned]
FROM
[dbo].[ProspectiveBuyer]
') AS t
ON
[TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND
[TM Decision Tree].[Gender] = t.[Gender] AND
[TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
[TM Decision Tree].[Total Children] = t.[TotalChildren] AND
[TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] AND
[TM Decision Tree].[Education] = t.[Education] AND
[TM Decision Tree].[Occupation] = t.[Occupation] AND
[TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
[TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned]
Aby ograniczyć zbiór danych tylko do klientów, u których przewiduje się, że kupią rower, a następnie posortować listę według nazwy klienta, możesz dodać klauzulę GDZIE oraz klauzulę ORDER BY do poprzedniego przykładu:
WHERE [BIKE Buyer]
ORDER BY [LastName] ASC
Przykład 3: Przewidywanie powiązań
Poniższy przykład pokazuje, jak stworzyć prognozę za pomocą modelu zbudowanego na podstawie algorytmu Microsoft Association. Przewidywania dotyczące modelu asocjacji mogą być wykorzystywane do rekomendowania produktów powiązanych. Na przykład następujące zapytanie zwraca trzy produkty, które najczęściej są kupowane razem:
Koszyk na bidon do roweru górskiego
Rura opon górskich
Mountain-200
Funkcja Predict (DMX) jest polimorficzna i może być używana ze wszystkimi typami modeli. Używasz value3 jako argumentu do funkcji, aby ograniczyć liczbę elementów zwracanych przez zapytanie. Lista SELECT , która następuje po klauzuli NATURAL PREDICTION JOIN, dostarcza wartości do wykorzystania jako wejście do predykcji.
SELECT FLATTENED
PREDICT([Association].[v Assoc Seq Line Items], 3)
FROM
[Association]
NATURAL PREDICTION JOIN
(SELECT (SELECT 'Mountain Bottle Cage' AS [Model]
UNION SELECT 'Mountain Tire Tube' AS [Model]
UNION SELECT 'Mountain-200' AS [Model]) AS [v Assoc Seq Line Items ]) AS t
Przykładowe wyniki:
| Expression.Model |
|---|
| HL Mountain Tire |
| Butelka wody |
| Zestaw Fender - Góra |
Ponieważ kolumna zawierająca przewidywalny atrybut , jest kolumną tabeli, zapytanie zwraca [v Assoc Seq Line Items]pojedynczą kolumnę zawierającą zagnieżdżoną tabelę. Domyślnie zagnieżdżona kolumna tabeli nazywa się Expression. Jeśli Twój dostawca nie obsługuje hierarchicznych wierszy, możesz użyć słowa kluczowego FLATTENED , jak pokazano w tym przykładzie, aby ułatwić przegląd wyników.