Combine Files ne yapar?
Klasör bağlayıcısı dosya başına bir satır getirir. Şerit Combine ile bir örnek dosya seçer, o dosyadaki temizliği fonksiyona çevirir ve her dosyaya uygular. Yardımcı sorgular grubunda örnek dosya, parametre, işlev ve Transform Sample file oluşur. Sen temizliği yalnız bu örnek sorguda yaparsın.
Folder.Files("C:\Veri\Satis") üç aylık CSV ve bir notlar dosyasından oluşan sabit bir klasör döndürür; dosya içeriği Binary olarak taşınır. Gerçek Binary’nin bayt işlemleri, Excel.Workbook ve kodlama seçenekleri alt küme dışındadır. Mantık gerçek klasör birleştirmeyle aynıdır.Elle yazılışı
Folder.Files("C:\Veri\Satis")
Learn: Folder.Files klasördeki ve alt klasörlerdeki her dosya için bir satır, özellikler ve içeriğe bağlantı döndürür. Dört adım var: dosyaları süz, tek dosyayı okuyan fonksiyon yaz, her satırda çağır, genişlet.
let
Dosyalar = Folder.Files("C:\Veri\Satis"),
Csvler = Table.SelectRows(Dosyalar, each [Extension] = ".csv"),
Oku = (ikili as binary) as table =>
Table.PromoteHeaders(Csv.Document(ikili, [Delimiter = ";"])),
Okunan = Table.AddColumn(Csvler, "Veri", each Oku([Content])),
Sade = Table.SelectColumns(Okunan, {"Name", "Veri"}),
Acik = Table.ExpandTableColumn(Sade, "Veri", {"Tarih", "Bayi", "Tutar"}),
Tipli = Table.TransformColumnTypes(Acik, {{"Tarih", type date}, {"Tutar", type number}})
in
Tipli
Name sütununu tutmak iyi alışkanlıktır: Combine Files bunun için Source.Name sütununu üretir, hatalı satırın hangi dosyadan geldiğini gösterir.
Tipik tuzaklar
| Belirti | Neden | Çözüm |
|---|---|---|
| Fazladan null satırlar | Klasördeki yabancı dosya da okundu | Combine yerine Transform data ile önce uzantıya ve ada göre süz |
| The column 'Column1' of the table wasn't found | Örnek sorguda başlık yükselttin, çıktı sorgusundaki eski tür adımı Column1’i arıyor | O adımı Uygulanan adımlardan sil |
| Bir dosyada sütun eksik | Yeni dosyanın şeması farklı | Genişletmede null gelir ya da tür adımı hata verir; dosya sözleşmesi koy, Name ile bul |
| Yeni sütun gelmiyor | ExpandTableColumn’daki sütun listesi kalıcıdır | Listeyi kodda güncelle ya da Table.ColumnNames ile dinamik üret |
| Türler Herhangi geliyor | Birleşik sütunların türü yok | Son adım tür ver |
| Sonuç filtre listesinde eksik görünüyor | Liste eksik olabilir uyarısı | Load more ile genişlet, sonra karar ver |
Klasör yolunu parametre yap
Yolu parametre yaparsan başka makine ve bulutta çalışır. Bulutta paylaşılmış klasör için SharePoint.Files ve ağ geçidi gerekir; yerel yol Service’te ağ geçidi ister. Çok dosyada Learn’ün tavsiyesi: filtreyi erken uygula, yalnız gereken dosyaları oku.