İçeriğe geç
Educora
İleri22 dk20 / 27

Power Query: verileri içe aktarma ve temizleme

Her ay tekrarlanan elle yapılan işi bir kez kaydet: CSV'den ve klasörden içe aktarma, temizleme adımları, tabloları alt alta ekleme (Append), anahtar sütunla birleştirme (Merge) ve sütunları satırlara çevirme (Unpivot).

Kendini test et
Bu derste öğreneceklerin
  • Power Query Düzenleyicisi'nde veri içe aktarmak ve Uygulanan Adımlarla çalışmak
  • Boşlukları, büyük-küçük harfi, veri türlerini ve yinelenenleri temizlemek
  • Append ile Merge arasındaki farkı bilmek ve birleştirme türünü seçmek
  • Unpivot ile geniş bir tabloyu analize hazır uzun bir tabloya çevirmek

Her ayın başında bir muhasebeci üç şubeden CSV dosyaları alıyor. Adlarda fazladan boşluklar var, “BAKU”, “baku” ve “Baku” karışık, tarihler metin olarak geliyor, aylık satışlar da sütunlara dağılmış. Bu temizlik her ay iki saat sürüyor. Power Query bu adımları bir kez kaydeder; gelecek ay yalnızca Refresh'e basarsın.

Power Query, Excel 2016'dan beri programa yerleşik gelen “al, dönüştür, yükle” aracıdır; aynı motor Power BI'da da çalışır. Kaynak dosyayı asla değiştirmez: tüm dönüşümler sorgunun içinde saklanır. Basit kural: verileri hazırlamak (içe aktarma, temizleme, birleştirme) Power Query'nin işidir, hesaplamak ise formüllerin ve Özet Tabloların.

İçe aktarma ve Uygulanan Adımlar

  1. 1
    Kaynağı seç

    Data › Get & Transform Data › Get Data › From File › From Text/CSV (diğer seçenekler: From Workbook, From Folder, From Table/Range). Dosyayı seç ve Import'a tıkla.

  2. 2
    Düzenleyiciyi aç

    Önizleme penceresinde Transform Data'ya tıkla. Power Query Düzenleyicisi açılır: ortada veriler, sağda Query Settings › Applied Steps listesi.

  3. 3
    Temizle

    Her işlem (boşlukları kırpma, türü değiştirme, satırları filtreleme) listeye yeni bir adım olarak yazılır. Bir adıma tıklarsan verilerin o andaki hâlini görürsün; × ile adımı silebilirsin.

  4. 4
    Sayfaya yükle

    Home › Close & Load sonucu yeni bir sayfaya Excel tablosu olarak yükler. Close & Load To… ile bir Özet Tabloya ya da yalnızca bağlantı olarak (Only Create Connection) yükleyebilirsin.

SorunPower Query komutu
Dosyanın başında 3 boş ya da hizmet satırıHome › Reduce Rows › Remove Rows › Remove Top Rows
Başlıklar ilk veri satırındaHome › Transform › Use First Row as Headers
Fazladan boşluklar, görünmez karakterlerTransform › Text Column › Format › Trim / Clean
Karışık harf: “baku”, “BAKU”, “Baku”Format › Capitalize Each Word
Tarihler ve tutarlar metinTransform › Any Column › Data Type; right-click › Change Type › Using Locale…
“Hasanova Leyla” tek sütundaTransform › Split Column › By Delimiter
Grup etiketi yalnızca ilk satırdaTransform › Fill › Down
Yinelenen satırlarHome › Reduce Rows › Remove Rows › Remove Duplicates
Text
let
    Source = Csv.Document(File.Contents("C:\Data\baku.csv"), [Delimiter = ",", Encoding = 65001]),
    Promoted = Table.PromoteHeaders(Source, [PromoteAllScalars = true]),
    Trimmed = Table.TransformColumns(Promoted, {{"Customer", Text.Trim, type text}}),
    Proper = Table.TransformColumns(Trimmed, {{"City", Text.Proper, type text}}),
    Typed = Table.TransformColumnTypes(Proper, {{"Date", type date}, {"Amount", type number}}),
    Filtered = Table.SelectRows(Typed, each [Amount] > 0)
in
    Filtered
Her adım M dilinde bir satırdır: Home › Advanced Editor sorgunun tamamını gösterir. Her adımın adı bir sonraki adımın girdisi olarak kullanılır.
Etkileşimli
Simülasyon yükleniyor…
Kirli verileri temizleme: Power Query adımlarının formül karşılığı.

Append ve Merge: tabloları birleştirme

ÖlçütAppend QueriesMerge Queries
Ne yapartabloları alt alta koyar (satır ekler)tabloları bir anahtar sütunla yan yana birleştirir (sütun ekler)
Koşulaynı adlı sütunlariki tabloda da eşleşen bir anahtar (örneğin ProductID)
Excel'deki karşılığıkopyalayıp alta yapıştırmakXLOOKUP
YolHome › Combine › Append QueriesHome › Combine › Merge Queries
Üç şube ve bir ürün kataloğu

Bakü dosyasında 1.200, Gence'de 800, Sumgayıt'ta 450 satış satırı var (sütunlar aynı). Ayrıca 40 üründen oluşan bir Products kataloğu var: ProductID, Category, Price. Her satışın kategorisini görmek gerekiyor.

Çözümü göster
1) Append Queries as New › Three or more tables › üç sorguyu ekle → 2.450 satır (1200 + 800 + 450).
2) Merge Queries as New: üstte Append sonucu, altta Products; ikisinde de ProductID'yi seç; Join Kind: Left Outer (all from first, matching from second).
3) Yeni sütunun başlığındaki ⇆ simgesine tıkla ve yalnızca Category'yi işaretle.
Sonuç yine 2.450 satırdır, çünkü her satış tam olarak bir ürünle eşleşir.
Kontrol: Join Kind › Left Anti, katalogda olmayan ProductID'li satışları listeler; bunlar 0 olmalıdır.

Unpivot: sütunları satırlara çevir

Raporlar çoğu zaman “geniş” gelir: Product | Jan | Feb | Mar. İnsan için okunaklıdır, ama Özet Tablo, filtre ve SUMIFS “uzun” biçim ister: Product | Month | Sales. Product sütununu seç ve Transform › Any Column › Unpivot Columns › Unpivot Other Columns komutunu ver; sonra Attribute'u Month, Value'yu Sales olarak yeniden adlandır. “Other Columns” akıllıca bir seçimdir: gelecek ay bir Apr sütunu eklenirse o da otomatik çevrilir.

ProductMonthSales
NotebookJan120
NotebookFeb135
NotebookMar150
PenJan300
PenFeb280
PenMar310
Unpivot sonucu: 3 ürün × 3 aylık geniş tablodan 9 satırlık uzun bir tablo elde edilir (burada ilk 6 satır).
Aralığı tabloya dönüştür — From Table/Range için hazırlıkCtrl+T
Seçili sorgunun tablosunu yenileAlt+F5
Tüm sorguları ve bağlantıları yenileCtrl+Alt+F5

Önemli noktalar

  • Power Query temizleme adımlarını kaydeder; kaynak değişince Refresh hepsini yeniden uygular.
  • Temel temizlik: Trim, Clean, büyük-küçük harf, doğru veri türleri, Fill Down, Remove Duplicates.
  • Append satır ekler (alt alta), Merge ise anahtarla sütun ekler (yan yana).
  • Power Query büyük-küçük harfe ve boşluklara duyarlıdır; Merge öncesi anahtarları temizle.
  • Unpivot Other Columns geniş tabloyu analize hazır uzun bir tabloya çevirir.

Kendini test et

10 soru. Her doğru cevap XP kazandırır.

1 / 10
Aynı sütunlara sahip üç şube tablosunu alt alta tek tabloda toplamak için hangi komut gerekir?