Sütunları Seçmek ya da Sütunları Uçurmak !

Her Power BI modeline başlarken genelde veri tarafında view'larla veya Excel dosyalarıyla çalışıyoruz. Kullanacağımız veri seti nihai halini alana kadar da bazen kullandığımız bu setlerdeki sütunları değiştiriyoruz, ekliyoruz, çıkartıyoruz.

Power Query için eğitimlerde sarfettiğim standart best practice cümlelerinden biri şu : Sadece kullanacağınız sütunları alın, diğer sütunları -belki lazım olur diye bile olsa- almayın!

Peki lazım olan sütunları alırken seçme yöntemimiz ne olacak? İki yöntem var: Table.SelectColumns veya Table.RemoveColumns. Her ikisini de Power Query tarafında arayüz üzerinden yapmak gayet kolay.

Bağlantı yaptığımız Satışlar tablosunda bir sürü sütun var, bize lazım olanlarsa Tarih, Müşteri ID, Ürün ID ve SatışTutarTL sütunları diyelim.

Kontrol tuşuna basılı tutarak  bize lazım olmayan sütunları  tek tek seçebilir ve sonra sağ tık açılan menüden  Remove Columns  diyebiliriz.

Bunu yaptığımızda seçtiğimiz sütunların tamamı uçuyor. Seçtiğimiz sütunların her biri ilgili stepin formülünde  tek tek refere edilmiş .

Bunun anlamı dolayısıyla şu : Sildiğimiz sütunlardan bazıları veritabanından (ya da nereden okuyorsak) uçarsa bu stepte hata mesajı alacağız! Veri kaynağından "BelgeTip" sütununun adını değiştiriyorum, sorguyu tazelediğimde hata mesajı veriyor. Silmeye çalıştığı "BelgeTip" sütununu bulamıyor çünkü.

Elbette hemen formülü modifiye edip "BelgeTip" kısmını silebiliriz! Bu sefer de başka bir durum ortaya çıkabilir : Tabloda daha önce olmayan  yeni eklenmiş veya ismi değiştirilmiş sütunlar varsa  bunlar da sorguya gelecektir!

** Başıma geldiği için bu örneği verdim. Türkçe'ye duyarlı bir arkadaş arka tarafta sütun adını değiştirdiğinde sütunu silmek üzere refere ettiğimizden önce hata mesajı alıyoruz, sonra da silmek üzere refere etmediğimiz tüm sütunlar karşımıza çıkıyor!

Bu yüzden  Table.RemoveColumns  yerine  Table.SelectColumns  'u kullanmak daha mantıklı bir seçim!

Bunun için kontrol tuşuna basılı tutarak bize lazım olan sütunları tek tek seçebilir ve sağ tık açılan menüden  Remove Other Columns  , yani diğer sütunları uçur diyebiliriz.


** Lazım olan sütunlar bu örnekte olduğu gibi ardışıksa ilk lazım olan sütunu seçtikten sonra SHIFT tuşuna basılı tutup son lazım olan sütunu da tıklayabiliriz seçim yapmak için. Aynen diğer Microsoft uygulamalarında olduğu gibi.


Daha az riskli bir yöntem! Seçtiğimiz sütunların ismi değişmediği sürece çalışır, okuğumuz veri kaynağına eklenen / ismi değişen diğer sütunlardan etkilenmez.

Lazım olan sütunlar bazen bu şekilde ardışık olmuyor ve tabloda onlarca sütun oluyor. Bu durumda aynı seçme işlemini -gene arayüzden- Home tabından  Choose Columns  ile de yapabiliriz.


Bu en pratik olanı, özellikle okuduğumuz tabloda çok sayıda sütun varsa!

Her iki fonksiyonun da bir opsiyonel parametresi daha var: Eğer refere ettiğimiz sütun tabloda yoksa hata mesajı vermeden çalışmasını sağlamak mümkün:  MissingField.Ignore  veya  MissingField.UseNull  ile.


Tablolardan sütunları seçerken kullanılacak en uygun yöntem SelectColumns versiyonu, opsiyonel parametre RemoveColumns 'u seçerseniz mantıklı olabilir.

Son cümle gene aynı öneriyi tekrarlayacağım, modellerinizde size sadece ve sadece lazım olacak sütunları alın, ileride lazım olabilir belki dediğiniz sütunları ileride alın, şimdi değil.