Udostępnij za pośrednictwem


StructureColumn (DMX)

Zwraca wartość kolumna struktury odpowiadający określonym przypadek lub wartość Tabela zagnieżdżona przypadek określonej tabeli.

StructureColumn('structure column name')

Argumenty

  • Struktura nazwę kolumna.
    Nazwa przypadek lub kolumna struktura wyszukiwania w tabela zagnieżdżonej.

Typ wyniku

Typ, który jest zwracany, zależy od typu kolumna, do którego odwołują się <Nazwa kolumna struktury> parametr. Na przykład jeśli kolumna struktura wyszukiwania, do którego odwołuje się zawiera wartość wartość skalarna, funkcja zwraca wartość wartość skalarna.

Jeśli kolumna struktura wyszukiwania, do którego odwołuje się jest tabela zagnieżdżona, funkcja zwraca wartość tabeli.Wartość zwracana tabela może być używana w klauzula FROM instrukcja sub-SELECT.

Remarks

Ta funkcja jest polimorficzna i może być używana w dowolnym miejscu w instrukcja, która umożliwia wyrażeń, łącznie z listy SELECT wyrażenie wyrażeniu warunku WHERE i ORDER BY wyrażenie.

Nazwa kolumna w struktura wyszukiwania jest ciąg znaków i jako takie muszą być ujęte w pojedynczy cudzysłów: na przykład, StructureColumn('Kolumna 1').W przypadku wielu kolumn, które mają taką samą nazwę, nazwa jest rozpoznawana w kontekście otaczający instrukcja SELECT.

Wyniki zostaną zwrócone za pomocą kwerendy StructureColumn funkcja jest narażony na obecność żadnych filtrów w modelu. To znaczy filtr modelu kontroluje sprawy, które są uwzględnione w model wyszukiwania.W związku z tym kwerendy, kolumna struktury może zwracać tylko tych przypadkach, które były używane w model wyszukiwania.W sekcji Przykłady w tym temacie Przykładowy kod pokazujący efekt model wyszukiwania filtrów przypadek tabel i tabela zagnieżdżonej.

Aby uzyskać więcej informacji na temat korzystania z tej funkcja w instrukcja SELECT DMX zobacz Model, SELECT FROM < > .CASES (DMX) lub SELECT FROM < struktura > .CASES.

Komunikaty o błędach

Następujący komunikat o błędzie zabezpieczeń jest uruchamiany, jeśli użytkownik nie ma uprawnień przeglądanie szczegółowe w nadrzędnej struktura wyszukiwania:

"% {Użytkownika /}" użytkownik nie ma uprawnień do drążenia wskroś do obiektu nadrzędnego struktura wyszukiwania z ‘ % {modelu /} ’ model wyszukiwania.

Następujący komunikat o błędzie jest uruchamiany, jeśli jest określona zostanie nazwa kolumna Nieprawidłowa struktura:

‘ % {Nazwa kolumna struktury /} ’ górnictwo struktury kolumna nie można znaleźć w ‘ % {struktury /} ’ po obiekcie nadrzędnym struktura wyszukiwania w bieżącym kontekście (wiersz % {wiersza /}, kolumna % {kolumna /}).

Przykłady

Firma Microsoft będzie używać następujących struktura wyszukiwania dla tych przykładów.Należy zauważyć, że struktura wyszukiwania zawiera dwie kolumny tabela zagnieżdżonej, Products i Hobbies. Tabela zagnieżdżona w Hobbies Kolumna ta ma jedną kolumnę, która jest używana jako klucz dla tabeli zagnieżdżonej. Tabela zagnieżdżona w Products Kolumna jest złożonych zagnieżdżoną tabelę zawierającą kolumnę klucz i innych kolumn, używany dla danych wejściowych. Poniższe przykłady ilustrują jak danych struktura wyszukiwania mogą być projektowane w celu zawiera wiele różnych kolumn, nawet jeśli model nie mogą używać wszystkich kolumn.Niektóre z tych kolumn nie może być przydatne poziom modelu generalizing wzorców, ale mogą być bardzo przydatne do przeglądanie szczegółowe.

CREATE MINING STRUCTURE [MyStructure] 
(
CustomerName TEXT KEY,
Occupation TEXT DISCRETE,
Age LONG CONTINUOUS,
MaritalStatus TEXT DISCRETE,
Income LONG CONTINUOUS,
Products  TABLE
 (
    ProductNameTEXT KEY,
    Quantity LONG CONTINUOUS,
    OnSale BOOLEAN  DISCRETE
)
 Hobbies  TABLE
 (
    Hobby KEY
 ))

Następnie należy utworzyć wzór wyszukiwania na podstawie struktury utworzony, przy użyciu następującego kodu przykładowego:

ALTER MINING STRUCTURE [MyStructure] ADD MINING MODEL [MyModel] (
CustomerName,
Age,
MaritalStatus,
Income PREDICT,
Products 
(
ProductName
) WITH FILTER(NOT OnSale)
) USING Microsoft_Decision_Trees 
WITH FILTER(EXISTS (Products))

Przykładowa kwerenda 1: Zwracanie kolumna z wyszukiwania struktura

W następującej kwerendzie przykładowej zwraca kolumny CustomerName i Age, które są zdefiniowane jako części model wyszukiwania. Jednakże kwerenda zwraca także kolumna Occupation, który jest częścią struktury, ale nie jest częścią model wyszukiwania.

SELECT CustomerName, Age, StructureColumn(‘Occupation’) FROM MyModel.CASES 
WHERE Age > 30

Należy zauważyć, że filtrowanie wierszy w celu ograniczenia przypadkach do klientów w wieku z 30 ma miejsce poziom modelu.Dlatego to wyrażenie nie zwróci sprawy, które znajdują się w strukturze danych, ale nie są używane przez model.Ponieważ warunek filtru użytego do utworzenia (modeluEXISTS (Products)) ogranicza przypadkach do tylko tych klientów, którzy zakupionych produktów, mogą występować w strukturze sprawy, które nie są zwracane przez tę kwerendę.

Przykładowa kwerenda 2: Zastosowanie filtru do kolumna struktura

W następującej kwerendzie przykładowej nie tylko zwraca kolumna modelu CustomerName i Age, a tabela zagnieżdżona Products, ale także zwraca wartość kolumna Quantity w tabeli zagnieżdżonej, który nie jest częścią modelu.

SELECT CustomerName, Age,
(SELECT ProductName, StructureColumn(‘Quantity’) FROM Products) FROM MA.CASES 
WHERE StructureColumn(‘Occupation’) = ‘Architect’

Należy zauważyć, że w tym przykładzie zastosowaniu filtru do kolumna struktury w celu ograniczenia w przypadkach do klientów, których zajęcie się ‘ Architekt ’ ()WHERE StructureColumn(‘Occupation’) = ‘Architect’). Ponieważ model warunek filtra jest zawsze stosowany w przypadkach, podczas tworzenia modelu, tylko sprawy, które zawierają kwalifikujących się co najmniej jeden wiersz w Products Tabela znajdują się w przypadku modelu. Dlatego też zarówno filtr w tabela zagnieżdżonej Products i filtru, przypadek (‘Occupation’)są stosowane.

Przykładowa kwerenda 3: Wybór kolumny z tabela zagnieżdżoną

W następującej kwerendzie przykładowej zwraca nazwy klientów, którzy były używane jako przypadkach szkolenia z modelu.Dla każdego klienta kwerenda zwraca zagnieżdżonej tabela, która zawiera szczegółowe informacje dotyczące zakupu.Mimo, że model zawiera ProductName kolumny, w modelu nie używa wartości ProductName Kolumna. The model only checks if the product was purchased at regular (NOTOnSale) price.Ta kwerenda nie tylko zwraca nazwę produktu, ale także zwraca ilość, która nie znajduje się w modelu.

SELECT CustomerName,  
(SELECT ProductName, StructureColumn('Quantity')FROM Products) 
FROM MyModel.CASES

Należy zwrócić uwagę, to nie będzie można przywrócić albo ProductName kolumna lub Quantity kolumna, chyba że przeglądanie szczegółowe jest włączony model wyszukiwania.

Przykładowa kwerenda 4: Filtrowane i zwracanie zagnieżdżony kolumny tabela

Te w następującym przykładzie kwerendy zwraca wielkość liter i kolumny tabela zagnieżdżonej, które są zawarte w struktura wyszukiwania, ale nie w modelu.Model został już odfiltrowany obecności OnSale Dodaje filtr na podstawie kolumna struktura wyszukiwania produktów, ale tej kwerendy Quantity:

SELECT CustomerName, Age, StructureColumn('Occupation'), 
(SELECT ProductName, StructureColumn('Quantity') FROM Products) 
FROM MyModel.CASES 
WHERE EXISTS (SELECT * FROM Products WHERE StructureColumn('Quantity')>1)