StructureColumn (dmx)

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

Sözdizimi

StructureColumn('structure column name')

Bağımsız değişkenler

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

Sonuç Türü

Döndürülen başvurulan sütun türüne bağlıdır <yapısı sütun adı> parametresi.Örneğin, başvurulan araştırma yapısı sütun skaler bir değer içeriyorsa, işlev 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, bir tablo değeri işlev verir.Döndürülen tablo değeri dönmesini bir from yan tümce tümce tümcesinde kullanılabilir deyim.

Açıklamalar

Bu işlev uymanız ve herhangi bir deyim, bir deyim listesi de dahil olmak üzere izin veren bir deyim kullanılabilir where koşul deyim ve order by deyim.

Sütun adı araştırma yapısı gibi tek tırnak içine alınmalıdır ve bir dize değeri şöyledir: for example, StructureColumn('sütun 1').Aynı ada sahip birden çok sütun varsa, kapsayan bir deyim bağlamında ad çözülür.

Bir sorgu kullanarak döndürülen sonuçlar StructureColumn işlev herhangi bir filtre modeli varlığını etkilenirDiğer bir deyişle çok deyin, içerdiği durumlarda modeli filtre kontrol araştırma modeli.Bu nedenle yapısı sütun üzerinde bir sorgu içinde kullanılan durumlarda geri dönebilirsiniz araştırma modeli.durum tablo ve iç içe geçmiş tablo araştırma modeli filtreleri etkisini gösteren bir kod örneği için bu konunun Örnekler bölümüne bakın.

dmx seçin bu işlevi kullanma hakkında daha fazla bilgi için deyim, bkz: select from <modeli>.SERVİS TALEPLERİNİ (DMX) veya select from <yapı>.SERVİS TALEPLERİ.

Hata iletileri

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

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

Bir geçersiz yapısı sütun adı belirtilmişse, aşağıdaki hata iletisini neden oldu:

' % {Yapısı sütun adı /}' araştırma yapısı sütun bulunamadı ' % {yapısı /}' üst araştırma yapısı geçerli içerikteki (satır % {satır /}, sütun % {sütun /}).

Örnekler

Bu örnek için aşağıdaki araştırma yapısı kullanacağız.Araştırma yapısı iki iç içe geçmiş tablo sütunları içeren Not Products ve Hobbies.İç içe geçmiş tablo içinde Hobbies sütunu olan tek bir sütun için iç içe geçmiş tablo anahtar olarak kullanılanİç içe geçmiş tablo içinde Products sütun karmaşık bir iç içe geçmiş tablo anahtar sütununa ve giriş için kullanılan diğer sütunlara sahiptirBir veri alanının nasıl aşağıdaki örneklerde gösterilmektedir araştırma yapısı model her sütun kullanın rağmen birçok farklı sütunlar eklemek için tasarlanmış olabilir.Bu sütun modeli yararlı olmayabilir düzey için işlem genelleştirme desenleri, 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, aşağıdaki örnek kodu kullanarak oluşturduğunuz yapısına dayalı bir araştırma modeli oluşturun:

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 döndürmeden madenciliği yapısından

Aşağıdaki örnek sorgu sütunları döndürür CustomerName ve Age, parçası olarak tanımlanıraraştırma modeli. Bununla birlikte, sorgu sütun da verir Age, yapı ancak parçası olmayan bir parçası olduğuaraştırma modeli.

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

30 Yaşın üzerinde müşterilerine servis taleplerini sınırlamak için satırları süzme yere sürer düzey modeli.Bu nedenle, bu ifade yapısı veri eklenir ancak modeli tarafından kullanılan servis taleplerini döndürecektir.Filtre koşulu model oluşturmak için kullanılan çünkü (EXISTS (Products)) servis taleplerini kısıtlar ürünü satın yalnızca bu müşteriler için olabilir, bu sorgu. tarafından dönmedi yapısı durumlarda

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

Aşağıdaki örnek sorgu yalnızca modeli verir sütuns CustomerName ve Ageve iç içe geçmiş tablo Products, ama aynı zamanda değerini döndürür sütun Quantity içinde iç içe geçmiş tablo parçası olduğumodeli.

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

Not Bu örnekte, bir filtre, meslek 'Mimarı' olduğu müşteriler için servis taleplerini sınırlamak için yapısı sütun uygulanır, (WHERE StructureColumn(‘Occupation’) = ‘Architect’).Model oluşturulduğunda modeli Filtre koşulu her zaman için servis taleplerini uygulandığından, içinde en az bir niteleme içeren tek durumlarda satır Products Tablo dahil modeli durumlarda.Bu nedenle, her iki filtre iç içe geçmiş tablo Products ve durum çubuğunda filtre (‘Occupation’)uygulanır.

Örnek sorgu 3: Bir iç içe tablo sütunları seçme

Aşağıdaki örnek sorgu eğitim servis taleplerini model olarak kullanılan müşterilerin adlarını döndürür.Her müşteri için sorgu da satın alma ayrıntıları içeren iç içe geçmiş bir tablo döndürür.Model içerse de ProductName sütunu, model kullanma değeri 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 satın alınan, miktar modele dahil 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: Üzerinde süzme ve iç içe geçmiş tablo sütunları döndüren

Aşağıdaki örnek sorgu thee durum ve içerdiği iç içe geçmiş tablo sütunları döner araştırma yapısı ancak modeli.Model zaten varlığı, filtre OnSale ürünler, ancak bu sorgu ekler araştırma yapısı sütun filtre Quantity:

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