Blog
Power BI Project (PBIP) Nedir? PBIX’ten PBIP’ye Geçiş, TMDL, PBIR ve Git Rehberi
- 03 Ekim 2026
- Yayınlayan: svahabi
- Kategori: Blog Yazıları
Power BI ile çalışan ekiplerin yıllardır yaşadığı ortak bir sorun var: Rapor tek bir .pbix dosyasında yaşıyor ve bu dosya ikili (binary) formatta. İki kişi aynı rapora dokunduğunda kimin neyi değiştirdiğini görmek, değişiklikleri birleştirmek ya da bir önceki sürüme güvenle dönmek neredeyse imkânsız. Sonuç çoğu zaman “Satis_final_v3_SON.pbix” gibi dosya adlarıyla dolu klasörler oluyor.
Power BI Project (PBIP) formatı bu sorunu kökünden çözmek için geliştirildi ve artık genel kullanıma (GA) açık. Bu yazıda PBIP’nin ne olduğunu, .pbix’ten farkını, klasör yapısını, TMDL ve PBIR formatlarını ve ekibinizde nereden başlamanız gerektiğini adım adım ele alıyoruz.
.pbix Dosyasının Ekip Çalışmasındaki Sınırları
.pbix, tek başına çalışan bir analist için son derece pratik bir format. Ancak rapor bir ekibin ortak ürünü hâline geldiğinde zayıf noktaları ortaya çıkıyor:
- Sürüm kontrolü yüzeysel kalır. Git gibi araçlar ikili bir dosyada yalnızca “dosya değişti” bilgisini verebilir; hangi ölçünün, hangi görselin değiştiğini göstermez.
- Birleştirme (merge) yapılamaz. İki geliştirici aynı dosyada paralel çalıştığında birinin emeği genellikle elle yeniden yapılır.
- Yeniden kullanım zordur. Bir rapordaki sayfayı, görseli ya da DAX ölçüsünü başka bir projeye taşımak kopyala-yapıştır işçiliği gerektirir.
- Otomasyon kısıtlıdır. Modelin içeriğini okumak için Power BI Desktop’ı açmanız ya da XMLA uç noktasına bağlanmanız gerekir. Bu durum script’leri, kalite kontrol araçlarını ve yapay zekâ destekli iş akışlarını zorlaştırır.
Power BI Project (PBIP) Nedir?
PBIP, bir Power BI raporunu tek bir paket yerine okunabilir metin dosyalarından oluşan bir klasör olarak kaydeder. Power BI Desktop’ta raporun yetenekleri değişmez; aynı görselleri, aynı modeli, aynı DAX’ı kullanırsınız. Değişen tek şey, raporun diskte nasıl saklandığıdır.
Bir PBIP projesi temelde üç parçadan oluşur:
- .pbip dosyası: Projeyi Desktop’ta açtığınız giriş noktası.
- .Report klasörü: Sayfalar, görseller ve rapor ayarları.
- .SemanticModel klasörü: Tablolar, ilişkiler, ölçüler ve Power Query sorguları.

PBIX ve PBIP Karşılaştırması
| Özellik | .pbix | .pbip |
|---|---|---|
| Saklama biçimi | Tek ikili dosya | Metin dosyalarından oluşan klasör |
| Git ile takip | Dosya düzeyinde | Satır düzeyinde (diff, merge) |
| Anlamsal model | Paketin içine gömülü | TMDL dosyaları |
| Rapor tanımı | Paketin içine gömülü | PBIR (JSON) dosyaları |
| Veri | Dosyayla birlikte taşınır | Yerel önbellekte, Git’e dahil edilmez |
| Otomasyon | Sınırlı | Script, linter ve yapay zekâ araçlarıyla uyumlu |
PBIP Klasör Yapısı: Hangi Dosya Ne İşe Yarar?

.pbip giriş dosyası
.pbip dosyası küçük bir JSON dosyasıdır. İçindeki artifacts dizisi, Power BI Desktop’a hangi rapor klasörünü açacağını göreli bir yol ile söyler. Yollarda Windows’ta bile ileri eğik çizgi (/) kullanılır. Otomatik kurtarma gibi bazı ayarlar da (enableAutoRecovery) bu dosyada yer alır.
Kalın (thick) ve ince (thin) raporlar
Rapor klasöründeki definition.pbir dosyası, raporun hangi anlamsal modele bağlı olduğunu tanımlar. Burada iki seçenek vardır:
- Kalın rapor (
byPath): Rapor, aynı proje içindeki yerel modele göreli yolla bağlanır. Desktop hem raporu hem modeli düzenlenebilir şekilde açar. - İnce rapor (
byConnection): Rapor, Power BI Service veya Fabric’te yayımlanmış bir modele bağlanır. Yalnızca rapor katmanı düzenlenir; model tek ve paylaşılan bir kaynak olarak bulutta kalır.

Veri neden Git’e gitmiyor?
PBIP’nin en çok gözden kaçan avantajlarından biri veri izolasyonudur. Modelin yüklediği asıl veri, makineye özel .pbi/cache.abf dosyasında tutulur ve Desktop’un otomatik oluşturduğu .gitignore sayesinde depoya gönderilmez. Böylece depoda yalnızca modelin tanımı (şema, ölçüler, sorgular) bulunur. Projeyi klonlayan bir ekip arkadaşı veriyi kendi yetkileriyle yeniden yükler; hassas veriler yanlışlıkla paylaşılmamış olur.
.pbix Dosyasını PBIP’ye Dönüştürme
Dönüştürme işlemi Power BI Desktop içinden birkaç tıkla yapılır:
- Raporu Power BI Desktop’ta açın.
- Dosya → Farklı Kaydet menüsüne gidin.
- Dosya türü olarak Power BI proje dosyaları (*.pbip) seçeneğini işaretleyin ve kaydedin.
Desktop; .pbip dosyasını, rapor ve model klasörlerini ve varsayılan bir .gitignore dosyasını sizin için oluşturur.
İpucu: Projeyi OneDrive’ın derin alt klasörleri gibi uzun yollara kaydetmekten kaçının. PBIP çok sayıda iç içe dosya ürettiği için Windows’un yol uzunluğu sınırına takılabilirsiniz. C:\Projeler\Satis gibi kısa bir kök klasör işinizi kolaylaştırır.
TMDL: Anlamsal Model Artık Düz Metin
Eskiden model tanımı, tek ve büyük bir JSON dosyasında (model.bim, TMSL formatı) tutuluyordu. Küçük bir değişiklik bile bu dev dosyada çakışmalara yol açabiliyordu. TMDL (Tabular Model Definition Language) ise modeli definition/ klasörü altında mantıklı parçalara böler:
- Yüklenen her tablo kendi dosyasında yer alır (ör.
tables/Satislar.tmdl). Tablonun sütunları, ölçüleri ve Power Query bölümleri bu dosyadadır. - Yüklenmeyen sorgular, parametreler ve Power Query M fonksiyonları
expressions.tmdldosyasında toplanır. - İlişkiler
relationships.tmdl, dil/çeviri ayarlarıcultures/klasöründe tutulur. - DAX kullanıcı tanımlı fonksiyonları (UDF)
functions.tmdldosyasında saklanır.
Bu yapının iki büyük faydası var: Birincisi, iki geliştirici farklı tablolar üzerinde çalıştığında birleştirme çakışmaları büyük ölçüde azalır. İkincisi, TMDL okunabilir olduğu için VS Code gibi editörler, kalite kontrol araçları ve yapay zekâ asistanları model üzerinde doğrudan çalışabilir.

PBIR: Rapor Katmanı JSON Dosyalarında
Rapor tarafında da benzer bir dönüşüm yaşandı. Eskiden tüm rapor tek bir report.json dosyasındaydı. Yeni PBIR formatında rapor, definition/ klasörü altında parçalara ayrılır:
report.jsonveversion.jsonrapor düzeyindeki ayarları taşır.pages/klasöründe her sayfa, mantıksal kimliğiyle adlandırılmış ayrı bir klasördür. Sayfanın ekranda görünen adıpage.jsoniçindedir.- Sayfaların sırası ve açılışta gösterilecek sayfa (
activePageName)pages.jsondosyasında tutulur. - Her görsel, ilgili sayfa klasörünün içinde kendi JSON dosyasına sahiptir.
Bu sayede bir sayfayı ya da görseli raporlar arasında kopyalamak, onlarca rapordaki bir ayarı script ile toplu güncellemek veya erişilebilirlik ve kurumsal standart kontrollerini otomatikleştirmek mümkün hâle gelir.
Güvenlik notu: Rapor filtrelerine elle yazılmış değerler (ör. müşteri adları ya da kişisel bilgiler) PBIR dosyalarında düz metin olarak görünür. Depo erişim yetkilerini buna göre planlayın ve hassas değerleri filtrelere sabit olarak yazmaktan kaçının.
Nereden Başlamalı?
Tüm raporlarınızı bir gecede PBIP’ye taşımanız gerekmiyor. Pratik bir başlangıç planı şöyle olabilir:
- Aktif geliştirilen raporları seçin. Sahibi belli olan, sık güncellenen ve birden fazla kişinin dokunduğu raporlar ilk adaydır.
- Bir Git deposu açın. Azure DevOps, GitHub veya kurumunuzun kullandığı başka bir platform olabilir.
- Küçük adımlarla ilerleyin. Önce bir raporu dönüştürün, ekibin commit, branch ve pull request alışkanlığı kazanmasını sağlayın; ardından kapsamı genişletin.
- Otomasyonu sonra ekleyin. Ekip yapıya alıştıktan sonra kalite kontrol script’leri ve CI/CD süreçleri devreye alınabilir.
Sonuç: Power BI Raporlarına Yazılım Gibi Davranın
PBIP, TMDL ve PBIR birlikte düşünüldüğünde, Power BI raporlarının artık birer “dosya” değil, yaşam döngüsü yönetilmesi gereken yazılım ürünleri olduğunu gösteriyor. Değişikliklerin şeffaf şekilde izlenmesi, ekip içinde güvenli iş birliği, otomasyon ve ortak sahiplik bu yaklaşımın doğal sonuçları. Power BI ile kurumsal ölçekte çalışıyorsanız PBIP’ye geçiş, ekibinizin olgunluğunu bir üst seviyeye taşıyacak en somut adımlardan biri.
Power BI, DAX ve Microsoft Fabric konularında uzmanlaşmak isterseniz İ-Akademi’nin Power BI eğitimlerine göz atabilirsiniz.
Sıkça Sorulan Sorular
PBIP dosyası nedir?
PBIP, Power BI raporunu ve anlamsal modelini tek bir ikili dosya yerine okunabilir metin dosyalarından oluşan bir klasör olarak saklayan proje formatıdır.
PBIX ile PBIP arasındaki fark nedir?
İşlev aynıdır; fark saklama biçimindedir. .pbix tek bir ikili pakettir, .pbip ise rapor ve modeli ayrı metin dosyalarında tutar. Bu da satır bazında sürüm kontrolünü mümkün kılar.
PBIP Git ile kullanılabilir mi?
Evet. PBIP’nin çıkış amacı tam olarak budur. Değişiklikler satır satır görülebilir, branch’ler arasında birleştirilebilir ve geçmiş sürümlere güvenle dönülebilir.
.pbix dosyamı PBIP’ye nasıl dönüştürürüm?
Power BI Desktop’ta Dosya → Farklı Kaydet menüsünden “Power BI proje dosyaları (*.pbip)” türünü seçmeniz yeterlidir.
TMDL ve PBIR nedir?
TMDL, anlamsal modelin düz metin tanım dilidir. PBIR ise rapor sayfalarını ve görsellerini ayrı JSON dosyalarında tutan rapor formatıdır.