İlişkilere Genel Bakış

Bu bölümde Excel için PowerPivot içindeki tablolar arasında tanımlanabilen ilişkiler tanıtılır. Bu konuda aşağıdaki bölümler bulunur:

  • İlişki nedir?

  • İlişkilerin Gereksinimleri

  • İlişkilerin Otomatik Algılanması ve Çıkarımı

Bu konuyu okuduktan sonra ilişkinin ne olduğunu, ilişki tanımlamak için gerekenleri ve Excel için PowerPivot tarafından ilişkilerin nasıl otomatik olarak algılanabileceğini anlayacaksınız. Bu arada veritabanı uzmanlarının ilişkileri açıklamak için kullandığı terminoloji hakkında da bilgi edineceksiniz.

İlişki nedir?

İlişki, iki veri tablosu arasında kurulan, her bir tablodaki bir veya daha fazla sütunu temel alan bir bağlantıdır (PowerPivot için her tabloda tek bir sütun). İlişkilerin neden yararlı olduğunu görmek için işinizde müşteri siparişi verilerini izlediğinizi düşünün. Tüm verileri, yapısı aşağıdaki gibi olan tek bir tabloda izleyebilirsiniz:

MüşteriNo

Ad

E-posta

İndirimOranı

SiparişNo

SiparişTarihi

Ürün

Miktar

1

Salah

tamer.salah@contoso.com

.05

256

2010-01-07

Kompakt Dijital

11

1

Salah

tamer.salah@contoso.com

.05

255

2010-01-03

SLR Fotoğraf Makinesi

15

2

Göktepe

mete.goktepe@contoso.com

.10

254

2010-01-03

Ekonomik Movie-Maker

27

Bu yaklaşım işleyebilir, ancak çok fazla yinelenen veri (her siparişte müşterinin e-posta adresi olması gibi) depolanmasına neden olur. Depolama ucuzdur, ancak müşterinin e-posta adresi değiştiğinde söz konusu müşteriye ilişkin her satırı güncelleştirmeniz gerekir. Bu sorunun çözümlerinden biri, verileri birden çok tabloya bölmek ve bu tablolar arasında ilişkiler tanımlamaktır. Bu SQL Server gibi ilişkisel veritabanlarında kullanılan yaklaşımdır. Örneğin, Excel için PowerPivot uygulamasına aldığınız veritabanı üç ilişkili tablo kullanarak sipariş verilerini gösterebilir:

Müşteri

[MüşteriNo]

Ad

E-posta

1

Salah

tamer.salah@contoso.com

2

Göktepe

mete.goktepe@contoso.com

Müşteriİndirimleri

[MüşteriNo]

İndirimOranı

1

.05

2

.10

Sipariş

[MüşteriNo]

SiparişNo

SiparişTarihi

Ürün

Miktar

1

256

2010-01-07

Kompakt Dijital

11

1

255

2010-01-03

SLR Fotoğraf Makinesi

15

2

254

2010-01-03

Ekonomik Movie-Maker

27

Bu tabloları aynı veritabanından alırsanız, PowerPivot tablolar arasındaki ilişkileri [köşeli parantez] içindeki sütunları temel alarak algılayabilir ve bu ilişkileri PowerPivot penceresinde yeniden oluşturabilir. Daha fazla bilgi için, bu konudaki İlişkilerin Otomatik Algılanması ve Çıkarımı bölümüne bakın. Tabloları birden çok kaynaktan alırsanız, ilişkileri İki Tablo Arasında İlişki Oluşturma konusunda açıklandığı şekilde el ile oluşturabilirsiniz.

Sütunlar ve Anahtarlar

İlişkiler her bir tabloda aynı verileri içeren sütunları temel alır. Örneğin, Customers ve Orders tablolarının her ikisinin de Müşteri No'sunu içeren bir sütunu olduğundan bu tablolar birbirleriyle ilişkilendirilebilir. Örnekte sütun adları aynıdır, ancak böyle olması gerekmez. Orders tablosundaki tüm satırlarda Customers tablosunda da depolanan bir kimlik olduğu sürece birisi CustomerID ve diğeri CustomerNumber olabilir.

İlişkisel veritabanında genelde belirli özelliklere sahip sütunlar olan birkaç tür anahtar vardır. Aşağıdaki dört anahtar türü, amaçlarımız açısından en ilgi çekici olanlarıdır:

  • Birincil anahtar: tabloda bir satırı benzersiz olarak tanımlar; örneğin Customers tablosunda CustomerID.

  • Diğer anahtar (veya aday anahtar): benzersiz olan birincil anahtar dışında bir sütun. Örneğin, Employees tablosunda her ikisi de benzersiz olan çalışan numarası ve sosyal güvenlik numarası olabilir.

  • Yabancı anahtar: başka bir tablonun benzersiz sütununa başvuran bir sütun; Customers tablosundaki CustomerID sütununa başvuran Orders tablosundaki CustomerID gibi.

  • Bileşik anahtar: birden çok sütundan oluşan bileşik bir anahtar. Excel için PowerPivot içinde bileşik anahtarlar desteklenmez. Daha fazla bilgi için bu konuda yer alan "Bileşik Anahtarlar ve Arama Sütunları" bölümüne bakın.

Excel için PowerPivot uygulamasında, birincil anahtar veya diğer anahtar ilişkili arama sütunu veya yalnızca arama sütunu olarak adlandırılır. Bir tabloda hem birincil anahtar hem de diğer anahtar varsa, ikisinden birini arama sütunu olarak kullanabilirsiniz. Yabancı anahtar kaynak sütun veya yalnızca sütun olarak anılır. Örneğimizde, Orders tablosundaki CustomerID (sütun) ile Customers tablosundaki CustomerID (arama sütunu) arasında bir ilişki tanımlanır. İlişkisel veritabanından veri alıyorsanız, Excel için PowerPivot varsayılan olarak, bir tablodan yabancı anahtarı, diğer tablodan da buna karşılık gelen birincil anahtarı seçer. Bununla birlikte, arama sütunu için benzersiz değerleri olan herhangi bir sütun seçebilirsiniz.

İlişki Türleri

Customers ile Orders arasındaki ilişki bir-çok ilişkisidir. Her müşterinin birden çok siparişi olabilir, ancak bir siparişin birden çok müşterisi olamaz. Diğer ilişki türleri birebir ve çoka çok ilişkidir. Her müşteri için tek bir indirim tanımlayan CustomerDiscounts tablosunun Customers tablosuyla ilişkisi bire bir türündedir. Çoka çok ilişkiye örnek olarak, bir müşterinin birden çok ürün satın alabildiği ve aynı ürünün birden çok müşteri tarafından alınabildiği, Products ve Customers, tabloları arasındaki doğrudan ilişki verilebilir. Products3 kullanıcı arabiriminde çoka çok ilişkileri desteklemez. Excel için PowerPivot kullanıcı arabirimi arasında çok-çok ilişkilerini desteklemez. Daha fazla bilgi için bkz. bu konudaki "Çok-Çok İlişkiler".

Aşağıdaki tabloda üç tablo arasındaki ilişkiler gösterilir:

İlişki

Tür

Arama Sütunu

Sütun

Müşteri-Müşteri_İndirimleri

bire bir

Müşteri.MüşteriNo

Müşteri_İndirimleri.MüşteriNo

Müşteri-Sipariş

bire çok

Müşteri.MüşteriNo

Sipariş.MüşteriNo

İlişkiler ve Performans

Herhangi bir ilişki oluşturulduktan sonra, normalde Excel için PowerPivot tarafından yeni oluşturulan ilişkideki tablolarda bulunan sütunları kullanan tüm formüllerin yeniden hesaplanması gerekir. Veri miktarına ve ilişkilerin karmaşıklığına bağlı olarak işlem biraz zaman alabilir. Daha fazla bilgi için, bkz. Formülleri Yeniden Hesaplama.

İlişkilerin Gereksinimleri

Excel için PowerPivot, ilişki oluşturulurken birkaç gereksinimin karşılanmasını gerektirir:

Tablolar Arasında Tek Bir İlişki

Birden çok ilişki bulunması, tablolar arasında belirsiz bağımlılıklara neden olabilir. Doğru hesaplamalar oluşturmak için bir tablodan diğerine tek bir yol olması gerekir. Bu nedenle, her tablo çifti arasında tek bir ilişki olabilir. Örneğin, AdventureWorksDW2012 'deki DimDate tablosunda, FactInternetSales tablosundaki OrderDate, DueDate ve ShipDate adındaki üç farklı sütunla ilişkili olan bir DateKey sütunu vardır. Bu tabloları almaya çalışırsanız, birinci ilişki başarıyla oluşturulur, ancak aynı sütunu ilgilendiren sonraki ilişkilerde aşağıdaki hatayı alırsınız:

* İlişki: tablo[sütun 1]-> tablo[sütun 2] - Durum: hata - Neden: <tablo 1> ve <tablo 2> tabloları arasında ilişki oluşturulamıyor. İki tablo arasında yalnızca bir doğrudan veya dolaylı ilişki olabilir.

İki tablonuz ve bunlar arasında birden çok ilişki varsa, arama sütununu içeren tablonun birden çok kopyasını almanız ve her tablo çifti arasında bir ilişki oluşturmanız gerekir.

Her Kaynak Sütun İçin Bir İlişki

Kaynak sütun birden fazla ilişkide yer alamaz. Bir sütunu bir ilişkide kaynak sütun olarak zaten kullandıysanız ve bu sütunu farklı bir tablodaki başka bir ilişkili arama sütununa bağlamak istiyorsanız, sütunun bir kopyasını oluşturabilir ve yeni ilişki için bu sütunu kullanabilirsiniz.

Hesaplanmış sütunda bir DAX formülü kullanarak tam olarak aynı değerlere sahip bir sütun oluşturmak kolaydır. Daha fazla bilgi için, bkz. Hesaplanmış Sütunlar.

Her Tablo İçin Benzersiz Tanımlayıcı

Her tabloda, söz konusu tablodaki her satırı benzersiz biçimde tanımlayan tek bir sütun olması gerekir. Bu sütun genellikle birincil anahtar olarak adlandırılır.

Benzersiz Arama Sütunları

Arama sütunlarındaki veri değerlerinin benzersiz olması gerekir. Başka bir deyişle, sütunda yinelenen değerler olamaz. Excel için PowerPivot'de null ve boş dizeler boşluğa eşittir, bu da farklı veri değeridir. Bu, arama sütununda birden fazla null değerleriniz olamayacağı anlamına gelir.

Uyumlu Veri Türleri

Kaynak sütundaki ve arama sütunundaki veri türlerinin uyumlu olması gerekir. Veri türleri hakkında daha fazla bilgi için, bkz. PowerPivot Çalışma Kitaplarında Desteklenen Veri Türleri.

Bileşik Anahtarlar ve Arama Sütunları

PowerPivot çalışma kitabında bileşik anahtarlar kullanamazsınız; mutlaka tablodaki her satırı benzersiz olarak tanımlayan tek bir sütununuz olması gerekir. Bileşik anahtara dayanan var olan bir ilişkisi olan tablolar almaya çalışıyorsanız, Tablo Alma Sihirbazı bu ilişkiyi PowerPivot'de oluşturulamayacağı için yok sayacaktır.

PowerPivot'de iki tablo arasında ilişki oluşturmak istediğinizde ve birincil anahtarları ve yabancı anahtarları tanımlayan birden çok sütun olduğunda, ilişkiyi oluşturmadan önce değerleri tek bir anahtar sütun oluşturacak şekilde birleştirmeniz gerekir. Bunu verileri almadan önce yapabilirsiniz ya da PowerPivot içinde bir hesaplanmış sütun oluşturarak yapabilirsiniz.

Çoka Çok İlişkiler

Excel için PowerPivot çoka çok ilişkileri desteklemez ve PowerPivot uygulamasında basit bir şekilde birleşim tabloları ekleyemezsiniz. Bununla birlikte, çoka çok ilişkileri modellemek için DAX işlevlerini kullanabilirsiniz.

İç Birleşimler ve Döngüler

İç birleşimlere PowerPivot tablolarında izin verilmez. İç birleşim, bir tablonun yine kendisiyle olan yinelemeli ilişkidir. İç birleşimler genellikle üst-alt hiyerarşilerinde kullanılır. Örneğin, işletmedeki yönetim zincirini gösteren bir hiyerarşi üretmek için Employees tablosunu kendisiyle birleştirmiş olabilirsiniz.

Excel için PowerPivot, çalışma kitabındaki ilişkiler arasında döngüler oluşturulmasına izin vermez. Başka bir deyişle aşağıdaki ilişki kümesine izin verilmez.

Tablo 1, sütun a   -   Tablo 2, sütun f

Tablo 2, sütun f   -   Tablo 3, sütun n

Tablo 3, sütun b   -   Tablo 1, sütun a

Döngü oluşmasına neden olacak bir ilişki tanımlamaya çalışırsanız, bir hata oluşturulur.

İlişkilerin Otomatik Algılanması ve Çıkarımı

PowerPivot pencerenize veri alırken, Tablo Alma Sihirbazı tablolar arasında var olan ilişkileri otomatik olarak algılar. Ayrıca bir PivotTable oluşturduğunuzda Excel için PowerPivot tablolardaki verileri çözümler. Tanımlanmamış olası ilişkileri algılar ve bu ilişkilere eklenecek uygun sütunları önerir.

Algılama algoritması ilişki olasılıklarıyla ilgili çıkarımlar yapmak için sütunlarında değerleri ve meta verileriyle ilgili istatistiksel veriler kullanır.

  • İlişkili sütunlardaki veri türlerinin uyumlu olması gerekir. Otomatik algılamada yalnızca tamsayı ve metin veri türleri desteklenir. Veri türleri hakkında daha fazla bilgi için, bkz. PowerPivot Çalışma Kitaplarında Desteklenen Veri Türleri.

  • İlişkinin başarıyla algılanması için, arama sütunundaki benzersiz anahtarların sayısı çok tarafındaki tablodaki değerlerden fazla olmalıdır. Diğer deyişle, ilişkinin çok tarafındaki anahtar sütunu arama tablosunun anahtar sütununda bulunmayan hiçbir değer içermemelidir. Örneğin, ürünleri kimlikleriyle listeleyen bir tablonuz (arama tablosu) ve her ürünün satışlarını listeleyen bir satış tablonuz (ilişkinin çok tarafı) olduğunu varsayalım. Satış kayıtlarını Products tablosunda karşılık gelen bir ürün bulunmayan bir kimlik içeriyorsa, ilişki otomatik olarak oluşturulamaz ancak siz el ile oluşturabilirsiniz. İlişkinin Excel için PowerPivot tarafından algılanması için, önce Products arama tablosunu eksik ürünlerin kimlikleriyle güncelleştirmeniz gerekir.

  • Çok tarafındaki anahtar sütununun adının arama tablosundaki anahtar sütununun adına benzediğinden emin olun. Adların tamamen aynı olması gerekmez. Örneğin, bir iş ortamında esasen aynı veriyi içeren sütunların adlarında genellikle farklılıklar olur: Emp ID, EmployeeID, Employee ID, EMP_ID vb. Algoritma benzer adları algılar ve adları benzer olan veya tam olarak eşleşen sütunlara daha yüksek bir olasılık atar. Bu nedenle, ilişkinin oluşturulma olasılığını artırmak için, aldığınız verilerdeki sütun adlarını var olan tablolarınızdaki sütunların adlarına benzeyecek şekilde değiştirmeyi deneyebilirsiniz. Excel için PowerPivot birden fazla olası ilişki bulursa bir ilişki oluşturmaz.

Bu bilgiler neden tüm ilişkilerin algılanmadığını veya meta verilerdeki (alan adı ve veri türleri gibi) değişikliklerin otomatik ilişki algılama sonuçlarının geliştirilmesini nasıl sağlayacağını anlamanıza yardımcı olabilir. Daha fazla bilgi için, bkz. İlişki Sorunlarını Giderme ve Behind the scenes of PowerPivot’s automatic relationship detection (PowerPivot'un otomatik ilişki algılamasının perde arkası).

Adlandırılmış Kümeleri Otomatik Algılama

Adlandırılmış Kümeler ile PivotTable'daki alanlar arasındaki ilişkiler otomatik olarak algılanmaz. Bu ilişkileri el ile yapılandırabilirsiniz. Otomatik ilişki algılamayı kullanmak istiyorsanız, her bir Adlandırılmış Kümeyi kaldırın ve Adlandırılmış Kümedeki tek tek alanları doğrudan PivotTable'a ekleyin.

İlişkilerin Çıkarımı

Bazı durumlarda, tablolar arasındaki ilişki zinciri otomatik olarak oluşturulur. Örneğin, aşağıdaki ilk iki tablo kümesi arasında bir ilişki oluşturursanız, diğer iki tablo arasında bir ilişki olduğu sonucu çıkarılır ve ilişki otomatik olarak kurulur.

Products ve Category -- el ile oluşturulan

Category ve SubCategory -- el ile oluşturulan

Products ve SubCategory -- ilişki olduğu sonucu çıkarılır

İlişkilerin arasında otomatik olarak zincir oluşturulması için ilişkilerin yukarıdaki gibi tek bir yönde olması gerekir. Örneğin başlangıç ilişkileri Sales ve Products ile Sales ve Customers arasındaysa, buradan bir ilişki çıkarımı yapılmaz. Bunun nedeni Products ve Customers tabloları arasındaki ilişkinin çoka çok ilişki olmasıdır.

Ayrıca bkz.

Kavramlar

İki Tablo Arasında İlişki Oluşturma

İlişkileri Silme

İlişkileri Görüntüleme ve Düzenleme

İlişki Sorunlarını Giderme