Mundarija

Ba'zida manba ma'lumotlaridan qancha va qaysi qatorlarni import qilish kerakligi oldindan ma'lum bo'lmagan holatlar mavjud. Aytaylik, biz Power Query-ga matnli fayldan ma'lumotlarni yuklashimiz kerak, bu birinchi qarashda katta muammo tug'dirmaydi. Qiyinchilik shundaki, fayl muntazam ravishda yangilanadi va ertaga u turli xil ma'lumotlarga ega bo'lgan qatorlarga ega bo'lishi mumkin, ikkita satr emas, balki uchta sarlavha va hokazo:

Power Query-da suzuvchi fragmentni import qilish

Ya'ni, qaysi qatordan boshlab va aniq qancha qatorni import qilish kerakligini oldindan aniq ayta olmaymiz. Va bu muammo, chunki bu parametrlar so'rovning M-kodida qattiq kodlangan. Va agar siz birinchi faylga so'rov yuborsangiz (5-dan boshlab 4 qatorni import qilsangiz), u ikkinchisi bilan endi to'g'ri ishlamaydi.

Agar bizning so'rovimiz import uchun "suzuvchi" matn blokining boshi va oxirini aniqlay olsa yaxshi bo'lardi.

Men taklif qilmoqchi bo'lgan yechim bizning ma'lumotlarimizda bizga kerak bo'lgan ma'lumotlar blokining boshi va oxirining markerlari (xususiyatlari) sifatida ishlatilishi mumkin bo'lgan ba'zi kalit so'zlar yoki qiymatlar mavjud degan fikrga asoslanadi. Bizning misolimizda boshi so'z bilan boshlangan qator bo'ladi Navi, va oxiri so'z bilan bir qatordir jami. Ushbu qatorni tekshirishni Power Query-da shartli ustun - funksiyaning analogi yordamida amalga oshirish oson IF (Agar) v Microsoft Excel.

Keling, buni qanday qilishni ko'rib chiqaylik.

Birinchidan, matn faylimiz tarkibini Power Query-ga standart usulda - buyruq orqali yuklaymiz Ma'lumotlar - Ma'lumotlarni olish - Fayldan - Matn/CSV faylidan (Ma'lumotlar - Ma'lumotlarni olish - Fayldan - Matn/CSV faylidan). Agar sizda Power Query alohida plagin sifatida o'rnatilgan bo'lsa, unda tegishli buyruqlar yorliqda bo'ladi Quvvat so'rovi:

Power Query-da suzuvchi fragmentni import qilish

Har doimgidek, import qilishda siz ustunni ajratuvchi belgini tanlashingiz mumkin (bizning holatda, bu yorliq) va import qilgandan so'ng siz avtomatik ravishda qo'shilgan qadamni olib tashlashingiz mumkin. o'zgartirilgan turi (O'zgartirilgan tur), chunki ustunlarga ma'lumotlar turlarini belgilashga hali erta:

Power Query-da suzuvchi fragmentni import qilish

Endi buyruq bilan Ustun qo'shish - shartli ustun (Ustun qo'shish - shartli ustun)blokning boshida va oxirida ikkita shartni tekshiradigan va har bir holatda har xil qiymatlarni ko'rsatadigan ustun qo'shamiz (masalan, raqamlar 1 и 2). Agar shartlarning hech biri bajarilmasa, u holda chiqish null:

Power Query-da suzuvchi fragmentni import qilish

Tugmasini bosgandan so'ng OK biz quyidagi rasmni olamiz:

Power Query-da suzuvchi fragmentni import qilish

Endi tabga o'tamiz. O'tkazish va jamoani tanlang To'ldirish - pastga (O'zgartirish - To'ldirish - Pastga) – bizning bir va ikkitamiz ustunni pastga cho'zadi:

Power Query-da suzuvchi fragmentni import qilish

Xo'sh, siz taxmin qilganingizdek, siz shartli ustundagi birliklarni shunchaki filtrlashingiz mumkin - va bu bizning orzu qilingan ma'lumotlarimiz:

Power Query-da suzuvchi fragmentni import qilish

Faqat buyruq bilan birinchi qatorni sarlavhaga ko'tarish qoladi Sarlavha sifatida birinchi qatordan foydalaning tab Bosh sahifa (Uy - sarlavha sifatida birinchi qatordan foydalaning) va keraksiz shartli ustunni uning sarlavhasini o'ng tugmasini bosib, buyruqni tanlash orqali olib tashlang Ustunni o'chirish (ustunni o'chirish):

Muammo hal qilindi. Endi, dastlabki matn faylidagi ma'lumotlarni o'zgartirganda, so'rov endi bizga kerak bo'lgan ma'lumotlarning "suzuvchi" fragmentining boshi va oxirini mustaqil ravishda aniqlaydi va har safar to'g'ri qatorlarni import qiladi. Albatta, bu yondashuv TXT fayllarini emas, balki XLSX ni import qilishda, shuningdek, buyruq bilan bir vaqtning o'zida papkadan barcha fayllarni import qilishda ham ishlaydi. Ma'lumotlar - Ma'lumotlarni olish - Fayldan - Jilddan (Ma'lumotlar - Ma'lumot olish - Fayldan - Jilddan).

  • Power Query yordamida turli fayllardan jadvallarni yig'ish
  • Makroslar va Power Query yordamida o'zaro faoliyat jadvalni tekislash uchun qayta loyihalash
  • Power Query-da loyiha Gantt diagrammasini qurish

Leave a Reply