ບາງຄັ້ງມີສະຖານະການໃນເວລາທີ່ມັນບໍ່ຮູ້ລ່ວງຫນ້າວ່າຈໍານວນແຖວແລະແຖວໃດທີ່ຕ້ອງການນໍາເຂົ້າຈາກຂໍ້ມູນແຫຼ່ງ. ສົມມຸດວ່າພວກເຮົາຕ້ອງໂຫລດຂໍ້ມູນຈາກໄຟລ໌ຂໍ້ຄວາມເຂົ້າໄປໃນ Power Query, ເຊິ່ງ, ຢູ່ glance ທໍາອິດ, ບໍ່ມີບັນຫາໃຫຍ່. ຄວາມຫຍຸ້ງຍາກແມ່ນວ່າໄຟລ໌ໄດ້ຖືກປັບປຸງເປັນປົກກະຕິ, ແລະມື້ອື່ນມັນອາດຈະມີຈໍານວນເສັ້ນທີ່ແຕກຕ່າງກັນກັບຂໍ້ມູນ, ຫົວສາມ, ບໍ່ແມ່ນສອງແຖວ, ແລະອື່ນໆ:
ນັ້ນແມ່ນ, ພວກເຮົາບໍ່ສາມາດເວົ້າລ່ວງຫນ້າດ້ວຍຄວາມແນ່ນອນ, ເລີ່ມຕົ້ນຈາກເສັ້ນໃດແລະຈໍານວນເສັ້ນທີ່ແນ່ນອນຕ້ອງນໍາເຂົ້າ. ແລະນີ້ແມ່ນບັນຫາ, ເພາະວ່າຕົວກໍານົດການເຫຼົ່ານີ້ແມ່ນ hard-coded ໃນ M-code ຂອງຄໍາຮ້ອງຂໍ. ແລະຖ້າທ່ານເຮັດການຮ້ອງຂໍສໍາລັບໄຟລ໌ທໍາອິດ (ການນໍາເຂົ້າ 5 ເສັ້ນເລີ່ມຕົ້ນຈາກ 4), ຫຼັງຈາກນັ້ນມັນຈະບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງກັບອັນທີສອງ.
ມັນຈະດີຫຼາຍຖ້າການສອບຖາມຂອງພວກເຮົາເອງສາມາດກໍານົດຈຸດເລີ່ມຕົ້ນແລະສິ້ນສຸດຂອງ "ເລື່ອນ" ຂໍ້ຄວາມສໍາລັບການນໍາເຂົ້າ.
ການແກ້ໄຂທີ່ຂ້ອຍຕ້ອງການສະເຫນີແມ່ນອີງໃສ່ຄວາມຄິດທີ່ວ່າຂໍ້ມູນຂອງພວກເຮົາມີບາງຄໍາສໍາຄັນຫຼືມູນຄ່າທີ່ສາມາດນໍາໃຊ້ເປັນເຄື່ອງຫມາຍ (ລັກສະນະ) ຂອງການເລີ່ມຕົ້ນແລະສິ້ນສຸດຂອງຕັນຂໍ້ມູນທີ່ພວກເຮົາຕ້ອງການ. ໃນຕົວຢ່າງຂອງພວກເຮົາ, ການເລີ່ມຕົ້ນຈະເປັນເສັ້ນເລີ່ມຕົ້ນດ້ວຍຄໍາ SKU, ແລະທ້າຍແມ່ນເສັ້ນທີ່ມີຄໍາ ທັງຫມົດ. ການກວດສອບແຖວນີ້ແມ່ນງ່າຍທີ່ຈະປະຕິບັດໃນ Power Query ໂດຍໃຊ້ຖັນທີ່ມີເງື່ອນໄຂ - ການປຽບທຽບຂອງຟັງຊັນ IF (ຖ້າແມ່ນ) ໃນ Microsoft Excel.
ໃຫ້ເບິ່ງວິທີການເຮັດມັນ.
ທໍາອິດ, ໃຫ້ເຮົາໂຫລດເນື້ອໃນຂອງໄຟລ໌ຂໍ້ຄວາມຂອງພວກເຮົາເຂົ້າໄປໃນ Power Query ໃນທາງມາດຕະຖານ - ຜ່ານຄໍາສັ່ງ ຂໍ້ມູນ – ໄດ້ຮັບຂໍ້ມູນ – ຈາກໄຟລ໌ – ຈາກໄຟລ໌ຂໍ້ຄວາມ / CSV (ຂໍ້ມູນ – ໄດ້ຮັບຂໍ້ມູນ – ຈາກໄຟລ໌ – ຈາກໄຟລ໌ຂໍ້ຄວາມ / CSV). ຖ້າທ່ານມີ Power Query ຕິດຕັ້ງເປັນ add-in ແຍກຕ່າງຫາກ, ຫຼັງຈາກນັ້ນຄໍາສັ່ງທີ່ສອດຄ້ອງກັນຈະຢູ່ໃນແຖບ. ແບບສອບຖາມພະລັງງານ:
ຕາມເຄີຍ, ເມື່ອນໍາເຂົ້າ, ທ່ານສາມາດເລືອກຕົວແຍກຖັນ (ໃນກໍລະນີຂອງພວກເຮົາ, ນີ້ແມ່ນແຖບ), ແລະຫຼັງຈາກການນໍາເຂົ້າ, ທ່ານສາມາດເອົາຂັ້ນຕອນທີ່ເພີ່ມໂດຍອັດຕະໂນມັດ. ປະເພດດັດແກ້ (ປ່ຽນປະເພດ), ເນື່ອງຈາກວ່າມັນໄວເກີນໄປສໍາລັບພວກເຮົາທີ່ຈະກໍານົດປະເພດຂໍ້ມູນໃສ່ຖັນ:
ໃນປັດຈຸບັນດ້ວຍຄໍາສັ່ງ ການເພີ່ມຖັນ – ຖັນຕາມເງື່ອນໄຂ (ເພີ່ມຖັນ — ຖັນຕາມເງື່ອນໄຂ)ໃຫ້ພວກເຮົາເພີ່ມຖັນທີ່ມີການກວດສອບສອງເງື່ອນໄຂ - ໃນຕອນຕົ້ນແລະທ້າຍຂອງບລັອກ - ແລະສະແດງຄ່າທີ່ແຕກຕ່າງກັນໃນແຕ່ລະກໍລະນີ (ຕົວຢ່າງ, ຕົວເລກ. 1 и 2). ຖ້າບໍ່ມີເງື່ອນໄຂໃດຖືກບັນລຸ, ຫຼັງຈາກນັ້ນຜົນຜະລິດ null:
ຫຼັງຈາກທີ່ຄລິກໃສ່ OK ພວກເຮົາໄດ້ຮັບຮູບພາບດັ່ງຕໍ່ໄປນີ້:
ຕອນນີ້ໃຫ້ໄປທີ່ແຖບ. ການຫັນເປັນ ແລະເລືອກທີມ ຕື່ມ - ລົງ (ການຫັນປ່ຽນ - ຕື່ມຂໍ້ມູນໃສ່ລົງ) – ສອງຄົນຂອງພວກເຮົາຈະຍືດລົງຖັນ:
ແລ້ວ, ດັ່ງທີ່ເຈົ້າອາດຈະເດົາ, ທ່ານພຽງແຕ່ສາມາດກັ່ນຕອງຫົວຫນ່ວຍໃນຖັນທີ່ມີເງື່ອນໄຂ - ແລະນີ້ແມ່ນຂໍ້ມູນທີ່ພວກເຮົາຕ້ອງການ:
ທັງຫມົດທີ່ຍັງເຫຼືອແມ່ນເພື່ອຍົກແຖວທໍາອິດໄປຫາ header ດ້ວຍຄໍາສັ່ງ ໃຊ້ແຖວທຳອິດເປັນສ່ວນຫົວ ແຖບ ຫນ້າທໍາອິດ (ຫນ້າທໍາອິດ - ໃຊ້ແຖວທໍາອິດເປັນສ່ວນຫົວ) ແລະເອົາຖັນທີ່ມີເງື່ອນໄຂເພີ່ມເຕີມທີ່ບໍ່ຈໍາເປັນອອກໂດຍການຄລິກຂວາໃສ່ຫົວຂອງມັນແລະເລືອກຄໍາສັ່ງ ລຶບຖັນ (ລຶບຖັນ):
ບັນຫາຖືກແກ້ໄຂ. ດຽວນີ້, ເມື່ອປ່ຽນຂໍ້ມູນໃນໄຟລ໌ຂໍ້ຄວາມ, ດຽວນີ້ການສອບຖາມຈະ ກຳ ນົດຈຸດເລີ່ມຕົ້ນແລະຈຸດສິ້ນສຸດຂອງຊິ້ນສ່ວນ "ລອຍ" ຂອງຂໍ້ມູນທີ່ພວກເຮົາຕ້ອງການແລະ ນຳ ເຂົ້າຕົວເລກທີ່ຖືກຕ້ອງໃນແຕ່ລະຄັ້ງ. ແນ່ນອນ, ວິທີການນີ້ຍັງໃຊ້ໄດ້ໃນກໍລະນີຂອງການນໍາເຂົ້າໄຟລ໌ XLSX, ບໍ່ແມ່ນໄຟລ໌ TXT, ເຊັ່ນດຽວກັນກັບການນໍາເຂົ້າໄຟລ໌ທັງຫມົດຈາກໂຟນເດີໃນເວລາດຽວກັນກັບຄໍາສັ່ງ. ຂໍ້ມູນ – ເອົາຂໍ້ມູນ – ຈາກໄຟລ໌ – ຈາກໂຟນເດີ (ຂໍ້ມູນ — ໄດ້ຮັບຂໍ້ມູນ — ຈາກໄຟລ໌ — ຈາກໂຟນເດີ).
- ການປະກອບຕາຕະລາງຈາກໄຟລ໌ທີ່ແຕກຕ່າງກັນໂດຍໃຊ້ Power Query
- ການອອກແບບແຖບຂ້າມເປັນຮາບພຽງດ້ວຍມະຫາພາກ ແລະ Power Query
- ການສ້າງແຜນວາດໂຄງການ Gantt ໃນ Power Query