Aracılığıyla paylaş


StructureColumn (DMX)

Yapı değerini verir sütun karşılık gelen servis talebini belirtilen veya belirtilen durumda iç içe geçmiş bir tablo için Tablo değeri.

StructureColumn('structure column name')

Bağımsız değişkenler

  • Yapı-sütun-adı.
    durum veya iç içe geçmiş tablo araştırma yapısı sütun adı.

Sonuç Türü

Başvurulan sütun tipini döndürülen türü bağlıdır <Yapı sütun adı> parametre. Örneğin, başvurulan araştırma yapısı sütun skaler bir değer içeriyorsa, işlevin skaler bir değer döndürür.

Başvuruda bulunulan araştırma yapısı sütun iç içe geçmiş bir tablo, işlev, bir tablo değeri döndürür.Döndürülen bir tablo değeri bir sub-SELECT FROM yan tümcesinde kullanılan deyim.

Remarks

Bu işlev polimorfik, herhangi bir ifade, bir ifade listesi de içinde olmak üzere izin veren bir deyimde kullanılan bir WHERE koşulunu ifade ve bir ORDER BY ifade.

Sütun adı araştırma yapısı bir dize değeridir ve gibi tek tırnak işaretleri içine alınması gerekir: Örneğin, StructureColumn('Sütun 1').Aynı ada sahip birden çok sütun varsa, adı kapsayan bir deyim bağlamında giderilmiştir.

Bir sorgu kullanarak döndürülen sonuçlar StructureColumn işlev model üzerinde herhangi bir filtre tipinin etkilendiğini. Diğer bir deyişle çok deyin, modeli süzgeci, dahil edilen servis taleplerini denetler araştırma modeli.Sorguda yapısı sütunda yalnızca sahibin meşru olarak kullanılmış olan durumlar bu nedenle, dönebilirsiniz araştırma modeli.Büyük tablolarda ve iç içe geçmiş bir tablo üzerinde araştırma modeli süzgeçleri etkisini gösteren bir kod örneği için bu konunun örnekler bölümüne bakın.

Bu işlev DMX SELECT deyiminde kullanma hakkında daha fazla bilgi için bkz: SELECT FROM < > .CASES (DMX) modeli veya SELECT FROM < > .CASES yapısı.

Hata iletileri

Kullanıcı üst detaylandırma izni yoksa, aşağıdaki güvenlik hatası ortaya çıkar araştırma yapısı:

' % {Kullanıcı /} ' kullanıcı aracılığıyla üst araştırma yapısı için ulaşmak için izne sahip ‘ % {model /} ’ araştırma modeli.

Geçersiz yapı bir sütun adı belirtilmemişse, aşağıdaki hata iletisini oluşturulur:

‘ % {Yapısı-sütun-adı /} ’ araştırma yapısı sütun içinde bulunamadı ‘ % {yapısı /} ’ araştırma yapısı geçerli bağlamda üst (satır % {satır /}, sütunu % {sütun /}).

Örnekler

Bu örnek için aşağıdaki araştırma yapısı çaba göstereceğiz.Not araştırma yapısı, iki iç içe geçmiş tablo sütun içerir Products ve Hobbies. Iç içe geçmiş tabloyu Hobbies sütun için iç içe geçmiş tablo anahtar olarak kullanılan tek bir sütun var. Iç içe geçmiş tabloyu Products anahtar sütun hem de girişi için kullanılan diğer sütunları olan karmaşık iç içe geçmiş bir tablo sütundur. Her sütun bir modeli kullanabilir olsa nasıl veri araştırma yapısı birçok farklı sütunlar eklemek için tasarlanmış olabilir, aşağıdaki örneklerde gösterilmektedir.Bu sütunları bazıları generalizing desen model düzeyinde yararlı olabilir, ancak detaylandırma için çok yararlı olabilir.

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
 ))

Ardından, oluşturmak bir araştırma modeli, aşağıdaki örnek kodu kullanarak oluşturduğunuz yapısını temel alan:

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))

Örnek sorgu 1: Bir sütun madenciliği yapı döndürülüyor

Aşağıdaki örnek sorgu sütunlar döndürür. CustomerName ve Age, hangi madenciliği modelinin bir parçası olacak şekilde tanımlanır. Bununla birlikte, sorgu sütun da verir Occupation, yapısının parçası olan ancak parçası olduğu araştırma modeli.

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

Servis taleplerini 30 yaşını müşterilere kısıtlamak için satırları süzme modelinin düzeyinde gerçekleştikten olduğunu unutmayın.Bu nedenle, bu ifade yapısı veride bulunmaktadır, ancak modeli tarafından kullanılmaz durumda döndürecektir değil.Filtre koşulu modeli (oluşturmak için kullanıldığındanEXISTS (Products)) durumlarda sınırlar ürünü satın yalnızca bu müşteriler, olabilir, bu sorgu tarafından döndürülen durumlarda yapısı.

Örnek sorgu 2: Yapı sütun için bir filtre uygulama

Aşağıdaki örnek sorgu sadece model sütun s döndürür. CustomerName ve Ageve iç içe geçmiş tablo Products, ayrıca değerini verir, ancak sütun Quantity iç içe geçmiş tablosunda hangi model bir parçası değil.

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

Bu örnekte yapısına filtre uygulanır, Not sütun, meslek olan müşteriler için servis taleplerini kısıtlamak için ‘ Mimarı ’ ()WHERE StructureColumn(‘Occupation’) = ‘Architect’). Model oluşturulduğunda, model filtre koşulu her zaman için servis taleplerini uygulandığından, yalnızca en az bir niteleme içeren servis taleplerini, satır Products Tablo model durumlarda eklenir. Bu nedenle, her iki süzgeç, iç içe geçmiş tablo Products ve durum çubuğunda süzme (‘Occupation’)uygulanır.

Örnek sorgu 3: Iç içe tablo sütun seçme

Aşağıdaki örnek sorgu eğitim durumlarda gelen model olarak kullanılan müşterilerin adlarını döndürür.Her müşteri için sorgu, satınalma ayrıntılarını içeren bir iç içe geçmiş tablo döndürür.Model bulunmasına karşın ProductName sütun değeri modelini kullanmaz ProductName sütun. The model only checks if the product was purchased at regular (NOTOnSale) price.Bu sorgu yalnızca, ürün adını verir, ancak aynı zamanda modelinde bulunan satın alınan, miktar döndürür.

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

Ya da döndüremez Not ProductName sütun veya Quantity sütun üzerinde detaylandırma etkinleştirilmemişse araştırma modeli.

Örnek sorgu 4: Tablo sütunları, süzmeyi ve geri gönderme yuvalanmış

durum ve'nin içerdiği iç içe geçmiş tablo sütunlarını döndürür thee örnek sorgu aşağıdaki araştırma yapısı ancak modelinde değil.Model varlığı, filtre uygulanır OnSale ürünleri, ancak bu sorguyu ekler süzgeçle araştırma yapısı sütun Quantity:

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