Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
SQL Server 2019 ve önceki Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Önemli
Veri madenciliği SQL Server 2017 Analysis Services'da kullanım dışı bırakıldı ve artık SQL Server 2022 Analysis Services'da sonlandırıldı. Kullanım dışı bırakılan ve kullanımdan kaldırılan özellikler için belgeler güncelleştirilmez. Daha fazla bilgi edinmek için bkz. Analysis Services eski sürüm uyumluluğu.
SQL Server SQL Server Analysis Services'da verilerin bir olay tablosunda yer alan bir dizi olay olarak veri madenciliği algoritmasına beslenmesi gerekir. Ancak, tüm durumlar tek bir veri satırıyla açıklanamaz. Örneğin, bir durum iki tablodan türetilebilir: müşteri bilgilerini içeren bir tablo ve müşteri satın almalarını içeren bir başka tablo. Müşteri bilgileri tablosundaki tek bir müşterinin, müşteri satın almaları tablosunda birden çok öğe olabilir ve bu da verileri tek bir satır kullanarak açıklamayı zorlaştırır. SQL Server Analysis Services, iç içe tablolar kullanarak bu durumları işlemek için benzersiz bir yöntem sağlar. İç içe tablo kavramı aşağıdaki çizimde gösterilmiştir.
Bu diyagramda, üst tablo olan ilk tablo müşteriler hakkında bilgi içerir ve her müşteri için benzersiz bir tanımlayıcı ilişkilendirir. İkinci tablo olan çocuk tablo, her müşteri için satın almaları içerir. Çocuk tablodaki satın almalar, CustomerKey sütunu olan benzersiz tanımlayıcı aracılığıyla ana tabloyla ilişkilendirilir. Diyagramdaki üçüncü tablo, birleştirilmiş iki tabloyu gösterir.
İç içe tablo, durum tablosunda tablo veri türü TABLE olan özel bir sütun olarak temsil edilir. Herhangi bir durum satırı için, bu tür bir sütun, ebeveyn tabloyla ilgili olan alt tablodan seçilmiş satırları içerir.
İç içe tablodaki veriler tahmin veya giriş için ya da her ikisi için kullanılabilir. Örneğin, bir modelde iki iç içe tablo sütununu kullanabilirsiniz: İç içe yerleştirilmiş tablo sütunlarından biri müşterinin satın aldığı ürünlerin listesini, diğer iç içe tablo sütunu ise müşterinin hobileri ve ilgi alanlarıyla ilgili bilgileri (muhtemelen bir anketten elde edilmiş olabilir) içerebilir. Bu senaryoda, satın alma davranışını analiz etmek ve olası satın almaları tahmin etmek için giriş olarak müşterinin hobilerini ve ilgi alanlarını kullanabilirsiniz.
Vaka Tablolarını ve İç İçe Tabloları Birleştirme
İç içe tablo oluşturmak için, bir tablodaki öğelerin diğer tabloyla ilişkilendirilebilmesi için iki kaynak tablonun tanımlı bir ilişki içermesi gerekir. SQL Server Veri Araçları'nda bu ilişkiyi veri kaynağı görünümünde tanımlayabilirsiniz.
Uyarı
CustomerKey alanı, olgu tablosu ve iç içe tabloyu veri kaynağı görünümü tanımı içinde bağlamak ve madencilik yapısındaki sütunların ilişkisini kurmak için kullanılan ilişkisel anahtardır. Ancak, genellikle bu ilişkisel anahtarı bu yapı üzerinde oluşturulan madencilik modellerinde kullanmamalısınız. Genellikle, yalnızca tabloları birleştirmeye hizmet ediyorsa ve analiz için ilginç bilgiler sağlamıyorsa, madencilik modelinden ilişkisel anahtar sütununu çıkarmak en iyisidir.
Veri Madenciliği Uzantıları (DMX) veya Çözümleme Yönetimi Nesneleri (AMO) kullanarak program aracılığıyla iç içe tablolar oluşturabilir veya SQL Server Veri Araçları'nda Veri Madenciliği Sihirbazı ve Veri Madenciliği Tasarımcısı'nı kullanabilirsiniz.
Madencilik Modelinde İç İçe Tablo Sütunlarını Kullanma
Durum tablosunda anahtar genellikle bir müşteri kimliği, ürün adı veya serideki tarihtir: tablodaki bir satırı benzersiz olarak tanımlayan veriler. . Ancak iç içe tablolarda anahtar genellikle ilişkisel anahtar (veya yabancı anahtar) değil, modellediğiniz özniteliği temsil eden sütundur.
Örneğin, olay tablosu siparişler içeriyorsa ve iç içe tablo siparişteki öğeleri içeriyorsa, iç içe tabloda depolanan öğeler arasındaki ilişkiyi, olay tablosunda depolanan birden çok sipariş arasında modellemek istersiniz. Bu nedenle, Items iç içe tablosu, ilişkisel anahtar OrderID ile Orders vaka tablosuna katılmış olsa da, bu OrderID'yi iç içe tablo anahtarı olarak kullanmamalısınız. Bunun yerine, öğeler sütununu iç içe tablo anahtarı olarak seçersiniz, çünkü bu sütun modellemek istediğiniz verileri içerir. Çoğu durumda, vaka tablosu ve iç içe tablo arasındaki ilişki veri kaynağı görünüm tanımı tarafından zaten tanımlandığından, madencilik modelinde OrderID'yi güvenle yoksayabilirsiniz.
İç içe tablo anahtarı olarak kullanılacak bir sütun seçtiğinizde, bu sütundaki değerlerin her durum için benzersiz olduğundan emin olmanız gerekir. Örneğin, durum tablosu müşterileri ve iç içe tablo müşteri tarafından satın alınan öğeleri temsil ediyorsa, müşteri başına bir kereden fazla listelenmediğinden emin olmanız gerekir. Bir müşteri aynı öğeyi birden çok kez satın aldıysa, her benzersiz ürün için satın alma sayısını toplayan bir sütunu olan farklı bir görünüm oluşturmak isteyebilirsiniz.
İç içe tablodaki yinelenen değerleri işlemeye nasıl karar vereceğiniz, oluşturduğunuz madencilik modeline ve çözmekte olduğunuz iş sorununa bağlıdır. Bazı senaryolarda, bir müşterinin belirli bir ürünü kaç kez satın aldığı umurunda olmayabilir, ancak en az bir satın alma işleminin olup olmadığını denetlemek isteyebilirsiniz. Diğer senaryolarda satın almaların miktarı ve sırası çok önemli olabilir.
Öğelerin sırası önemliyse, sırayı gösteren ek bir sütuna ihtiyacınız olabilir. Model oluşturmak için sıralı kümeleme algoritmasını kullandığınızda, öğelerin sırasını göstermek için ek bir anahtar dizisi sütunu seçmeniz gerekir. Anahtar dizisi sütunu, yalnızca sıralı kümeleme modellerinde kullanılan ve benzersiz bir sayısal veri türü gerektiren özel bir iç içe anahtar türüdür. Örneğin, tamsayılar ve tarihler anahtar dizisi sütunu olarak kullanılabilir, ancak tüm sıra değerleri benzersiz olmalıdır. Anahtar dizisi sütununa ek olarak, bir dizi kümeleme modeli de satın alınan ürünler gibi modellenen özniteliği temsil eden iç içe tablo anahtarına sahiptir.
İç İçe Tablo İçindeki Anahtar Olmayan Sütunları Kullanma
Olay tablosuyla iç içe tablo arasındaki birleştirmeyi tanımladıktan ve iç içe tablo anahtarı olarak kullanmak üzere, ilginç ve özgün öznitelikler içeren bir sütun seçtikten sonra, iç içe tablodan modele girdi olarak kullanmak üzere diğer sütunları ekleyebilirsiniz. İç içe tablodaki tüm sütunlar giriş veya tahmin için ya da her ikisi için birden kullanılabilir.
Örneğin, iç içe geçmiş tablo Product, ProductQuantity ve ProductPrice sütunlarını içeriyorsa, iç içe tablo anahtarı olarak Product'ı seçebilir, ancak giriş olarak kullanılacak araştırma yapısına ProductQuantity ekleyebilirsiniz.
İç İçe Tablo Verilerini Filtreleme
SQL Server 2017'de, veri madenciliği modelini eğitmek veya test etmek için kullanılan veriler üzerinde filtreler oluşturabilirsiniz. Filtre, modelin bileşimini etkilemek veya modeli vakaların bir alt kümesinde test etmek için kullanılabilir. Filtreler iç içe tablolara da uygulanabilir. Ancak, iç içe tablolar ile kullanılabilecek söz diziminde sınırlamalar vardır.
Genellikle iç içe tabloya filtre uyguladığınızda, bir özniteliğin var olup olmadığını test edersiniz. Örneğin, modelde kullanılan vakaları yalnızca iç içe tabloda belirtilen değere sahip olan vakalarla sınırlandıran bir filtre uygulayabilirsiniz. Veya modelde kullanılan durumları belirli bir ürünü satın almamış müşterilerle sınırlayabilirsiniz.
İç içe yerleştirilmiş bir tabloda filtreler oluşturduğunuzda, büyüktür veya küçüktür gibi işleçler de kullanabilirsiniz. Örneğin, modelde kullanılan servis taleplerini hedef ürünün en az n birimini satın almış müşterilerle kısıtlayabilirsiniz. İç içe tablo özniteliklerini filtreleme özelliği, modelleri özelleştirmek için büyük esneklik sağlar.
Model filtreleri oluşturma ve kullanma hakkında daha fazla bilgi için bkz . Madencilik Modelleri için Filtreler (Analysis Services - Veri Madenciliği).
Ayrıca Bkz.
Veri Madenciliği Algoritmaları (Analysis Services - Veri Madenciliği)
Madencilik Yapıları (Analysis Services - Veri Madenciliği)