Power BI’da Python Kodlarını Entegre Etme

Python ve Power BI arasındaki sinerjiyi keşfedin; gelişmiş veri analizi ve görselleştirme için bu iki aracı birleştirin. Bu entegrasyon sayesinde, güçlü ve etkileşimli görselleştirmeler oluşturarak veri odaklı karar alma süreçlerini geliştirebilirsiniz. Python’un analitik yeteneklerini Power BI’ın görsel araçlarıyla birleştirmek, veri akışlarınıza daha derin bir bakış sağlar ve verimliliği artırır.

Giriş

Python ile Power BI’ı bir araya getirmenin en kapsamlı rehberine hoş geldiniz! Bu eğitimde Python’un nasıl kurulacağını, Power BI’a nasıl entegre edileceğini, Power Query’de nasıl kullanılacağını, verilerin nasıl çıkarılıp dönüştürüleceğini ve pandas, matplotlib ve seaborn gibi kütüphanelerle etkileyici görselleştirmelerin nasıl yapılacağını öğreneceksiniz. İster bir veri analisti olun ister bir BI meraklısı, bu entegrasyonun raporlama becerilerinizi nasıl geliştireceğini ve Power BI Service’te Python görsellerini kullanırken dikkat etmeniz gereken sınırlamaları göreceksiniz.

Python ve Power BI nedir ve birlikte kullanmanın faydaları nelerdir?

Python, veri analizi ve bilimsel hesaplamalar için yaygın olarak kullanılan popüler bir programlama dilidir. Power BI ise Microsoft tarafından geliştirilmiş bir veri analizi ve görselleştirme aracıdır. Bu iki araç birlikte kullanıldığında, güçlü ve etkileşimli veri görselleştirmeleri oluşturulabilir. Böylece kullanıcılar verilerinden daha kolay içgörüler elde edebilir ve daha sağlıklı veri odaklı kararlar alabilir.

Alt başlıklar 6 aşamadan oluşacaktır:

  • Python’un kurulması
  • Python’un Power BI’a entegrasyonu
  • Python ile veri çıkarımı
  • Power Query’de Python kullanımı
  • Python ile veri görselleştirme
  • Power BI’da Python kullanmanın sınırlamaları

Python’un kurulması

En güncel Python sürümünü indirmek için Python’un resmi web sitesine gidip “Downloads” sekmesine tıklayabilirsiniz. Şu anda en güncel sürüm 3.11.0’dır. Eğer bağlantınız bu sürüme aitse, zaten son sürüme sahipsiniz demektir. Aksi takdirde, buradan en güncel sürümü indirip kurabilirsiniz.

https://www.python.org/downloads

Kurulumdan sonra terminal (veya komut istemcisi) açarak pip’i güncellemelisiniz. Pip, Python kütüphane yöneticisidir ve güncellenmeden en yeni kütüphaneleri yüklemenize izin vermez. Aşağıdaki komutla pip’i güncelleyebilirsiniz:

python -m pip install –upgrade pip

Bir sonraki adım, Power BI’da veri görselleştirme için Python kullanmak üzere gerekli kütüphaneleri yüklemektir. Bu amaçla en yaygın kullanılan iki kütüphane matplotlib ve pandas’tır. Pandas, veri manipülasyonu ve analizi için güçlü bir kütüphane iken, matplotlib veri görselleştirme oluşturmak için popüler bir kütüphanedir.

Bu kütüphaneleri kurmak için terminalde (veya komut isteminde) şu komutları kullanabilirsiniz:

pip install matplotlib
pip install pandas

Bu kütüphanelere ek olarak, Power BI’da Python kullanırken Excel dosyalarını (örneğin .xlsx, .xlsm, .xltx veya .xltm uzantılı dosyalar) okuyabilmek için openpyxl kütüphanesini yüklemeniz gerekebilir. Bu kütüphaneyi yüklemek için aşağıdaki komutu kullanabilirsiniz:

pip install openpyxl

Bu eğitimde ayrıca seaborn kütüphanesini de veri görselleştirmeleri oluşturmak için kullanacağız. Bu kütüphaneyi yüklemek için şu komutu kullanabilirsiniz:

pip install seaborn

Bu kütüphaneleri yükledikten sonra, Power BI’da veri analizi ve görselleştirme görevleri için Python kodlarınızda kullanmaya başlayabilirsiniz.

Power BI’ya Python’u Entegre Etme

Power BI Desktop’ı açmak için, Power BI Desktop içinde Dosya > Seçenekler ve ayarlar > Seçenekler > Python kodlama yolunu izleyerek Python kodlama sayfasına gidin. Bu sayfada, “algılanan Python ana dizinleri” bölümünde Python yolunuzu belirtebilir, “algılanan Python IDE’leri” bölümünde kullanacağınız IDE’yi belirtebilir veya varsayılan .py dosyalarını ayarlayabilirsiniz.

This image has an empty alt attribute; its file name is image-7-1024x642.png

Bu noktaya kadar, Python ve Power BI’ı entegre etme sürecini tamamladık. Power BI’da veri analizi ve görselleştirme için Python kullanmak üzere gerekli kütüphaneleri yükledik ve Power BI Desktop içinde Python desteğini etkinleştirdik. Artık, Power BI rapor ve panolarımızda veri analizi gerçekleştirmek ve etkileşimli veri görselleştirmeleri oluşturmak için Python kullanmaya hazırız.

Python Kullanarak Veri Çıkarma

Power BI’da yeni bir Python betik veri kaynağı oluşturmak için, “Giriş” sekmesine gidin ve menüden “Veri Al”ı seçin. “Veri Al” menüsünde “Python betiği”ni seçin ve yeni bir Python betik veri kaynağı oluşturun. Bu, Python kodunuzu yazıp çalıştırabileceğiniz yeni bir düzenleyici penceresi açacaktır.

This image has an empty alt attribute; its file name is image-8-1024x887.png

Power BI’da yeni bir Python betik veri kaynağı oluşturduktan sonra, düzenleyici penceresine Python kodunuzu yazabilirsiniz. Kodu yazmadan önce, kullanacağınız tüm kütüphaneleri içe aktarmanız gerekir; örneğin veri manipülasyonu ve analizi için pandas.

This image has an empty alt attribute; its file name is image-9-1024x614.png

Bike dosyasından ön izleme örneği aşağıdaki gibidir.

This image has an empty alt attribute; its file name is image-10-1024x833.png

Python Koduyla Veri Alma:

import pandas as pd
with open("C:\\Users\\extUzuntas\\AppData\\Local\\localdata\\bike.xlsx","rb") as file:
bike = pd.read_excel(file,comment='#', header=2)
bike

Power Query ile Python Kullanımı

Power BI’da Power Query kullanırken, pandas gibi kütüphanelerle birlikte Python kullanarak yeni bir “Python betiği” veri kaynağı oluşturabilir ve verinizi temizleyip dönüştürmek için kod yazabilirsiniz. Kodunuz hazır olduğunda, Power Query düzenleyicisinde “Dönüştür” sekmesine gidin ve menüden “Python Betiğini Çalıştır”ı seçin. Bu, Python kodunuzu yapıştırıp çalıştırabileceğiniz bir Python betik düzenleyicisi açar.

This image has an empty alt attribute; its file name is image-11-1024x565.png

Power Query’de Kullanılan Python Kodu:

import pandas as pd
import numpy as np
dataset.drop("Owner Car Brand",axis=1)
dataset.set_index("Regıon",inplace=True)
dataset.drop(["Lord Of The Ring"],axis=0,inplace=True)
dataset.reset_index(inplace=True)
dataset["Regıon"] = dataset["Regıon"].fillna("Europe")
dataset['year'] = pd.DatetimeIndex(dataset['dteday']).year
dataset["dteday"] = pd.to_datetime(dataset["dteday"])
dataset['weathersit_expand'] = np.where(dataset['weathersit']==1,'Clear',np.where(dataset['weathersit']==2,'Mist + Cloudy','Light Snow'))
dataset

Python Kullanarak Verileri Görselleştirme

Python ve pandas kullanarak verilerinizi Power Query’de temizledikten ve dönüştürdükten sonra, bu verileri Power BI rapor veya panonuzda kullanarak etkileşimli veri görselleştirmeleri oluşturabilirsiniz. Bunu yapmak için, Power BI’daki “Görselleştirmeler” bölmesinden “Python görseli” seçeneğini seçin.

Bu, rapor veya panonuza yeni bir Python görseli ekleyecektir. Bu görselde, Power Query’den gelen dönüştürülmüş verileri kullanarak veri görselleştirmeleri oluşturmak için Python kodunuzu yazıp çalıştırabilirsiniz. Çizgi grafikleri, çubuk grafikleri veya dağılım grafikleri gibi farklı türde görselleştirmeler oluşturmak için matplotlib veya seaborn gibi çeşitli kütüphaneleri kullanabilirsiniz.

Örnek Dağılım ve Join Plot Python Görselleştirmesi:

This image has an empty alt attribute; its file name is image-12-1024x561.png

Dağılım Grafiği (Scatter Plot) Python Kodu:

import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(10,6))
dataset.rename(columns={'temp':'Temperature','windspeed':'Windspeed'},inplace=True)
sns.relplot(x='Temperature',
y='Windspeed',
data=dataset,
kind='scatter',
hue='Regıon',
style='Regıon',
size='Temperature'
)
plt.show()

Join Plot Python Kodu:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set_palette('rainbow')
g=sns.jointplot(data=dataset,
x='total_rentals',
y='temp',
kind='reg')
plt.show()

Örnek Bar ve Haftalık & Aylık İzleme Python Görselleştirmesi:

This image has an empty alt attribute; its file name is image-13-1024x581.png

Çubuk Grafik (Bar Chart) Python Script:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
ax=sns.barplot(data=dataset,x="Regıon",
y="casual",
estimator=np.sum,
ci=0)
ax.bar_label(ax.containers[0])
plt.show()

Haftalık ve Aylık İzleme Script’i:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df_crosstab = pd.crosstab(dataset['mnth'],
dataset['weekday'],
values=dataset['total_rentals'],
aggfunc='mean')
sns.heatmap(df_crosstab,
annot=True,
cmap='coolwarm',
cbar=False,
linewidths=.7,
fmt='.0f')
plt.show()

Örnek Korelasyon Python Görselleştirmesi:

This image has an empty alt attribute; its file name is image-14-1024x580.png

Korelasyon Python Kodu:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.style.use("default")
plt.figure(figsize=(10,6))
df_corr = dataset.corr()
mask = np.triu(np.ones_like(df_corr,dtype=np.bool))
sns.heatmap(
dataset.corr(),
mask=mask,
linewidths=1,
annot=True,
cmap="coolwarm")
plt.show()

Power BI’da Python Kullanmanın Sınırlamaları

  • Power BI Service için Personal Gateway gereklidir.
  • Report Server, Python Script desteklemez.
  • Python betiği ile veri çekiliyorsa, script’te ihtiyaç duyulan sütunların veri türü değiştirilmez. Bu işlem Power BI içinde yapılmalıdır.
  • Power BI Service, sınırlı sayıda Python kütüphanesini destekler. (Matplotlib, NumPy, Pandas, Scikit-learn, Scipy, Seaborn, Statsmodels, XGBoost)
  • Python simgesi seçildiğinde, gerekli sütunlar değerler (values) alanına yerleştirilmelidir.
  • Kullanmak istediğiniz kütüphaneler script içinde tanımlanmalı ve görselin başarıyla çalışabilmesi için script sonunda plt.show() komutu bulunmalıdır.
  • Eğer değerler alanındaki sütun isimleri sonradan değiştirilirse, Python görseli hata verir.
  • Python görsellerini kullanmak, yenilemek, filtrelemek ve çapraz filtrelemek için Power BI Pro veya PPU lisansı gerekir.
  • Python görsellerinin kullandığı veri 150.000 satır ile sınırlıdır. Eğer 150.000’den fazla satır seçilirse yalnızca ilk 150.000 satır kullanılır ve görselde uyarı mesajı gösterilir. Ayrıca giriş verisinde 250 MB sınırı vardır.
  • Eğer bir sütunda 32.766 karakterden uzun bir string varsa, bu değer kesilir.
  • Python görselinin hesaplama süresi 5 dakikayı aşarsa zaman aşımına uğrar ve hata verir.
  • anımlı bir ilişki olmadan farklı tablolardan alanlar seçilirse, Power BI Desktop görsellerindeki gibi hata oluşur.
  • Python görselleri veri güncellemeleri, filtreleme ve vurgulamaya yanıt verir; fakat görselin kendisi etkileşimli değildir ve çapraz filtreleme kaynağı olarak hizmet etmez.

Sonuç

Power BI’a Python entegrasyonu, verileri temizleme, analiz etme ve kod tabanlı ya da görsel tekniklerle görselleştirme kabiliyetinizi genişletir. Bazı sınırlamaları olmasına rağmen, bu birleşim analistlere ve geliştiricilere daha esnek ve derinlemesine veri hikâyeleri oluşturma gücü verir. Eğer BI panolarınızı bir üst seviyeye taşımak istiyorsanız, Python entegrasyonu öğrenilmesi gereken bir beceridir.

More Reading

Post navigation

Leave a Reply

Your email address will not be published. Required fields are marked *