Formüllerde İlişkiler ve Aramalar
En güçlü Excel için PowerPivot özelliklerinden biri, tablolar arasında ilişki oluşturma ve sonra ilişkili tabloları arama veya ilişkili verileri filtreleme için kullanma yeteneğidir. Excel için PowerPivot, Veri Çözümleme İfadeleri (DAX) ile sağlanan formül dilini kullanarak tablolardan ilişkili değerleri alırsınız. DAX ilişkisel bir model kullanır ve bu nedenle başka bir tablo veya sütundaki ilişkili veya karşılık gelen değerleri kolay ve doğru bir şekilde getirebilir.
PivotTable'da veya PivotChart'ta kullanmak üzere, hesaplanmış bir sütunun veya bir ölçünün parçası olarak arama işlemleri gerçekleştiren formüller oluşturabilirsiniz. Daha fazla bilgi için, aşağıdaki konulara bakın:
Bu bölümde, arama için sağlanan DAX işlevleri, bu işlevlerin kullanımına yönelik bazı örneklerle birlikte açıklanır.
[!NOT]
Kullanmak istediğiniz arama işlemi türüne veya arama formülüne bağlı olarak, önce tablolar arasında bir ilişki oluşturmanız gerekebilir. İlişki oluşturma hakkında bilgi için, bkz. Tablolar Arasındaki İlişkiler.
Arama İşlevlerini Anlama
Başka bir tabloda eşleşen veya ilişkili verileri arayabilme, özellikle geçerli tablonun yalnızca bir tür tanımlayıcı içerdiği, ancak size asıl gereken verinin (ürün fiyatı, adı veya diğer ayrıntı bilgileri gibi) ilişkili bir tabloda depolandığı durumlarda kullanışlıdır. Ayrıca geçerli satırla veya geçerli değerle ilişkili başka bir tabloda birkaç satır olduğunda da kullanışlıdır. Örneğin, belirli bir bölge, mağaza veya satış elemanıyla ilgili tüm satışları kolayca alabilirsiniz.
Dizileri temel alan DÜŞEYARA veya eşleşen birden fazla değer arasından ilk değeri alan ARA gibi Excel arama işlevlerinin tersine, DAX tam olarak eşleşen ilişkili tek bir değeri almak için anahtarlarla birleştirilmiş tablolar arasında varolan ilişkileri izler. DAX geçerli kayıt ilgili kayıtların tablosunu da oluşturabilir.
[!NOT]
İlişkisel veritabanları hakkında bilginiz varsa, PowerPivot aramaları Transact-SQL'deki iç içe yerleştirilen alt seçim deyimleri gibi düşünebilirsiniz.
PowerPivot kullanılan ilişkisel model hakkında daha fazla bilgi için, bkz. İlişkilere Genel Bakış.
Tek Bir İlişkili Değer Alma
RELATED işlevi, başka bir tablodan geçerli tablodaki geçerli değerle ilişkili olan tek bir değer döndürür. İstediğiniz verilerin bulunduğu sütunu belirtirsiniz ve işlev, ilişkili tabloda belirtilen sütunda bulunan değeri getirmek için tablolar arasında varolan ilişkileri izler. Bazı durumlarda, işlevin verileri almak için bir ilişki zincirini izlemesi gerekir.
Örneğin, Excel'de bugünkü kargoların bir listesi olduğunu varsayalım. Ancak, liste yalnızca çalışan kimliği, sipariş kimliği ve gönderen kimliği değerlerini içerdiğinden raporun okunmasını zorlaştırmaktadır. İstediğiniz ekstra bilgileri almak için, bu listeyi bir PowerPivot bağlantılı tablosuna dönüştürebilir ve sonra Employee veReseller tablolarında EmployeeID ile EmployeeKey alanını ve ResellerID ile ResellerKey alanını eşleştiren ilişkiler oluşturabilirsiniz.
Bağlantılı tablonuzda arama bilgilerini görüntülemek için, aşağıdaki formüllerle iki tane yeni hesaplanmış sütun eklersiniz:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])
Öncesini arama |
Sonrasını arama |
||||||||||||||||||||||||||||||||||||||||||||
|
|
İşlev, rapordaki her satır için doğru adı almak amacıyla bağlantılı tabloyla Employees ve Resellers tablosu arasındaki ilişkileri kullanır. Hesaplamalar için ilişkili değerler de kullanabilirsiniz. Daha fazla bilgi ve örnek için bkz. RELATED İşlevi.
İlişkili Değerler Listesi Alma
RELATEDTABLE işlevi varolan bir ilişkiyi izler ve belirtilen tablodan eşleşen tüm satırları içeren bir tablo döndürür. Örneğin, her bayinin bu sene kaç sipariş verdiğini bulmak istediğinizi varsayalım. Resellers tablosunda, her bayi için ResellerSales_USD tablosunda kayıt arayan ve her bayinin verdiği tek tek siparişlerin sayısını sayan aşağıdaki formülün bulunduğu yeni bir hesaplanmış alan oluşturabilirsiniz. Bu tablolar DAX örnek çalışma kitabının bir parçasıdır. Örnek veriler hakkında daha fazla bilgi için, bkz. PowerPivot İçin Örnek Verileri Alma.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
Bu formülde RELATEDTABLE işlevi, öncelikle geçerli tablodaki her bayi için ResellerKey değerini alır. (PowerPivot tablolar arasında varolan ilişkiyi kullandığından, kimlik sütununu formülün herhangi bir yerinde belirtmeniz gerekmez.) RELATEDTABLE işlevi ResellerSales_USD tablosundan her bir yetkili satıcıyla ilgili tüm satırları alır ve satırları sayar. İki tablo arasında hiçbir ilişki (doğrudan veya dolaylı) yoksa, ResellerSales_USD tablosundaki tüm satırları alacağınıza dikkat edin.
Örnek veritabanımızdaki Modüler Bisiklet Sistemleri adlı bayi için, satış tablosunda dört sipariş olduğundan işlev 4 döndürür. Associated Bikes adlı bayinin hiç siparişi yoktur, bu nedenle işlev boşluk döndürür.
Bayi |
Bu bayi için satışlar tablosundaki kayıtlar |
||||||||||
Modüler Bisiklet Sistemleri |
|
||||||||||
Associated Bikes |
|
[!NOT]
RELATEDTABLE işlevi tek bir değer değil bir tablo döndürdüğünden, tablolarda işlemler gerçekleştiren bir işlev için bağımsız değişken olarak kullanılmalıdır. Daha fazla bilgi için, bkz. RELATEDTABLE İşlevi.
Ayrıca bkz.
Kavramlar
Raporlara, Grafiklere ve PivotTable'lara Hesaplama Ekleme
Hesaplamalar İçin Formül Oluşturma
Veri Çözümleme İfadelerine (DAX) Genel Bakış