Yılın İlk ve Son Açık Sınıf Eğitimleri

+80 saat, T-SQL, Python, Power BI, Advanced Power BI ve Microsoft Fabric Eğitimleri

Kariyerinizde fark yaratın!

Ön Kaydınızı yapın

Tekil Değer Sorunu

Veri ModeliPower Query

Aşağıdaki hata mesajını birkaç farklı projede alınca, yazısını yazmak şart oldu! Hata mesajı diyor ki, “Ürünler” diye bir tablon var, one-to-many bir ilişkinin one tarafında kalıyor ve bu tablonun anahtar sütunu olan “Item Key” sütununda duplike, yani kendini tekrar eden değerler var. Yaptırmam!

tekil değer sorunu
tekil değer sorunu

Tipik bir tekil değer sorunu !

Dediği tabloya bakıyorum, ilgili sütunu seçiyorum, 42,263 satır var diyor, hepsi de farklı! Yani sütun değerleri TEKİL! Mantık olarak!

Temel teoriye geri dönelim:

One-to-many ilişkilerde teknik olarak kural, ilişkinin ONE tarafında kalan tablonun anahtar sütununda duplike değer olamaz, blank ya da null değer olamaz! Yani anahtar sütundaki her bir değer tekil olmak zorunda, boş değerler de olamaz! Basit ve en temel kural, Power BI spesifik de değil! Tüm uygulamalar için geçerli!

Power BI ve PowerQuery’i tasarlayan ekip, by design bir karar vermişler!

  • PowerQuery’nin dili olan “M”, case-sensitive bir dildir. Yani büyük harf küçük harf duyarlıdır!
  • Tabular engine’nin dili olan DAX, case-insensitive bir dildir! Yani büyük küçük harf aynıdır DAX için.

Peki bu ne demek, örneklendirelim, Enter Data diyerek çok basit bir tablo oluşturuyorum

Üç farklı değer giriyorum tabloya: “Power BI”, “power bi” ve “Power BI “. En sondaki Power BI değerinin en sağına space bar tuşuna basarak bir boşluk girdim, gözle göremiyoruz ama bir boşluk karakteri daha var!

Basit bir DISTINCTCOUNT metriği yazalım ve bir tabloya değer sütunuyla birlikte düşürelim!

Tekil Değer Sayısı = DISTINCTCOUNT('Table'[Değer] )

“Power BI” değerini gösteriyor sadece ve 1 diyor! Yani DAX için ne büyük küçük harf farketti ne de boşluk karakteri! Ve “Power BI” değerini gösterdi, çünkü ilk sırada bu değeri girdik ve onu gördü! Oluşan tabloya bakarsak da aynı değeri görürüz! Tablonun en altında da “sütunda 1 tekil değer var” diyor!

Peki, PowerQuery tarafında geçelim ve “View” tabından “Column Profile” ve-veya “Column Distribution” opsiyonlarını işaretleyelim!

3 distinct (farklı) değer var diyor ve üçü de unique (tekil) diyor! Yani hem büyük-küçük harfi dikkate alıyor, hem de en son girdiğimiz değerin en sağındaki “boşluk” karakterini! (Ara not: 100% çıkacak PL-300 sorusudur: Column profile, Column distribution ne işe yarar!)

Peki bu hatayı o zaman nasıl çözeceğiz: PowerQuery tarafında bu sütun değerlerini tekilleştirmemiz lazım! Birkaç tane step var bize lazım olabilecek

  • Büyük-küçük harf duyarlılığını bertaraf etmek için tüm değerleri “lowercase” veya UPPERCASE yapabiliriz!
  • Boşluk gibi karakterleri oradan kaldırmak için Trim kullanabiliriz! Değerin başında veya sonunda boşluk karakteri varsa onları uçurur!
  • Bir başka lazım olabilecek step de “Clean” olabilir duruma göre. Yazdırılamayan, gözle görmediğimiz, “non-printable”, “invisible” diyebileceğimiz karakterler vardır! “Clean” step’i de bu tür karakterler varsa onları uçurur!
  • Tüm bu lazım olabilecek step’leri yaptıktan sonra da “Remove Duplicates” diyerek sütunda tekil değer elde edebiliriz!

Sorun çözüldü! Konuyla ilgili benzer başka bir yazıya da göz atmak isterseniz buradan! Tekillik konusunu değil ama, Row Label ve Key Column’u anlatıyorum!

Bir hatırlatma da Kasım’da başlayacak olan açık sınıf eğitimleri için yapayım müsadenizle! Yaklaşık 2 yıldır kurumsal eğitimler haricinde canlı eğitim yapmıyordum. Bu uzuuun sürenin ardından ilk kez T-SQL, Python ve Microsoft Fabric eğitimlerini de içeren hem Uçtan Uca Power BI hem de İleri Seviye Power BI eğitimlerini içeren bir seri yapıyorum. Ön kayıtlar devam ediyor, göz atmak isterseniz buradan!

Bloga sosyal medya hesabınızla hızlı üye olmak için ilgili ikonu tıklayabilirsiniz.

Yorum yapın

PowerBI İstanbul

Microsoft Power BI, Microsoft Fabric, veriyle ilgili Azure servisleri, veri analitiği, iş zekası, veri modelleme ve veri görselleştirme üzerine Türkçe bilgi içeriğine katkı sağlamayı amaçlar.

Intellect BI blog sitesidir. Intellect BI & PowerBI İstanbul, Microsoft Data Analytics ve Power BI Partneri 'dir.

Blog Yazılarına Üye Olun

Blog yazıları, eğitim ve meetup duyuruları posta kutunuza gelsin!

10,8K Üye