Ana içeriğe geç
Kesit Power BI
Orta · Yönetim ve Güvenlik

Yerel geliştirme: .pbix’ten .pbip’e, DAX sorgu görünümü, TMDL ve Git

Bilgisayarında düzenli çalışmak: .pbix ile .pbip farkı, klasör yapısı, DAX sorgu görünümünde ölçüyü denemek, TMDL görünümü, VS Code ve Git ile ilk akış, harici araçlar; kendi Desktop’unda adım adım.

Uygulamada aç, 8 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

“Rapor_son_son2_GERCEK.pbix”. Tanıdık mı? Power BI Desktop ücretsiz ve Windows üzerinde çalışır; rapor geliştirmenin büyük kısmı burada, kendi bilgisayarında olur. Bu ders, ekibe girmeden önce tek başına bile olsan düzenli yerel çalışma alışkanlığını kurar. Dallar, çekme isteği ve dağıtım gibi ekip süreçleri “Yaşam döngüsü” dersinde.

.pbix mi, .pbip mi?

.pbix.pbip (Power BI projesi)
BiçimTek ikili dosyaMetin dosyalarından oluşan klasör
Fark görmeYokSatır satır, Git ile
VeriDosyanın içindeYerel önbellekte (.pbi/cache.abf), depoya girmez
Dış düzenleyiciYokVS Code ile TMDL ve PBIR
Duyarlılık etiketiVarDesteklenmez
OneDrive/SharePoint’e doğrudanVarÖnerilmez; eşitleme sorunu çıkarır

Dönüşüm yalnız Desktop’ta Dosya → Farklı kaydet ile yapılır, otomatikleştirilemez. Klasör şöyle olur:

AnadoluMarket/
  AnadoluMarket.pbip               // kısayol, isteğe bağlı
  AnadoluMarket.SemanticModel/
    definition/                    // TMDL: tablolar, ölçüler, ilişkiler
  AnadoluMarket.Report/
    definition.pbir                // modeli gösterir
    definition/                    // PBIR: sayfa, görsel, yer işareti
  .gitignore                       // cache.abf ve localSettings.json dışarıda

Windows’un 260 karakter yol sınırına takılmamak için kısa kök klasör seç (C:\bi\). Dosyalar BOM’suz UTF-8, satır sonu CRLF’tir; Git’te autocrlf ayarını ekipçe aynı yap. Elle değişiklik desteklenmeyen dosyalar var (report.json, diyagram düzeni). Yayımdan önce bunlara dokunma.

DAX sorgu görünümü: ölçüyü yazmadan dene

Desktop’ta sol şeritteki DAX sorgu görünümü, modele EVALUATE sorgusu gönderir. Ölçüyü modele eklemeden önce DEFINE MEASURE ile yerel olarak yazıp sınayabilirsin. Doğruysa görünümdeki model güncelleme komutuyla modele eklersin. Bu uygulamadaki DAX Playground aynı mantıkla çalışır:

DEFINE
    MEASURE Satislar[Deneme Marj] = DIVIDE([Brüt Kâr], [Net Satış])
EVALUATE
SUMMARIZECOLUMNS(Kategoriler[Kategori], "Net", [Net Satış], "Marj", [Deneme Marj])

Alışkanlık: yeni ölçü yazmadan önce kenar durumları sor. Sıfır bölme var mı, boş kategoride ne dönüyor, toplam satırı anlamlı mı? Sorgu dosyalarını projede saklarsan aynı testi sonra da çalıştırırsın.

TMDL görünümü

Modeli metin olarak düzenleyen görünümdür. Elli ölçünün biçimini tek tek tıklamak yerine betikle değiştirirsin, görüntüleme klasörü toplu verilir. Bir ölçü şöyle görünür (“Yaşam döngüsü” dersinde tam örnek var):

measure 'Net Satış' = CALCULATE([Toplam Satış], Satislar[Durum] <> "İptal")
    formatString: #,0 ₺
    displayFolder: Temel

Desktop dış değişikliği algılar ve uygulamak için sorar. Açık değişiklik varken dışarıdan düzenleme yaparsan bazı değişiklikler kaybolabilir: önce Desktop’ta kaydet.

Git ile ilk yerel akış

  1. Projeyi .pbip olarak kaydet, klasörde git init.
  2. Oluşan .gitignore’da cache.abf ve localSettings.json olduğunu kontrol et.
  3. İlk işleme: git add ., git commit -m "İlk sürüm".
  4. Bir ölçüyü değiştir, Desktop’ta kaydet, git diff ile tek satırlık farkı gör.
  5. Beğenmediysen git restore ile geri dön; Desktop’ı yeniden aç.

Bu kadarı bile “dün neyi bozdum?” sorusunu çözer. Uzak depo, dal ve çekme isteği ekip konusudur.

Harici araçlar

AraçNe için?Bağlantı
DAX StudioSorgu planı, sunucu zamanlamasıDesktop’ın yerel modeli
Tabular EditorToplu ölçü, hesaplama grubu, Best Practice AnalyzerYerel model ya da dosya
VS CodeTMDL, PBIR, GitProje klasörü

Bu araçlar Desktop’ın çalıştırdığı yerel Analysis Services örneğine bağlanır. Üretimde kuruluşunun izin verdiği sürümleri kullan. Performans ölçümünde Desktop sonucu Service ile aynı olmaz: veri hacmi, eşzamanlılık, kapasite ve RLS farklıdır.

Yayımla mı, Git mi?

Desktop’ta Yayımla geçici bir .pbix ile yerel önbelleği de gönderir. Fabric Git tümleştirmesi ve REST API yalnız meta veriyi taşır; veri için yenileme gerekir. Tek başına çalışırken Yayımla yeterlidir; ekipte düzenli dağıtıma geç. PBIP’in sınırları: duyarlılık etiketi yok, Report Server sürümünde yok, AAS veya SSAS’a dağıtılamaz.

Sürümleri takip etPBIP ve PBIR hızlı değişiyor. Gelişmiş rapor biçimi PBIR’ın durumu ve varsayılan olup olmadığı için Learn’deki güncel sayfaya bak; bu derste kesin tarih vermiyoruz. Eski PBIR-legacy biçimi belgesiz tek report.json kullanır.
Kendi ortamında denePower BI Desktop’u (Windows) Microsoft Store’dan ya da İndirme Merkezi’nden ücretsiz kur (“Power BI Desktop kurulumu” dersi). Hesap gerekmeden çalışır. Veri setleri sayfasından Anadolu Market CSV’lerini indir, ilk rapor dersindeki modeli kur, .pbip olarak kaydet. Yukarıdaki Git adımlarını dene. Mac’te Desktop çalışmaz; alıştırmalar tarayıcıda çözülür.
Alıştırmalara geç (8)