Udostępnij za pośrednictwem


Wzór filtr składnię i przykłady (Analysis Services - wyszukiwania danych)

Ta sekcja zawiera szczegółowe informacje na temat składni filtrów modelu wraz z wyrażeń próbki.

Filtrowanie składni

Filtry przypadek atrybutów

Filtry atrybutów tabela zagnieżdżonej

Filtry na wiele atrybutów tabela zagnieżdżonej

Filtry atrybutów w tabela zagnieżdżonej

Filtry na wiele wartości tabela zagnieżdżonej

Filtry na atrybuty tabela zagnieżdżonej i EXISTS

Filtrowanie kombinacje

Filtry dat

Filtrowanie składni

Ogólnie wyrażeń filtru są równoważne treść klauzula WHERE.Za pomocą operatorów logicznych można połączyć wiele warunków AND, OR, i NOT.

W zagnieżdżone tabele można również użyć EXISTS i NOT EXISTS operatorów.EXISTS Warunek nie jest true Jeśli podzapytanie zwraca co najmniej jeden wiersz.Jest to użyteczne w przypadkach, w którym chcesz ograniczyć do przypadków, które zawierają określoną wartość w tabela zagnieżdżonej modelu: na przykład klienci, którzy zakupili element przynajmniej raz.

A NOT EXISTS warunek nie jest true Jeżeli warunek określony w podzapytanie nie istnieje.Przykładem jest, gdy chcesz ograniczyć do klientów, którzy kupili nigdy określonego modelu element.

Ogólna składnia jest następująca:

<filter>::=<predicate list>  | ( <predicate list> )
<predicate list>::= <predicate> | [<logical_operator> <predicate list>] 
<logical_operator::= AND| OR
<predicate>::= NOT <predicate>|( <predicate> ) <avPredicate> | <nestedTablePredicate> | ( <predicate> ) 
<avPredicate>::= <columnName> <operator> <scalar> | <columnName> IS [NOT] NULL
<operator>::= = | != | <> | > | >= | < | <=
<nestedTablePredicate>::= EXISTS (<subquery>)
<subquery>::=SELECT * FROM <columnName>[ WHERE  <predicate list> ]
  • filter
    Zawiera jeden lub więcej predykatów, połączonych operatorami logicznymi.

  • predicate list
    Jeden lub więcej prawidłowych wyrażeń filtru, oddzielone operatorami logicznymi.

  • columnName
    Nazwa struktura wyszukiwania kolumna.

  • operator logiczny
    AND, OR, NOT

  • avPredicate
    Stosowany do wartość skalarna wyrażenie filtru struktura wyszukiwania tylko kolumna.avPredicate wyrażenie mogą być używane w modelu filtry lub filtry tabela zagnieżdżonej.

    Wyrażenie używa dowolnego z następujących operatorów można stosować tylko do ciągłego kolumna.:

    • < (znak mniejszości)

    • > (większe niż)

    • >= (większe niż lub równe)

    • <= (mniejsze lub równe)

    Ostrzeżenie

    Niezależnie od typu danych tych operatorów nie można zastosować do kolumna, która ma typ Discrete, Discretized, lub Key.

    Wyrażenie używa dowolnego z następujących operatorów można zastosować do ciągłego, dyskretnych, discretized lub klucz kolumna:

    • = (równe)

    • ! = (nie równych)

    • IS NULL

    Jeśli argument, avPredicate, stosuje się do kolumna zdyskretyzowana wartość używana przez filtr może być dowolną wartością w określonym kolorem.

    Innymi słowy, nie zostanie zdefiniowana jako warunek AgeDisc = ’25-35’, ale zamiast tego obliczenia, a następnie użyj wartości z tego interwału.

    Przykład:  AgeDisc = 27 oznacza dowolną wartość w tym samym interwałem jako 27, w tym przypadek jest 25-35.

  • nestedTablePredicate
    Filtr wyrażenie, które stosuje się do tabela zagnieżdżonej.Mogą być używane tylko filtry modelu.

    Argument podkwerendy argumentu, nestedTablePredicate, można zastosować tylko do kolumna tabela struktura wyszukiwania

  • podzapytanie
    Instrukcja SELECT następuje prawidłowe predykat lub listy predykatów.

    Predykaty musi być typu opisanego w avPredicates.Ponadto predykaty może odnosić się tylko do kolumn uwzględnionych w bieżącej tabela zagnieżdżonej określone w argumencie columnName.

Ograniczenia filtru składni

Filtry obowiązują następujące ograniczenia:

  • Filtr może zawierać tylko proste predykatów.Obejmują one operatorów matematycznych, wielkości skalarne, i kolumna nazwy.

  • Funkcje zdefiniowane przez użytkownika nie są obsługiwane w składni filtru.

  • wartość logiczna bez operatorów, takich jak plus lub minus, nie są obsługiwane w składni filtru.

Przykłady filtrów

Następujące przykłady demonstrują użycie filtrów zastosowanych do model wyszukiwania.Utworzenia wyrażenie filtru za pomocą Business Intelligence Development Studio, Właściwość okna i wyrażenie okienka w oknie dialogowym Filtr, można zobaczyć tylko ciąg, który pojawia się po słowa kluczowe z filtru.W tym miejscu definicji struktura wyszukiwania dołączono łatwiej zrozumieć typ kolumna i użycia.

Przykład 1: Typowy przypadku poziom filtrowania

W tym przykładzie przedstawiono prosty filtr, który ogranicza przypadkach używane w modelu klientom zapewnianiem jest Architekt i których wiek wynosi ponad 30.

ALTER MINING STRUCTURE MyStructure  ADD MINING MODEL MyModel_1
(
CustomerId,
Age,
Occupation,
MaritalStatus PREDICT
)
WITH FILTER (Age > 30 AND Occupation=’Architect’)

Powrót do początku

Przykład 2: Filtrowanie przy użyciu atrybutów tabeli zagnieżdżone na poziomie sprawy

Jeżeli struktura wyszukiwania zawiera tabele zagnieżdżone, można albo filtrem na istnienie wartości w tabela zagnieżdżonej lub filtr w tabela zagnieżdżonej wierszy, które zawierają określoną wartość.W tym przykładzie liczba przypadków używane dla modelu do klientów w wieku powyżej 30, który wprowadził co najmniej jeden zakupu uwzględniona mleka.

Jak pokazano na przykładzie, nie jest konieczne, że filtr będzie używać tylko kolumny, które są uwzględnione w modelu.Tabela zagnieżdżona produktów jest częścią struktura wyszukiwania, ale nie jest uwzględnione w modelu górniczych.Jednak nadal można filtrować według wartości i atrybutów w tabela zagnieżdżonej.Aby wyświetlić szczegóły tych przypadkach przeglądanie szczegółowe musi być włączony.

ALTER MINING STRUCTURE MyStructure  ADD MINING MODEL MyModel_2
(
CustomerId,
Age,
Occupation,
MaritalStatus PREDICT
)
WITH DRILLTHROUGH, 
FILTER (Age > 30 AND EXISTS (SELECT * FROM Products WHERE ProductName=’Milk’)
)

Powrót do początku

Przykład 3: Filtrowanie na wiele atrybutów tabeli zagnieżdżonej poziomu sprawy

W tym przykładzie przedstawiono filtr trzech części: warunek dotyczy przypadek tabela, inny warunek do atrybut w tabela zagnieżdżonej i inny warunek na określoną wartość w jednej z kolumn tabela zagnieżdżonej.

Pierwszy warunek w filtrze Age > 30, stosuje się do kolumna przypadek tabela.Pozostałe warunki zastosowania do tabela zagnieżdżonej.

Drugi warunek EXISTS (SELECT * FROM Products WHERE ProductName=’Milk’, sprawdza obecność co najmniej jednego zakupu w tabela zagnieżdżonej, uwzględnione mleka.Trzeci warunek Quantity>=2, oznacza, że klient musi zakupił co najmniej dwóch jednostek mleka w pojedynczej transakcji.

ALTER MINING STRUCTURE MyStructure  ADD MINING MODEL MyModel_3
(
CustomerId,
Age,
Occupation,
MaritalStatus PREDICT,
Products PREDICT
(
ProductName KEY,
Quantity      
)
)
FILTER (Age > 30 AND EXISTS (SELECT * FROM Products WHERE ProductName=’Milk’  AND Quantity >= 2) 
)

Powrót do początku

Przykład 4: Filtrowanie na brak atrybutów tabeli zagnieżdżonej poziomu sprawy

W tym przykładzie przedstawiono sposób ograniczyć przypadkach do klienta, który nie został zakupiony określony element przez filtrowanie Brak atrybut w tabela zagnieżdżonej.W tym przykładzie model jest szkolony w wieku powyżej 30, którzy kupili nigdy mleka przy użyciu klientów.

ALTER MINING STRUCTURE MyStructure  ADD MINING MODEL MyModel_4
(
CustomerId,
Age,
Occupation,
MaritalStatus PREDICT,
Products PREDICT
(
ProductName
)
)
FILTER (Age > 30 AND NOT EXISTS (SELECT * FROM Products WHERE ProductName=’Milk’) )

Powrót do początku

Przykład 5: Filtrowanie na wiele wartości tabeli zagnieżdżonej

Celem przykładzie jest wyświetlanie, filtrowanie tabela zagnieżdżonej.Filtr tabela zagnieżdżonej jest stosowana po przypadek filtr i ogranicza tylko wiersze tabela zagnieżdżonej.

Ten model zawiera wielu przypadkach puste tabele zagnieżdżone, ponieważ nie określono EXISTS.

ALTER MINING STRUCTURE MyStructure  ADD MINING MODEL MyModel_5
(
CustomerId,
Age,
Occupation,
MaritalStatus PREDICT,
Products PREDICT
(
ProductName KEY,
Quantity      
) WITH FILTER(ProductName=’Milk’ OR ProductName=’bottled water’)
)
WITH DRILLTHROUGH

Powrót do początku

Przykład 6: Filtrowanie atrybuty tabeli zagnieżdżonej i EXISTS

W tym przykładzie filtr w tabela zagnieżdżonej ograniczenie na wiersze, które zawierają mleko lub butelkowanej wody.Następnie w przypadkach w modelu są ograniczone za pomocą EXISTS instrukcja.Dzięki tabela zagnieżdżonej nie jest pusty.

ALTER MINING STRUCTURE MyStructure  ADD MINING MODEL MyModel_6
(
CustomerId,
Age,
Occupation,
MaritalStatus PREDICT,
Products PREDICT
(
ProductName KEY,
Quantity      
) WITH FILTER(ProductName=’Milk’ OR ProductName=’bottled water’)
)
FILTER (EXISTS (Products))

Powrót do początku

Przykład 7: Złożone kombinacje filtru

Scenariusz dla tego modelu przypomina, że przykład 4, ale jest dużo bardziej złożone.Tabela zagnieżdżona ProductsOnSale, warunek filtru jest (OnSale) oznacza to, że wartość OnSale musi być true dla produktów wymienionych w ProductName.W tym miejscu OnSale jest kolumna struktury.

The second part of the filter, for ProductsNotOnSale, repeats this syntax, but filters on products for which the value of OnSale is not true(!OnSale).

Wreszcie warunki są łączone i jedno dodatkowe ograniczenie jest dodawana do tabela przypadek.Wynik jest przewidywanie zakupów produktów w ProductsNotOnSale listy oparte na przypadki, które są uwzględnione w ProductsOnSale listę wszystkich nabywców w wieku powyżej 25.

ALTER MINING STRUCTURE MyStructure ADD MINING MODEL MyModel_7

(

CustomerId,

Age,

Occupation,

MaritalStatus,

ProductsOnSale

(

ProductName KEY

) WITH FILTER(OnSale),

ProductsNotOnSale PREDICT ONLY

(

ProductName KEY

) WITH FILTER(!OnSale)

)

WITH DRILLTHROUGH,

FILTER (EXISTS (ProductsOnSale) AND EXISTS(ProductsNotOnSale) AND Age > 25)

Powrót do początku

Przykład 8: Filtrowanie dat

Można filtrować kolumny wprowadzania dat, tak jak inne dane.Daty zawarte kolumna Typ Data /czas są wartości ciągłej; dlatego można określić data zakres za pomocą operatorów, takich jak większe niż (>) lub mniej niż (<).(Jeśli źródło danych nie reprezentuje datas przez typ danych ciągłego, ale jako osobny lub wartości tekstowe, nie można filtrować na data zakres, ale należy określić indywidualne wartości discrete.)

Jednak nie można utworzyć filtr kolumna dat w czas wzór serii, jeśli data kolumna używane dla filtru jest również kolumna klucz dla modelu.Wynika to w czas serii modeli i modele klastrowania w sekwencji, data, kolumna może być obsługiwany jako typu KeyTime lub KeySequence.

Jeżeli konieczne jest filtrowanie na ciągłe dat w modelu serii czas, można utworzyć kopię kolumna w struktura wyszukiwaniai przefiltrować modelu na nową kolumna.

Na przykład, następujące wyrażenie reprezentuje filtru na data kolumny typu Continuous , została dodana do Forecasting modelu.

=[DateCopy] > '12:31:2003:00:00:00'

Ostrzeżenie

Należy zauważyć, że dodatkowe kolumny, które można dodać do modelu może wpływać na wyniki.Dlatego, jeśli nie ma kolumna ma być używany w obliczaniu serii, należy dodać kolumna tylko do struktura wyszukiwania, a nie do modelu.Można także zestaw Flaga modelu kolumna, aby PredictOnly lub Ignore.Aby uzyskać więcej informacji, zobacz Flagi modelowania (wyszukiwania danych).

Dla innych typów modelu można używać jako kryteria wprowadzania dat lub czy kryteria filtru, podobnie jak w innych kolumna.Jednakże jeśli trzeba użyć określonego poziom szczegółowości, który nie jest obsługiwany przez Continuous Typ danych można utworzyć pochodnej wartość danych źródło przy użyciu wyrażeń do wyodrębnienia jednostki filtrowanie i analizy.

PrzestrogaPrzestroga

Podczas określania dat jako kryteria filtru, należy użyć następującego formatu, niezależnie od formatu data dla bieżącego systemu operacyjnego: mm/dd/yyyy.Any other format results in an error.

Na przykład jeśli chcesz filtrować wyniki wywołania Centrum pokazać tylko weekendy, można utworzyć wyrażenie w widok źródło danych, który wyodrębnia nazwa dnia tygodnia dla każdej data, a następnie użyć tej wartości nazwę dnia tygodnia dla danych wejściowych lub jako wartość discrete filtrowania.Wystarczy pamiętać, że powtarzające się wartości może wpływać na modelu, więc należy używać tylko jednej z kolumn, nie kolumna Data plus wartość pochodnych.Na przykład Tworzenie kolumny o nowe wartości, które są oparte na data kolumny, zobacz Dodawanie widoku źródła danych dla wywołania centrum danych (samouczek wyszukiwania danych pośrednich).

Powrót do początku