0 212 951 05 08   bilgi@ofisdata.com

Yazılarımız

OfisData

POWER QUERY’DE KAYNAK YÖNETİMİ: DOSYA, KLASÖR VE VERİTABANI BAĞLANTILARI

Power Query ile veri hazırlamak çoğu ekipte “ilk 10 dakikada harika sonuç” hissi verir. Ama iş üretime geldiğinde asıl sınav, kaynakların yönetiminde başlar: dosya yolu değişir, klasör yapısı bozulur, veritabanı şifresi döner, gateway ayarı unutulur ve rapor yenilemesi bir sabah sessizce patlar.

Bu makalede Power Query’de dosya, klasör ve veritabanı bağlantılarını kurumsal ölçekte yönetmenin pratik yöntemlerini ele alacağız. Amaç; tek seferlik çalışan bir sorgu değil, ekipçe sürdürülebilir, taşınabilir ve güvenli bir veri hazırlama akışı kurmak.

İster Power BI içinde çalışın ister Excel Power Query kullanın, kaynak yönetimi aynı temel prensiplere dayanır: bağlantıyı soyutlamak, kimlik doğrulamayı doğru yapmak, yenileme stratejisini planlamak ve performansı erken aşamada düşünmek.

Kurumsal raporlama ekibinin Power Query ile dosya, klasör ve SQL kaynaklarını tek akışta birleştirmesi

Power Query’de kaynak yönetimi neden kritik bir konudur?

Power Query, veri kaynağını “sorgunun bir parçası” olarak saklar. Bu, hızlı prototipleme için mükemmeldir; ancak kurumsal hayatta bağlantı ayrıntıları sık değişir. Bu değişimler yönetilmezse raporlar kırılır, yenilemeler aksar ve veri güvenliği riskleri oluşur.

Kaynak yönetimini kritik yapan başlıca sebepler şunlardır:

  • Dosya yolları ve klasör isimleri sık değişir (özellikle paylaşımlı sürücülerde).
  • Veritabanı erişimleri kullanıcıya bağlı kalırsa yenileme servis tarafında çalışmaz.
  • Kimlik doğrulama türü (Windows/Basic/OAuth) yanlış seçilirse güvenlik açığı oluşabilir.
  • Yanlış tasarlanan sorgular, yenileme süresini katlar ve gateway üzerinde yük yaratır.

Özellikle birden fazla ortam (Dev/Test/Prod) kullanan ekiplerde, bağlantının sabit kodlanması yerine parametrik ve taşınabilir bir yaklaşım şarttır.

Power BI Service yenilemelerinde en sık kırılan noktalar

Power BI Desktop’ta çalışan bir dosya bağlantısı, servis yenilemesinde başarısız olabilir. Bunun nedeni genellikle yerel dosya yolu, yanlış gateway seçimi veya kullanıcı bazlı kimlik doğrulamasıdır. Bu nedenle bağlantı tasarımı, “benim bilgisayarımda çalışıyor” seviyesinden çıkarılmalıdır.

Dosya kaynakları: tek dosyadan veri almak (Excel/CSV/JSON)

Tek dosya kaynakları en hızlı başlayan senaryodur. Ancak kurumsal kullanımda iki risk hemen ortaya çıkar: dosyanın taşınması ve dosya formatının değişmesi. Bu nedenle dosya bağlantısını kurarken mümkün olduğunca değişkenleri izole etmek gerekir.

Dosya yolu sabitlemek yerine parametre kullanmak

Power Query’de dosya yolunu doğrudan sorguya yazmak, taşınabilirliği azaltır. Bunun yerine parametre veya ayrı bir “ayar sorgusu” kullanmak daha doğrudur. Böylece aynı raporu farklı ortamda çalıştırmak için sadece parametreyi değiştirirsiniz.

let
    DosyaYolu = "C:\Data\Satis\satis_2026_01.xlsx",
    Kaynak = Excel.Workbook(File.Contents(DosyaYolu), null, true),
    Sayfa = Kaynak{[Item="Satis",Kind="Sheet"]}[Data],
    Basliklar = Table.PromoteHeaders(Sayfa, [PromoteAllScalars=true])
in
    Basliklar

Bu örnek temel seviyede görünse de, dosya yolunu bir parametreye taşıdığınızda raporun “ortama bağlı” kırılganlığı ciddi biçimde azalır. Ayrıca ekip içinde standardizasyon sağlar.

Dosya formatı değişikliklerine dayanıklı sorgu tasarımı

Excel dosyalarında kolon adları değişebilir veya yeni kolonlar eklenebilir. Bu tip durumlarda tüm kolonları tek tek seçmek yerine, iş kuralı gerektirmeyen alanlarda daha esnek adımlar tercih edilebilir. Örneğin, gereksiz kolonları kaldırmak yerine gerekli kolonları güvenli şekilde seçmek ve yoksa hata üretmek daha kontrollü bir yaklaşımdır.

Klasör kaynakları: çoklu dosyayı birleştirme ve otomasyon

Klasör kaynakları, Power Query’nin kurumsal işlerde en güçlü olduğu yerlerden biridir. Her ay gelen onlarca CSV/Excel dosyasını tek bir akışta birleştirebilir, yeni dosyalar geldiğinde otomatik olarak yenileme ile içeri alabilirsiniz.

Klasör içindeki aylık satış dosyalarının Power Query ile tek tabloda birleştirilmesi ve filtrelenmesi akışı

Folder.Files ile temel yaklaşım

Folder.Files fonksiyonu, bir klasördeki tüm dosyaları listeleyerek filtreleme ve birleştirme için zemin hazırlar. Burada önemli olan, doğru filtreleme ve tutarlı şema yönetimidir. Aksi halde klasöre yanlışlıkla eklenen bir dosya bile yenilemeyi bozabilir.

let
    KlasorYolu = "C:\Data\Satis\Aylik",
    Dosyalar = Folder.Files(KlasorYolu),
    SadeceCSV = Table.SelectRows(Dosyalar, each Text.EndsWith([Extension], ".csv")),
    SadeceGerekli = Table.SelectColumns(SadeceCSV, {"Name","Content"}),
    Icerik = Table.AddColumn(SadeceGerekli, "Tablo", each Csv.Document([Content],[Delimiter=";", Encoding=65001, QuoteStyle=QuoteStyle.Csv])),
    Genislet = Table.ExpandTableColumn(Icerik, "Tablo", {"Column1","Column2","Column3"}, {"Tarih","Urun","Tutar"})
in
    Genislet

Bu akış, birleştirme mantığını gösterir. Gerçek hayatta kolon isimleri, delimiter ve encoding gibi detaylar kurumsal dosyalarda değişken olabilir. Bu yüzden dönüşüm adımlarını “örnek dosya” mantığıyla yönetmek ve hataya dayanıklı hale getirmek önemlidir.

Klasör birleştirmede performans ve bakım maliyeti

Klasör birleştirme, dosya sayısı arttıkça performans baskısı yaratır. Özellikle yüzlerce dosyada, her yenilemede tüm dosyaları tekrar okumak maliyetlidir. Burada iki pratik yaklaşım öne çıkar:

  • Arşiv klasörü kullanmak ve sadece yeni dönem dosyalarını okumak
  • Power BI Dataflow veya staging katmanı ile “ön işleme” yapmak

Bir diğer kritik nokta da, klasör yapısının değişmesi durumunda raporun kırılmaması için klasör yolunun parametrelenmesi ve sürüm kontrolünde izlenebilir hale getirilmesidir.

Veritabanı bağlantıları: SQL Server, PostgreSQL, Oracle ve daha fazlası

Veritabanı bağlantıları, en güvenilir kaynak gibi görünse de kurumsal ölçekte en çok yanlış yapılan alanlardan biridir. Çünkü Power Query, veritabanı tarafındaki performans dinamiklerini doğrudan etkileyebilir.

Doğru bağlantı türü ve kimlik doğrulama seçimi

SQL Server gibi sistemlerde Windows Authentication çoğu kurum için standarttır. Ancak Power BI Service yenilemelerinde gateway üzerinden çalışacağı için, hangi hesabın kullanıldığı kritik hale gelir. Kullanıcı hesabı yerine servis hesabı kullanmak, yenileme sürekliliği açısından daha sağlıklıdır.

Ayrıca Basic Authentication veya kişisel token kullanımı, erişim yönetimini zorlaştırabilir. Bu tip durumlarda kimlik doğrulama modeli BT güvenlik politikalarıyla uyumlu olmalıdır.

Query folding: performansın gizli kahramanı

Power Query’nin en önemli özelliklerinden biri, uygun adımlarda dönüşümleri veritabanına itebilmesidir. Buna query folding denir. Folding çalıştığında filtreleme, join ve bazı dönüşümler SQL tarafında yapılır; böylece Power BI tarafına daha az veri taşınır.

Folding’i bozan adımlar (örneğin bazı custom column senaryoları veya erken yapılan tür dönüşümleri) yenileme süresini dramatik şekilde artırabilir. Bu nedenle dönüşüm adımlarını planlamak bir performans mühendisliği konusu haline gelir.

Ortamlar arası taşınabilirlik: Dev/Test/Prod için bağlantı tasarımı

Kurumsal ekiplerde aynı raporun birden fazla ortamda çalışması gerekir. En sık hata, veritabanı sunucu adının veya dosya yolunun sorguya sabit yazılmasıdır. Bu durum, deployment sırasında manuel müdahaleyi zorunlu kılar.

Parametre stratejisi ve merkezi ayar sorgusu

Power Query’de parametreler kullanılabilir; ancak büyük raporlarda parametrelerin yönetimi dağınık hale gelebilir. Bu nedenle pratik bir yaklaşım, tek bir “Ayarlar” sorgusu içinde tüm bağlantı parametrelerini toplamak ve diğer sorguların buradan beslenmesini sağlamaktır.

Bu tasarım, bağlantı yönetimini bir noktada topladığı için bakım maliyetini düşürür ve sürüm kontrolünde değişiklikleri daha görünür kılar.

Yenileme, gateway ve güvenlik: üretime geçerken kontrol listesi

Power Query tarafında her şey doğru görünse bile üretimde yenileme başarısız olabilir. Bunun nedeni genellikle gateway, veri kaynağı izinleri veya kimlik doğrulama türüdür. Üretime geçmeden önce basit bir kontrol listesiyle ilerlemek ciddi zaman kazandırır.

Gateway kurulumunda kritik noktalar

On-premises kaynaklar (dosya sunucusu, SQL Server, Oracle vb.) için gateway gerekir. Gateway’in hangi sunucuda çalıştığı, hangi hesabın servis olarak tanımlandığı ve veri kaynağı tanımlarının doğru yapıldığı mutlaka doğrulanmalıdır.

Ek olarak, aynı gateway üzerinde çok sayıda dataset yenilemesi varsa zamanlama çakışmaları oluşabilir. Bu durumda yenileme pencereleri planlanmalı ve gerektiğinde gateway ölçeklendirilmelidir.

Veri kaynağı izinleri ve “kişiye bağlı” kırılganlık

Bir raporun yenilemesinin tek bir çalışana bağlı kalması kurumsal risk yaratır. Kullanıcı ayrıldığında veya şifresi değiştiğinde yenilemeler durur. Bu yüzden servis hesapları, rol bazlı erişim ve merkezi kimlik yönetimi gibi pratikler uygulanmalıdır.

Power Query’de hata yönetimi ve izlenebilirlik

Kaynak yönetimi sadece bağlantı kurmak değildir; hata durumlarını öngörmek ve yönetmektir. Dosya bulunamadığında, veritabanı erişimi kesildiğinde veya şema değiştiğinde sorgunun nasıl davranacağı önemlidir.

Try...Otherwise ile kontrollü hata yakalama

Power Query M dili, hataları yakalamak için try...otherwise yapısını destekler. Bu, özellikle klasör birleştirme senaryolarında tek bir bozuk dosyanın tüm yenilemeyi durdurmasını engellemek için kullanışlıdır.

Bu yaklaşımı doğru kurgulamak, “sessizce yanlış veri” üretme riskini de azaltır. Çünkü hata yakalarken aynı zamanda loglama veya kontrol tablosu üretmek gerekebilir.

En iyi pratikler: sürdürülebilir kaynak yönetimi için 12 öneri

Makaledeki tüm bölümleri tek bir çerçevede toplamak için, kurumsal ekiplerde işe yarayan önerileri bir araya getirelim:

  1. Dosya ve klasör yollarını sabitlemeyin; parametreleyin.
  2. Tek bir “Ayarlar” sorgusu ile bağlantı noktalarını merkezileştirin.
  3. Klasör birleştirmede gereksiz dosyaları erken filtreleyin.
  4. Encoding ve delimiter gibi dosya ayrıntılarını standardize edin.
  5. Veritabanında query folding’i koruyacak adım sırası kullanın.
  6. Servis yenilemeleri için kullanıcı hesabı yerine servis hesabı tercih edin.
  7. Gateway’i sadece kurmakla kalmayın; kapasite ve zamanlamayı yönetin.
  8. Şema değişikliklerine dayanıklı dönüşüm adımları tasarlayın.
  9. Hata yönetimini planlayın; tek bir bozuk dosyanın süreci durdurmasına izin vermeyin.
  10. Veri kaynağı izinlerini rol bazlı yönetimle düzenleyin.
  11. Bağlantı ve parametre değişikliklerini sürüm kontrolünde görünür kılın.
  12. Raporu “üretimde yenilenebilir” kriteriyle test edin.

Power Query’de kaynak yönetimini daha ileri taşımak

Dosya, klasör ve veritabanı bağlantıları; Power Query’nin en temel yetenekleri gibi görünse de, kurumsal ölçekte veri platformunun omurgasına dönüşür. Bu yüzden bağlantı tasarımını bir “teknik detay” değil, doğrudan operasyonel süreklilik konusu olarak ele almak gerekir.

Bu yaklaşımı ekip standardı haline getirmek için, Power Query’nin yanı sıra veri modeli, Power Pivot ve servis tarafı yenileme pratiklerini birlikte ele almak en doğru yoldur. Eğer ekibinizde bu süreci standartlaştırmak istiyorsanız Power Query & Power Pivot eğitimi içeriği, kurumsal senaryolara göre yapılandırılmış bir yol haritası sunar.

Power BI Service yenileme akışında gateway, kimlik doğrulama ve veri kaynağı ayarlarının kontrol edilmesi

 OFİS DATA