Power BI SQL Server’dan Veri Çekme(Get Data From Database)
Power BI ‘da SQL Server ‘dan Veri Çekme İşlemi (Get Data From SQL Server)
Power BI ‘da en çok kullanılan veri kaynaklarından birisi SQL Server ‘ dır. Yani veri tabanında (database) bulunan verilerin raporlanabilir hale gelmesini sağlayan Power BI için önemli bir veri kaynağıdır. (Data Source)
Power BI bir çok veri tabanını veri kaynağı olarak kullanabilecek özelliktedir. (MS SQL, MySQL, Oracle Database, Google BigQuery, Access vb.) Bu da onu her şirket ve kurumun alt yapısına uygun çözümler sunan esnek bir iş zekası yazılımı haline getirmektedir.
Bu yazımda, Microsoft SQL Server‘dan veri çekme işlemini gerçekleştireceğiz. Bunu gerçekleştirirken sanal bir marketin veri tabanını kullanıp , bu marketin verilerini Power BI Görsellerine (Visualitions) aktaracağız.
Power BI SQL Server’dan Veri Çekme(Get Data From Database)
- Power BI Desktop (Masaüstü) uygulamasında Get Data bölümünden SQL Server database sekmesini seçiyoruz.
2. Açılan ekranda bağlanmak istediğimiz veri tabanı ile ilgili bazı bilgileri belirtmemiz gerekiyor.
Server : Microsoft SQL Server ‘ ın ismini belirtiyoruz. Bu örnekte kendi bilgisayarımda kurmuş olduğum server’ ı tanımladım. Yani OKAN isimli bilgisayarımdaki / SQLEXPRESS ‘i tanımladım.
Genelde şirket/kurumlarda SQL Server sürekli açık olan bir sunucuya kurulur. Bu bölüme o sunucunun IP numarası (10.10.100.6 gibi) da yazılabilir fakat önerilen ayar Server isminin yazılmasıdır. (SQL 14-ENT / SQLEXPRESS / SQL 12-ENT gibi)
Database : Verileri hangi veri tabanından alacak isek o veri tabanının ismini yazıyoruz. (BIZIMMARKET gibi) Bu alanı boş bırakmanız durumunda yazmış olduğunuz SQL Server’ da bulunan tüm veri tabanları listelenecektir.
Data Connectivity :
Import ile DirectQuery Arasındaki Farklar Nelerdir ?
Import–>
Import seçeneği ile içeri aktarılan veriler üzerinde Power BI-Edit Queries ekranında değişiklik yapılmasına izin verir. Yenilemeyi Zamanlama da (Schedule Refresh) ise günde en fazla 8 zamanlama ayarı yapılabilir. Bu zamanlar yarım saatlik dilimler halindedir. (07:30 PM, 9:00 Öğleden Önce gibi)
DirectQuery–>
DirectQuery seçeneğinde ise veriyi direkt olarak veri kaynağından aldığımız için yani Power BI ‘ ya import etmediğimiz için veriler üzerinde değişiklikler yapamayız.
Replace Values (Değerlerin yerine yeni bir değer yazma), Transform(Text’i Decimal Number’ a dönüştürme gibi), vd…
Yani açık bir ifadeyle ; Power BI Desktop-Edit Queries ekranında yapabileceğimiz değişikliklerin hiç birini yapamayız. “This step results in a query that is not supported in DirectQuery Mode” uyarısını alırız.
Peki DirectQuery ile çektiğimiz verilerde değişiklik yapmak istersek nasıl yapacağız?
Veriler üzerinde bir değişiklik yapmak istiyorsak, veri kaynağının kendisi içerisinde SQL kodlarını kullanarak bunu yapabiliriz.
Ayrıca DirectQuery‘ de Yenilemeyi Zamanlama (Schedule Refresh), Import’ ta kullanılan sabit bir zaman dilimi gibi değil, her 15 dakikada bir veya günde bir vb. şeklinde zaman sıklıkları ile oluşturulur.
Command timeout in minutes: Bu bölümle ilgili bir yazı daha sonra paylaşacağım, şimdilik bu alanı boş bırakmanız bir sorun oluşturmayacaktır.
SQL Statement : Bu alanı boş bırakmanız durumunda seçmiş olduğunuz veri tabanında bulunan tüm tablolar, view ‘lar listelenecektir. Birden fazla tabloyu/view’ ı aynı anda Power BI ‘ ya import etmek istiyorsanız bu yolu kullanabilirsiniz.
Ben örnekte sadece bir tabloyu (WEBITEMSALL) import edeceğim için bu alana basit bir sql cümlesi yazdım. SELECT * FROM [dbo].[WEBITEMSALL]
Geriye kalan alanlarla ilgili olarak bu aşamada özel bir seçim yapmamıza gerek yok. Bu sebepten;
Include relationship columns : Default olarak seçili gelir, aynı şekilde bırakıyoruz.
Navigate using full hierarchy : Default olarak işaretlenmemiş durumdadır, aynı şekilde bırakıyoruz.
Enable SQL Server Failover Support : Default olarak işaretlenmemiş durumdadır, aynı şekilde bırakıyoruz.
3. Yukarıda belirtilen tüm alanları doldurduktan sonra OK butonuna basıyoruz.
4. Eğer Power BI, SQL Server bağlantı ayarlarını daha önce yapmışsanız aşağıdaki gibi bir ekran karşınıza gelecektir. Load butonuna basarak verileri Power BI Desktop ‘ a yükleyebilir veya Edit butonuna basarak Power BI Desktop – Edit Queries ekranına geçiş yapabilirsiniz. Bu örneğimizde Power BI – Edit Queries ekranını görmek açısından Edit butonuna tıklıyoruz.
SQL Server Bağlantı İzinlerinin Ayarlanması
5. Eğer aşağıdaki gibi bir ekran karşınıza çıkıyorsa; Power BI – SQL Server bağlantı ayarlarını yapmanız gerekiyor ki, Power BI verileri yenilemek için SQL Server’ a ulaşabileceği kullanıcı adını ve şifresini bilebilsin.
Windows Authentication : Eğer SQL Server’ a Windows hesabınızla bağlantı yetkiniz var ise ; Use my current credentials seçebilirsiniz. Alternatif bir Windows hesabı ile bağlantı yetkiniz var ise ; Use alternate credentials seçmeli ve aşağıda aktif hale gelecek olan User name ve Password alanlarını doldurmalısınız.
SQL Authentication : Eğer SQL Server’ a, SQL Authentication ile bağlantı yetkiniz var ise bu hesabı Database menüsünden User name ve Password alanlarını doldurarak tanımlamalısınız.
SQL Server’ daki Verilerin Power BI’ a Aktarılması
6. Verileri Power BI Desktop ‘ a Import etmiş ve herhangi bir düzenleme yapabileceğimiz Edit Queries ekranında görüntülenmiş olduk.
7. Verileri, Power BI Görsellerine (Visualizations) aktarmak için Close & Apply ‘ ı tıklayarak Report (Rapor) ekranına geçiş yapıyoruz.
SQL Server’ dan Alınan Verilerin Power BI Desktop Görsellerinde (Visualizations) İşlenmesi
8. SQL Server’ dan çektiğimiz veriler artık Fields menüsü altında sıralanmıştır. Default olarak tablo ismi Query 1 olarak gelir. Query 1 ‘i BIZIMMARKET olarak değiştiriyorum. Birçok tablodan oluşan bir raporda, verilerin içeriğinin ne olduğunu daha kolay anlamak için isimlendirmeleri anlaşılır bir şekilde oluşturmak çok önemlidir.
9. Görsellerden (Visualizations) Table (Tablo) olanı seçiyoruz.
10. Son olarak SQL Server‘ dan çekmiş olduğumuz verileri anlaşılabilir bir hale getirmek için tablo görselini kullandık ve kategori fiyatlarının toplamlarını raporlamış olduk. Artık elimizde verilerimiz olduğu için çeşitli görselleri kullanarak bir çok rapor üretebiliriz.
Bu görsellerden en çok kullanılanları ve rapor hazırlarken işinizi kolaylaştıracağını düşündüklerimden bir derleme yaptığım Power BI Mağazasında Öne Çıkar Görseller başlıklı yazımı incelemenizi tavsiye ederim.
Umarım sizin için faydalı bir yazı olmuştur. Görüşlerinizi, önerilerinizi ve sorularınızı yorum bölümüne yazabilirsiniz. Vakit buldukça cevaplamaya çalışacağım.
Görüşmek dileğiyle herkese iyi çalışmalar…
Çok teşekkürler, çok faydalı bir paylaşım olmuş,
İyi çalışmalar.
Beğenmenize sevindim. Teşekkür ederim.
üstad harika bir yazı. Lakin temel bir kullanıcı olarak örneğin her 15 dakika bir güncellemeyi bir türlü başaramadım. Bu konuda yardımcı olabilir misin?