- 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
- 1Kaynağı 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ç veImport'a tıkla. - 2Düzenleyiciyi aç
Önizleme penceresinde
Transform Data'ya tıkla. Power Query Düzenleyicisi açılır: ortada veriler, sağdaQuery Settings › Applied Stepslistesi. - 3Temizle
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. - 4Sayfaya yükle
Home › Close & Loadsonucu 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.
| Sorun | Power 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ında | Home › Transform › Use First Row as Headers |
| Fazladan boşluklar, görünmez karakterler | Transform › Text Column › Format › Trim / Clean |
| Karışık harf: “baku”, “BAKU”, “Baku” | Format › Capitalize Each Word |
| Tarihler ve tutarlar metin | Transform › Any Column › Data Type; right-click › Change Type › Using Locale… |
| “Hasanova Leyla” tek sütunda | Transform › Split Column › By Delimiter |
| Grup etiketi yalnızca ilk satırda | Transform › Fill › Down |
| Yinelenen satırlar | Home › Reduce Rows › Remove Rows › Remove Duplicates |
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
FilteredHome › Advanced Editor sorgunun tamamını gösterir. Her adımın adı bir sonraki adımın girdisi olarak kullanılır.Append ve Merge: tabloları birleştirme
| Ölçüt | Append Queries | Merge Queries |
|---|---|---|
| Ne yapar | tabloları alt alta koyar (satır ekler) | tabloları bir anahtar sütunla yan yana birleştirir (sütun ekler) |
| Koşul | aynı adlı sütunlar | iki tabloda da eşleşen bir anahtar (örneğin ProductID) |
| Excel'deki karşılığı | kopyalayıp alta yapıştırmak | XLOOKUP |
| Yol | Home › Combine › Append Queries | Home › Combine › Merge Queries |
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Çözümü gizle
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.
| Product | Month | Sales |
|---|---|---|
| Notebook | Jan | 120 |
| Notebook | Feb | 135 |
| Notebook | Mar | 150 |
| Pen | Jan | 300 |
| Pen | Feb | 280 |
| Pen | Mar | 310 |
From Table/Range için hazırlıkCtrl+TÖnemli noktalar
- Power Query temizleme adımlarını kaydeder; kaynak değişince
Refreshhepsini 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 Columnsgeniş tabloyu analize hazır uzun bir tabloya çevirir.
Kendini test et
10 soru. Her doğru cevap XP kazandırır.