Konten

Terkadang ada situasi ketika tidak diketahui sebelumnya secara pasti berapa banyak dan baris mana yang perlu diimpor dari sumber data. Misalkan kita harus memuat data dari file teks ke dalam Power Query, yang sekilas tidak menimbulkan masalah besar. Kesulitannya adalah bahwa file tersebut diperbarui secara berkala, dan besok mungkin memiliki jumlah baris yang berbeda dengan data, header tiga, bukan dua baris, dll .:

Mengimpor Fragmen Mengambang di Power Query

Artinya, kami tidak bisa mengatakan terlebih dahulu dengan pasti, mulai dari jalur mana dan berapa tepatnya jalur yang perlu diimpor. Dan ini adalah masalah, karena parameter ini dikodekan dalam kode-M permintaan. Dan jika Anda membuat permintaan untuk file pertama (mengimpor 5 baris mulai dari tanggal 4), maka itu tidak akan berfungsi dengan benar dengan yang kedua.

Akan sangat bagus jika kueri kita sendiri dapat menentukan awal dan akhir blok teks "mengambang" untuk diimpor.

Solusi yang ingin saya ajukan didasarkan pada gagasan bahwa data kita mengandung beberapa kata kunci atau nilai yang dapat digunakan sebagai penanda (fitur) awal dan akhir blok data yang kita butuhkan. Dalam contoh kita, awalnya akan menjadi garis yang dimulai dengan kata SKU, dan akhir adalah baris dengan kata Total. Validasi baris ini mudah diterapkan di Power Query menggunakan kolom bersyarat – analog dari fungsi IF (JIKA) Microsoft Excel.

Mari kita lihat bagaimana melakukannya.

Pertama, mari muat konten file teks kita ke Power Query dengan cara standar – melalui perintah Data – Dapatkan data – Dari file – Dari file teks/CSV (Data – Dapatkan Data – Dari file – Dari file teks/CSV). Jika Anda menginstal Power Query sebagai add-in terpisah, maka perintah yang sesuai akan ada di tab Kueri Daya:

Mengimpor Fragmen Mengambang di Power Query

Seperti biasa, saat mengimpor, Anda dapat memilih karakter pemisah kolom (dalam kasus kami, ini adalah tab), dan setelah mengimpor, Anda dapat menghapus langkah yang ditambahkan secara otomatis tipe yang dimodifikasi (Tipe Berubah), karena terlalu dini bagi kami untuk menetapkan tipe data ke kolom:

Mengimpor Fragmen Mengambang di Power Query

Sekarang dengan perintah Menambahkan Kolom – Kolom Bersyarat (Tambahkan Kolom — Kolom Bersyarat)mari tambahkan kolom dengan memeriksa dua kondisi – di awal dan akhir blok – dan menampilkan nilai yang berbeda di setiap kasus (misalnya, angka 1 и 2). Jika tidak ada kondisi yang terpenuhi, maka output nol:

Mengimpor Fragmen Mengambang di Power Query

Setelah mengklik OK kita mendapatkan gambar berikut:

Mengimpor Fragmen Mengambang di Power Query

Sekarang mari kita pergi ke tab. Transformasi dan pilih tim Mengisi (Transformasi – Isi – Bawah) – satu dan dua kami akan meregangkan kolom:

Mengimpor Fragmen Mengambang di Power Query

Nah, seperti yang Anda duga, Anda cukup memfilter unit di kolom kondisional – dan inilah bagian data yang kami idamkan:

Mengimpor Fragmen Mengambang di Power Query

Yang tersisa hanyalah menaikkan baris pertama ke header dengan perintah Gunakan baris pertama sebagai header tab Beranda (Beranda – Gunakan Baris Pertama sebagai Header) dan hapus kolom lebih bersyarat yang tidak perlu dengan mengklik kanan pada headernya dan memilih perintah Hapus kolom (Hapus Kolom):

Masalah terpecahkan. Sekarang, ketika mengubah data dalam file teks sumber, kueri sekarang akan secara independen menentukan awal dan akhir dari fragmen "mengambang" dari data yang kita butuhkan dan mengimpor jumlah baris yang benar setiap kali. Tentu saja, pendekatan ini juga berfungsi dalam hal mengimpor file XLSX, bukan file TXT, serta saat mengimpor semua file dari folder sekaligus dengan perintah Data – Dapatkan data – Dari file – Dari folder (Data — Dapatkan Data — Dari file — Dari folder).

  • Merakit tabel dari file yang berbeda menggunakan Power Query
  • Mendesain ulang tab silang menjadi datar dengan makro dan Power Query
  • Membangun Bagan Gantt Proyek di Power Query

Tinggalkan Balasan