Contents [show]
Pada hampir setiap latihan Power Query, apabila kita sampai kepada cara mengemas kini pertanyaan yang dibuat dan orang melihat cara data baharu menggantikan data lama semasa mengemas kini, salah seorang pendengar bertanya kepada saya: “adakah mungkin untuk memastikan bahawa semasa mengemas kini, data lama adalah juga di suatu tempat telah disimpan dan keseluruhan sejarah kemas kini dapat dilihat?
Idea ini bukan baharu dan jawapan standard untuknya ialah “tidak” – Power Query dikonfigurasikan secara lalai untuk menggantikan data lama dengan yang baharu (yang diperlukan dalam kebanyakan kes). Walau bagaimanapun, jika anda benar-benar mahu, anda boleh mengatasi had ini. Dan kaedahnya, seperti yang akan anda lihat nanti, sangat mudah.
Pertimbangkan contoh berikut.
Mari kita anggap bahawa kita mempunyai fail daripada klien sebagai data input (mari kita panggilnya, katakan, Source) dengan senarai produk yang ingin dibelinya dalam bentuk jadual dinamik "pintar" bernama Kesesuaian:
Dalam fail lain (mari kita panggil dengan analogi Penerima) kami mencipta pertanyaan mudah untuk mengimport jadual dengan produk daripada Sumber melalui Data – Dapatkan Data – Dari Fail – Dari Buku Kerja Excel (Data — Dapatkan data — Dari fail — Dari buku kerja Excel) dan muat naik jadual yang terhasil ke helaian:
Jika pada masa hadapan pelanggan memutuskan untuk membuat perubahan pada perintah dalam failnya Source, kemudian selepas mengemas kini permintaan kami (dengan mengklik kanan atau melalui Data – Muat semula Semua) kita akan melihat data baharu dalam fail Penerima - semua standard.
Sekarang mari kita pastikan bahawa semasa mengemas kini, data lama tidak digantikan dengan yang baharu, tetapi yang baharu dilampirkan pada yang lama – dan dengan penambahan tarikh-masa, supaya ia dapat dilihat apabila perubahan khusus ini dibuat. dibuat.
Langkah 1. Menambah tarikh-masa pada pertanyaan asal
Jom buka permintaan Kesesuaianmengimport data kami dari Source, dan tambah lajur dengan tarikh-masa kemas kini padanya. Untuk melakukan ini, anda boleh menggunakan butang Lajur tersuai tab Menambah lajur (Tambah lajur — Lajur tersuai), dan kemudian masukkan fungsi DateTime.LocalNow – analog fungsi TDATA (SEKARANG) dalam Microsoft Excel:
Selepas mengklik OK anda sepatutnya mempunyai lajur yang cantik seperti ini (jangan lupa untuk menetapkan format tarikh-masa untuknya dengan ikon dalam pengepala lajur):
Jika anda mahu, maka untuk plat yang dimuat naik ke helaian untuk lajur ini, anda boleh menetapkan format tarikh-masa dengan saat untuk ketepatan yang lebih tinggi (anda perlu menambah titik bertindih dan "ss" pada format standard):
Langkah 2: Pertanyaan untuk data lama
Sekarang mari kita buat pertanyaan lain yang akan bertindak sebagai penimbal yang menyimpan data lama sebelum mengemas kini. Memilih mana-mana sel jadual yang terhasil dalam fail Penerima, pilih pada tab Tarikh Perintah Daripada Jadual/Julat (Data — Daripada jadual/julat) or Dengan daun (Dari helaian):
Kami tidak melakukan apa-apa dengan jadual yang dimuatkan dalam Power Query, kami memanggil pertanyaan, sebagai contoh, data lama dan tekan Laman Utama — Tutup dan muat — Tutup dan muatkan ke… — Buat sambungan sahaja (Laman Utama — Tutup&Muat — Tutup&Muat ke… — Buat sambungan sahaja).
Langkah 3. Menyertai data lama dan baharu
Sekarang kembali kepada pertanyaan asal kami Kesesuaian dan tambahkannya dari bawah data lama dari permintaan penimbal sebelumnya dengan arahan Laman Utama — Tambah Permintaan (Laman Utama — Tambah Pertanyaan):
Itu sahaja!
Ia kekal untuk kembali ke Excel melalui Laman Utama — Tutup dan muat turun (Laman Utama — Tutup&Muatkan) dan cuba beberapa kali untuk mengemas kini keseluruhan struktur kami dengan butang Kemaskini semua tab Tarikh (Data — Muat semula Semua). Dengan setiap kemas kini, data baharu tidak akan menggantikan data lama, tetapi akan menolaknya ke bawah, mengekalkan keseluruhan sejarah kemas kini:
Helah serupa boleh digunakan apabila mengimport daripada mana-mana sumber luaran (tapak Internet, pangkalan data, fail luaran, dll.) untuk mengekalkan nilai lama untuk sejarah jika anda memerlukannya.
- Jadual pangsi merentas berbilang julat data
- Memasang jadual daripada fail berbeza menggunakan Power Query
- Mengumpul data daripada semua helaian buku ke dalam satu jadual