ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ວິທີການປ່ຽນແທນຂໍ້ຄວາມຢ່າງວ່ອງໄວ ແລະເປັນຈຳນວນຫຼາຍຕາມລາຍການອ້າງອີງດ້ວຍສູດ – ພວກເຮົາໄດ້ຈັດຮຽງມັນອອກແລ້ວ. ຕອນນີ້ໃຫ້ລອງເຮັດມັນໃນ Power Query.

ດັ່ງທີ່ເກີດຂື້ນເລື້ອຍໆ ປະຕິບັດ ວຽກງານນີ້ແມ່ນງ່າຍກວ່າການອະທິບາຍ ເປັນຫຍັງ ມັນເຮັດວຽກ, ແຕ່ໃຫ້ພະຍາຍາມເຮັດທັງສອງ 🙂

ດັ່ງນັ້ນ, ພວກເຮົາມີສອງຕາຕະລາງແບບເຄື່ອນໄຫວ "ສະຫຼາດ" ທີ່ສ້າງຂຶ້ນຈາກຂອບເຂດທົ່ວໄປທີ່ມີປຸ່ມລັດແປ້ນພິມ Ctrl+T ຫຼືທີມງານ ຫນ້າທໍາອິດ – ຈັດຮູບແບບເປັນຕາຕະລາງ (ຫນ້າທໍາອິດ — Format as ຕາ​ຕະ​ລາງ​):

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ຂ້າພະເຈົ້າໄດ້ໂທຫາຕາຕະລາງທໍາອິດ ຂໍ້ມູນຕາຕະລາງທີສອງ - Directoryການນໍາໃຊ້ພາກສະຫນາມ ຊື່ຕາຕະລາງ (ຊື່ຕາຕະລາງ) ແຖບ ຜູ້ກໍ່ສ້າງ (ອອກ​ແບບ).

Task: ແທນທີ່ທີ່ຢູ່ໃນຕາຕະລາງ ຂໍ້ມູນ ເຫດການທັງໝົດຈາກຖັນໃດໜຶ່ງ ຊອກ​ຫາ ຄູ່ມື ໄປຫາຄູ່ທີ່ຖືກຕ້ອງທີ່ສອດຄ້ອງກັນຂອງເຂົາເຈົ້າຈາກຖັນ ທົດແທນ. ສ່ວນທີ່ເຫຼືອຂອງຂໍ້ຄວາມໃນເຊລຄວນຖືກແຕະຕ້ອງ.

ຂັ້ນຕອນທີ 1. ໂຫລດໄດເລກະທໍລີເຂົ້າໄປໃນ Power Query ແລະເຮັດໃຫ້ມັນເຂົ້າໄປໃນບັນຊີລາຍຊື່

ໂດຍໄດ້ຕັ້ງຕາລາງທີ່ໃຊ້ງານຢູ່ບ່ອນໃດກໍໄດ້ໃນຕາຕະລາງອ້າງອີງ, ໃຫ້ຄລິກໃສ່ແຖບ ຂໍ້ມູນ (ວັນທີ)ຫຼືຢູ່ໃນແຖບ ແບບສອບຖາມພະລັງງານ (ຖ້າທ່ານມີ Excel ລຸ້ນເກົ່າ ແລະທ່ານຕິດຕັ້ງ Power Query ເປັນ add-in ໃນແຖບແຍກຕ່າງຫາກ) ຢູ່ໃນປຸ່ມ. ຈາກຕາຕະລາງ/ໄລຍະ (ຈາກຕາຕະລາງ/ໄລຍະ).

ຕາຕະລາງອ້າງອີງຈະຖືກໂຫລດໃສ່ຕົວແກ້ໄຂການສອບຖາມ Power Query:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ໃນຄໍາສັ່ງທີ່ຈະບໍ່ແຊກແຊງ, ຂັ້ນຕອນທີ່ເພີ່ມອັດຕະໂນມັດ ປະເພດດັດແກ້ (ປ່ຽນປະເພດ) ໃນແຜງດ້ານຂວາ, ຂັ້ນຕອນທີ່ນໍາໃຊ້ສາມາດຖືກລົບອອກໄດ້ຢ່າງປອດໄພ, ປ່ອຍໃຫ້ພຽງແຕ່ຂັ້ນຕອນ ແຫຼ່ງຂໍ້ມູນ (Source):

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ໃນປັດຈຸບັນ, ເພື່ອປະຕິບັດການຫັນປ່ຽນແລະການທົດແທນຕື່ມອີກ, ພວກເຮົາຈໍາເປັນຕ້ອງປ່ຽນຕາຕະລາງນີ້ເຂົ້າໄປໃນບັນຊີລາຍຊື່ (ບັນຊີລາຍຊື່).

ເນື້ອຮ້ອງ ທຳນອງ

ກ່ອນທີ່ຈະສືບຕໍ່, ທໍາອິດໃຫ້ພວກເຮົາເຂົ້າໃຈຂໍ້ກໍານົດ. Power Query ສາມາດເຮັດວຽກກັບວັດຖຸຫຼາຍປະເພດ:
  • ຕາຕະລາງ ເປັນອາເຣສອງມິຕິທີ່ປະກອບດ້ວຍຫຼາຍແຖວ ແລະຖັນ.
  • ບັນທຶກ (Record) - array-string ມິຕິໜຶ່ງມິຕິ, ປະກອບດ້ວຍຫຼາຍຊ່ອງຂໍ້ມູນທີ່ມີຊື່, ຕົວຢ່າງ. [ຊື່ = “Masha”, ເພດ = “f”, ອາຍຸ = 25]
  • ບັນ​ຊີ​ລາຍ​ຊື່ – ຖັນ array-ມິຕິໜຶ່ງມິຕິ, ປະກອບດ້ວຍຫຼາຍອົງປະກອບ, ຕົວຢ່າງ {1, 2, 3, 10, 42} or {“ສັດທາ ຄວາມຫວັງຄວາມຮັກ” }

ເພື່ອແກ້ໄຂບັນຫາຂອງພວກເຮົາ, ພວກເຮົາຈະສົນໃຈຕົ້ນຕໍໃນປະເພດ ບັນ​ຊີ​ລາຍ​ຊື່.

ເຄັດລັບຢູ່ທີ່ນີ້ແມ່ນວ່າລາຍການລາຍການໃນ Power Query ສາມາດບໍ່ພຽງແຕ່ຕົວເລກ banal ຫຼືຂໍ້ຄວາມ, ແຕ່ຍັງບັນຊີລາຍຊື່ຫຼືບັນທຶກອື່ນໆ. ມັນແມ່ນຢູ່ໃນບັນຊີລາຍຊື່ tricky ດັ່ງກ່າວ, ປະກອບດ້ວຍບັນທຶກ (ບັນທຶກ) ທີ່ພວກເຮົາຈໍາເປັນຕ້ອງໄດ້ຫັນໄດເລກະທໍລີຂອງພວກເຮົາ. ໃນ Power Query syntactic notation (ລາຍການໃນວົງເລັບສີ່ຫຼ່ຽມ, ລາຍຊື່ໃນວົງເລັບ curly) ນີ້ຄື:

{

    [ ຊອກຫາ = “St. Petersburg”, ແທນທີ່ = “St. Petersburg] ,

    [ ຊອກຫາ = “St. Petersburg”, ແທນທີ່ = “St. Petersburg] ,

    [ ຊອກຫາ = “ເປໂຕ”, ແທນທີ່ = “St. Petersburg] ,

ແລະອື່ນໆ

}

ການ​ປ່ຽນ​ແປງ​ດັ່ງ​ກ່າວ​ແມ່ນ​ປະ​ຕິ​ບັດ​ໂດຍ​ການ​ນໍາ​ໃຊ້​ຫນ້າ​ທີ່​ພິ​ເສດ​ຂອງ​ພາ​ສາ M ສ້າງ​ໃນ Power Query – ຕາຕະລາງ.ToRecords. ເພື່ອນຳໃຊ້ມັນໂດຍກົງໃນແຖບສູດ, ເພີ່ມຟັງຊັນນີ້ໃສ່ລະຫັດຂັ້ນຕອນຢູ່ທີ່ນັ້ນ ແຫຼ່ງຂໍ້ມູນ.

ມັນແມ່ນ:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ຫຼັງຈາກ:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ຫຼັງຈາກເພີ່ມຟັງຊັນ Table.ToRecords, ຮູບລັກສະນະຂອງຕາຕະລາງຂອງພວກເຮົາຈະປ່ຽນແປງ - ມັນຈະປ່ຽນເປັນບັນຊີລາຍຊື່ຂອງບັນທຶກ. ເນື້ອໃນຂອງບັນທຶກແຕ່ລະອັນສາມາດເຫັນໄດ້ຢູ່ລຸ່ມສຸດຂອງແຖບມຸມມອງໂດຍການຄລິກທີ່ພື້ນຫຼັງຂອງຕາລາງທີ່ຢູ່ຂ້າງຄຳສັບໃດນຶ່ງ. ການບັນທຶກ (ແຕ່ບໍ່ແມ່ນໃນຄໍາດຽວ!)

ນອກເຫນືອໄປຈາກຂ້າງເທິງ, ມັນເຮັດໃຫ້ຄວາມຮູ້ສຶກທີ່ຈະເພີ່ມຫນຶ່ງເສັ້ນເລືອດຕັນໃນ - ເພື່ອ cache (buffer) ບັນຊີລາຍຊື່ທີ່ສ້າງຂອງພວກເຮົາ. ນີ້ຈະບັງຄັບໃຫ້ Power Query ໂຫຼດລາຍຊື່ການຊອກຫາຂອງພວກເຮົາເມື່ອເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາແລະບໍ່ຄິດໄລ່ມັນອີກເທື່ອຫນຶ່ງເມື່ອພວກເຮົາເຂົ້າເຖິງມັນເພື່ອທົດແທນມັນ. ເພື່ອເຮັດສິ່ງນີ້, ຫໍ່ສູດຂອງພວກເຮົາໃນຫນ້າອື່ນ - List.Buffer:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ການເກັບຂໍ້ມູນດັ່ງກ່າວຈະໃຫ້ຄວາມໄວເພີ່ມຂຶ້ນຢ່າງເຫັນໄດ້ຊັດ (ຫຼາຍຄັ້ງ!) ທີ່ມີຈໍານວນຂໍ້ມູນເບື້ອງຕົ້ນຈໍານວນຫຼວງຫຼາຍທີ່ຈະຖືກລຶບລ້າງ.

ນີ້ເຮັດສໍາເລັດການກະກຽມປື້ມຄູ່ມື.

ມັນຍັງຄົງໃຫ້ຄລິກໃສ່ ຫນ້າທໍາອິດ - ປິດແລະໂຫຼດ - ປິດແລະໂຫຼດໄປທີ່… (ຫນ້າທໍາອິດ — Close&Load — Close&Load to..), ເລືອກທາງເລືອກ ພຽງແຕ່ສ້າງການເຊື່ອມຕໍ່ (ພຽງແຕ່ສ້າງການເຊື່ອມຕໍ່) ແລະກັບຄືນໄປຫາ Excel.

ຂັ້ນຕອນທີ 2. ການໂຫຼດຕາຕະລາງຂໍ້ມູນ

ທຸກສິ່ງທຸກຢ່າງແມ່ນ trite ຢູ່ທີ່ນີ້. ດັ່ງທີ່ຜ່ານມາກັບປື້ມອ້າງອີງ, ພວກເຮົາລຸກຂຶ້ນໄປຫາບ່ອນໃດກໍ່ຕາມໃນຕາຕະລາງ, ໃຫ້ຄລິກໃສ່ແຖບ ຂໍ້ມູນ ປຸ່ມ ຈາກຕາຕະລາງ/ໄລຍະ ແລະຕາຕະລາງຂອງພວກເຮົາ ຂໍ້ມູນ ເຂົ້າໄປໃນ Power Query. ເພີ່ມຂັ້ນຕອນອັດຕະໂນມັດ ປະເພດດັດແກ້ (ປ່ຽນປະເພດ) ທ່ານຍັງສາມາດເອົາອອກໄດ້:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ບໍ່ມີການກະ ທຳ ການກະກຽມພິເສດທີ່ຕ້ອງເຮັດກັບມັນ, ແລະພວກເຮົາກ້າວໄປສູ່ສິ່ງທີ່ ສຳ ຄັນທີ່ສຸດ.

ຂັ້ນຕອນທີ 3. ປະຕິບັດການທົດແທນໂດຍໃຊ້ຟັງຊັນ List.Accumulate

ໃຫ້ເພີ່ມຄໍລໍາທີ່ຄິດໄລ່ໃສ່ຕາຕະລາງຂໍ້ມູນຂອງພວກເຮົາໂດຍໃຊ້ຄໍາສັ່ງ ການເພີ່ມຖັນ – ຖັນແບບກຳນົດເອງ (ເພີ່ມຖັນ — ຖັນແບບກຳນົດເອງ): ແລະໃສ່ຊື່ຂອງຖັນທີ່ເພີ່ມໃສ່ໃນປ່ອງຢ້ຽມທີ່ເປີດ (ຕົວຢ່າງ, ແກ້ໄຂທີ່ຢູ່) ແລະຫນ້າທີ່ magic ຂອງພວກເຮົາ ລາຍຊື່.ສະສົມ:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ມັນຍັງຄົງໃຫ້ຄລິກໃສ່ OK - ແລະພວກເຮົາໄດ້ຮັບຖັນທີ່ມີການທົດແທນທີ່ເຮັດ:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ໃຫ້ສັງເກດວ່າ:

  • ເນື່ອງຈາກ Power Query ແມ່ນຕົວພິມນ້ອຍໃຫຍ່, ບໍ່ມີການທົດແທນໃນແຖວສຸດທ້າຍ, ເພາະວ່າໃນໄດເລກະທໍລີພວກເຮົາມີ "SPb", ບໍ່ແມ່ນ "SPb".
  • ຖ້າມີສາຍຍ່ອຍຫຼາຍອັນເພື່ອປ່ຽນແທນຂໍ້ມູນແຫຼ່ງຂໍ້ມູນ (ຕົວຢ່າງ, ໃນແຖວທີ 7, ເຈົ້າຕ້ອງການປ່ຽນແທນທັງ "S-Pb" ແລະ "Prospectus"), ສິ່ງນີ້ບໍ່ສ້າງບັນຫາໃດໆ (ບໍ່ຄືກັບການທົດແທນດ້ວຍສູດຈາກ. ວິທີການທີ່ຜ່ານມາ).
  • ຖ້າບໍ່ມີຫຍັງທີ່ຈະທົດແທນໃນຂໍ້ຄວາມຕົ້ນສະບັບ (ເສັ້ນທີ 9), ຫຼັງຈາກນັ້ນບໍ່ມີຂໍ້ຜິດພາດເກີດຂື້ນ (ບໍ່ຄືກັບ, ອີກເທື່ອຫນຶ່ງ, ຈາກການທົດແທນໂດຍສູດ).

ຄວາມໄວຂອງການຮ້ອງຂໍດັ່ງກ່າວແມ່ນຫຼາຍ, ເຫມາະສົມຫຼາຍ. ຕົວຢ່າງ, ສໍາລັບຕາຕະລາງຂໍ້ມູນເບື້ອງຕົ້ນທີ່ມີຂະຫນາດ 5000 ແຖວ, ຄໍາຖາມນີ້ໄດ້ຖືກປັບປຸງໃນເວລາຫນ້ອຍກວ່າຫນຶ່ງວິນາທີ (ໂດຍບໍ່ມີການ buffering, ໂດຍວິທີທາງການ, ປະມານ 3 ວິນາທີ!)

ຟັງຊັນ List.Acumulate ເຮັດວຽກແນວໃດ

ໃນຫຼັກການ, ນີ້ອາດຈະເປັນຈຸດສິ້ນສຸດ (ສໍາລັບຂ້ອຍທີ່ຈະຂຽນ, ແລະສໍາລັບທ່ານທີ່ຈະອ່ານ) ບົດຄວາມນີ້. ຖ້າທ່ານຕ້ອງການບໍ່ພຽງແຕ່ສາມາດ, ແຕ່ຍັງເຂົ້າໃຈວ່າມັນເຮັດວຽກແນວໃດ "ພາຍໃຕ້ຜ້າມ່ານ", ຫຼັງຈາກນັ້ນທ່ານຈະຕ້ອງ dive ເລິກເຂົ້າໄປໃນຂຸມກະຕ່າຍເລັກນ້ອຍແລະຈັດການກັບຟັງຊັນ List.Accumulate, ເຊິ່ງໄດ້ທົດແທນຈໍານວນຫຼວງຫຼາຍ. ເຮັດ​ວຽກ​ສໍາ​ລັບ​ພວກ​ເຮົາ​.

syntax ສໍາລັບຟັງຊັນນີ້ແມ່ນ:

=List.Accumulate(ບັນຊີລາຍຊື່, ແກ່ນ, ສະສົມ)

ບ່ອນທີ່

  • ບັນຊີລາຍຊື່ ແມ່ນບັນຊີລາຍຊື່ຂອງອົງປະກອບທີ່ພວກເຮົາກໍາລັງເຮັດຊ້ໍາອີກ. 
  • ແກ່ນ - ສະ​ພາບ​ເບື້ອງ​ຕົ້ນ​
  • ສະສົມ - ຟັງຊັນທີ່ປະຕິບັດການດໍາເນີນການບາງຢ່າງ (ຄະນິດສາດ, ຂໍ້ຄວາມ, ແລະອື່ນໆ) ໃນອົງປະກອບຕໍ່ໄປຂອງບັນຊີລາຍຊື່ແລະສະສົມຜົນຂອງການປະມວນຜົນໃນຕົວແປພິເສດ.

ໂດຍທົ່ວໄປ, syntax ສໍາລັບການຂຽນຟັງຊັນໃນ Power Query ເບິ່ງຄືວ່າ:

(argument1, argument2, … argumentN) => ບາງການກະທຳທີ່ມີການໂຕ້ຖຽງ

ຕົວຢ່າງ, ຟັງຊັນສະຫຼຸບສາມາດຖືກສະແດງເປັນ:

(a, b) => a + b

ສໍາລັບ List.Accumulate, ຟັງຊັນ accumulator ນີ້ມີສອງ argument ທີ່ຕ້ອງການ (ພວກເຂົາສາມາດຕັ້ງຊື່ຫຍັງ, ແຕ່ຊື່ປົກກະຕິແມ່ນ. ລັດ и ໃນປະຈຸບັນ, ໃນການຊ່ວຍເຫຼືອຢ່າງເປັນທາງການສໍາລັບຫນ້າທີ່ນີ້, ບ່ອນທີ່:

  • ລັດ – ຕົວ​ປ່ຽນ​ທີ່​ຜົນ​ໄດ້​ຮັບ​ແມ່ນ​ສະ​ສົມ (ຄ່າ​ທໍາ​ອິດ​ຂອງ​ຕົນ​ແມ່ນ​ຫນຶ່ງ​ທີ່​ໄດ້​ກ່າວ​ມາ​ຂ້າງ​ເທິງ​ ແກ່ນ)
  • ໃນປະຈຸບັນ – ຄ່າທີ່ເຮັດຊ້ຳຕໍ່ໄປຈາກລາຍການ ບັນຊີລາຍຊື່

ຕົວຢ່າງ, ໃຫ້ພິຈາລະນາຂັ້ນຕອນຂອງເຫດຜົນຂອງການກໍ່ສ້າງຕໍ່ໄປນີ້:

=List.Accumulate({3, 2, 5}, 10, (ລັດ, ປັດຈຸບັນ) => ລັດ + ປັດຈຸບັນ)

  1. ມູນຄ່າຕົວປ່ຽນແປງ ລັດ ຖືກຕັ້ງເທົ່າກັບການໂຕ້ຖຽງເບື້ອງຕົ້ນ ແກ່ນIe ລັດ = 10
  2. ພວກເຮົາເອົາອົງປະກອບທໍາອິດຂອງບັນຊີລາຍຊື່ (ປັດຈຸບັນ = 3) ແລະເພີ່ມມັນໃສ່ຕົວແປ ລັດ (ສິບ). ພວກເຮົາໄດ້ຮັບ ລັດ = 13.
  3. ພວກເຮົາເອົາອົງປະກອບທີສອງຂອງບັນຊີລາຍຊື່ (ປັດຈຸບັນ = 2) ແລະບວກກັບມູນຄ່າສະສົມໃນປະຈຸບັນຢູ່ໃນຕົວແປ ລັດ (ສິບ). ພວກເຮົາໄດ້ຮັບ ລັດ = 15.
  4. ພວກເຮົາເອົາອົງປະກອບທີສາມຂອງບັນຊີລາຍຊື່ (ປັດຈຸບັນ = 5) ແລະບວກກັບມູນຄ່າສະສົມໃນປະຈຸບັນຢູ່ໃນຕົວແປ ລັດ (ສິບ). ພວກເຮົາໄດ້ຮັບ ລັດ = 20.

ນີ້ແມ່ນສະສົມຫຼ້າສຸດ ລັດ ມູນຄ່າແມ່ນ List.Acumulate function ແລະຜົນໄດ້ຮັບຂອງພວກເຮົາ:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ຖ້າຫາກວ່າທ່ານ fantasize ເລັກນ້ອຍ, ຫຼັງຈາກນັ້ນການນໍາໃຊ້ຟັງຊັນ List.Accumulate, ທ່ານສາມາດຈໍາລອງ, ຕົວຢ່າງ, ຟັງຊັນ Excel CONCATENATE (ໃນ Power Query, ການປຽບທຽບຂອງມັນຖືກເອີ້ນວ່າ. ຂໍ້ຄວາມ.ລວມ) ການ​ນໍາ​ໃຊ້​ສໍາ​ນວນ​:

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ຫຼືແມ້ກະທັ້ງຊອກຫາຄ່າສູງສຸດ (ການປອມແປງຟັງຊັນ MAX ຂອງ Excel, ເຊິ່ງໃນ Power Query ເອີ້ນວ່າ List.Max):

ການປ່ຽນຂໍ້ຄວາມເປັນຊຸດໃນ Power Query ດ້ວຍຟັງຊັນ List.Accumulate

ຢ່າງໃດກໍຕາມ, ລັກສະນະຕົ້ນຕໍຂອງ List.Accumulate ແມ່ນຄວາມສາມາດໃນການປຸງແຕ່ງບໍ່ພຽງແຕ່ຂໍ້ຄວາມທີ່ງ່າຍດາຍຫຼືບັນຊີລາຍຊື່ຕົວເລກເປັນການໂຕ້ຖຽງ, ແຕ່ວັດຖຸທີ່ສັບສົນຫຼາຍ - ຕົວຢ່າງເຊັ່ນ lists-from-lists ຫຼື lists-from-records (ສະບາຍດີ, Directory!)

ໃຫ້ເບິ່ງອີກເທື່ອຫນຶ່ງກ່ຽວກັບການກໍ່ສ້າງທີ່ປະຕິບັດການທົດແທນໃນບັນຫາຂອງພວກເຮົາ:

ລາຍຊື່.ສະສົມ(Directory, [ທີ່ຢູ່], (ລັດ, ປັດຈຸບັນ) => Text.Replace(ລັດ, ປັດຈຸບັນ[ຊອກຫາ], ປັດຈຸບັນ[ປ່ຽນແທນ]) )

ມີຫຍັງເກີດຂຶ້ນຢູ່ບ່ອນນີ້?

  1. ເປັນມູນຄ່າເບື້ອງຕົ້ນ (ແກ່ນ) ພວກ​ເຮົາ​ເອົາ​ຂໍ້​ຄວາມ clumsy ທໍາ​ອິດ​ຈາກ​ຖັນ​ [ທີ່ຢູ່] ຕາ​ຕະ​ລາງ​ຂອງ​ພວກ​ເຮົາ​: 199034, St. Petersburg, str. Beringa, ງ. 1
  2. ຈາກນັ້ນ List.Accumulate iterates ຫຼາຍກວ່າອົງປະກອບຂອງລາຍຊື່ເທື່ອລະອັນ – ຄູ່ມື. ແຕ່ລະອົງປະກອບຂອງບັນຊີລາຍຊື່ນີ້ແມ່ນບັນທຶກທີ່ປະກອບດ້ວຍຄູ່ຂອງພາກສະຫນາມ "ສິ່ງທີ່ຊອກຫາ - ສິ່ງທີ່ຕ້ອງທົດແທນ" ຫຼື, ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ແຖວຕໍ່ໄປໃນໄດເລກະທໍລີ.
  3. ຟັງຊັນ accumulator puts ເຂົ້າໄປໃນຕົວແປ ລັດ ຄ່າເບື້ອງຕົ້ນ (ທີ່ຢູ່ທໍາອິດ 199034, St. Petersburg, str. Beringa, ງ. 1) ແລະ​ປະ​ຕິ​ບັດ​ຫນ້າ​ທີ່ accumulator ກ່ຽວ​ກັບ​ມັນ – ການ​ດໍາ​ເນີນ​ງານ​ການ​ທົດ​ແທນ​ການ​ນໍາ​ໃຊ້​ມາດ​ຕະ​ຖານ M​-function​ ຂໍ້ຄວາມ.ແທນທີ່ (ປຽບທຽບກັບຟັງຊັນ SUBSTITUTE ຂອງ Excel). syntax ຂອງມັນແມ່ນ:

    Text.Replace (ຂໍ້ຄວາມຕົ້ນສະບັບ, ສິ່ງທີ່ພວກເຮົາກໍາລັງຊອກຫາ, ສິ່ງທີ່ພວກເຮົາກໍາລັງປ່ຽນແທນ )

    ແລະ​ໃນ​ທີ່​ນີ້​ພວກ​ເຮົາ​ມີ​:

    • ລັດ ແມ່ນທີ່ຢູ່ເປື້ອນຂອງພວກເຮົາ, ເຊິ່ງຢູ່ໃນ ລັດ (ໄປ​ຈາກ ແກ່ນ)
    • ປັດຈຸບັນ[ຄົ້ນຫາ] - ມູນ​ຄ່າ​ພາກ​ສະ​ຫນາມ​ ຊອກ​ຫາ ຈາກລາຍການ iterated ຕໍ່ໄປຂອງບັນຊີລາຍຊື່ Directory, ເຊິ່ງຢູ່ໃນຕົວແປ ໃນປະຈຸບັນ
    • ປັດຈຸບັນ[ປ່ຽນແທນ] - ມູນ​ຄ່າ​ພາກ​ສະ​ຫນາມ​ ທົດແທນ ຈາກລາຍການ iterated ຕໍ່ໄປຂອງບັນຊີລາຍຊື່ Directoryນອນຢູ່ໃນ ໃນປະຈຸບັນ

ດັ່ງນັ້ນ, ສໍາລັບແຕ່ລະທີ່ຢູ່, ຮອບວຽນເຕັມຂອງການນັບທຸກເສັ້ນໃນໄດເລກະທໍລີແມ່ນດໍາເນີນການໃນແຕ່ລະຄັ້ງ, ແທນທີ່ຂໍ້ຄວາມຈາກຊ່ອງ [ຊອກຫາ] ດ້ວຍຄ່າຈາກຊ່ອງ [ແທນທີ່].

ຫວັງວ່າເຈົ້າຈະເຂົ້າໃຈ 🙂

  • ເປັນຊຸດແທນທີ່ຂໍ້ຄວາມໃນລາຍຊື່ໂດຍໃຊ້ສູດຄຳນວນ
  • ການສະແດງອອກປົກກະຕິ (RegExp) ໃນ Power Query

ອອກຈາກ Reply ເປັນ