ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ฉันต้องการเจาะลึกสิ่งที่เรียกว่าการวิเคราะห์เชิงผสมผสาน สามารถกำหนดได้ว่าเป็นการเลือกและจัดองค์ประกอบของชุดตามหลักเกณฑ์ที่กำหนด อาจฟังดูลึกลับ แต่จริง ๆ แล้วมีกรณีการใช้งานที่เป็นประโยชน์มาก คุณสามารถดูวิดีโอทั้งหมดของบทช่วยสอนนี้ได้ที่ด้านล่างของบล็อกนี้
ในบทช่วยสอนนี้ ฉันจะแสดงวิธีการใช้ Power Query ใน LuckyTemplates
สารบัญ
กรณีตัวอย่างการวิเคราะห์เชิงผสมผสาน
ในการวิเคราะห์เชิงผสมผสานตัวอย่างนี้ ภารกิจคือเรามีรายการคลังสินค้าหกแห่ง และเราจำเป็นต้องสร้างชุดสามชุดที่ไม่ซ้ำกันทุกชุด ดูเหมือนจะเป็นปัญหาที่ค่อนข้างตรงไปตรงมา แต่นี่เป็นหนึ่งในกรณีที่ภาษามีความสำคัญจริงๆ
คำตอบที่ถูกต้องคือ 216, 120, 56 หรือ 20 ดังนั้น ขึ้นอยู่กับว่าคุณกำหนดเซตเฉพาะนั้นอย่างไรและกฎที่คุณกำหนด คุณอาจถูกลดค่าลง 10 เท่าหากคุณจัดเซตไม่ถูกต้อง
ดังนั้น มีสองมิติที่สำคัญที่นี่ ข้อแรกคือ “ คำสั่งซื้อมีความสำคัญหรือไม่” ดังนั้นเมื่อเราพูดถึงสามชุดของสาม ABC เทียบเท่ากับ BCA หรือไม่ การสั่งซื้อมีความสำคัญหรือไม่? และถ้าลำดับมีความสำคัญเรากำลังพูดถึง การ เรียงสับเปลี่ยน
ตัวอย่างที่ดีของการเรียงสับเปลี่ยนที่คำสั่งซื้อมีความสำคัญคือ (เรากำลังพูดถึงบริบทของคลังสินค้า) ในกรณีของเวลาเดินทาง เป็นไปได้มากว่าหากคุณไปที่โกดัง A จากนั้นไปที่โกดัง B แล้วตามด้วยโกดัง C เวลาในการเดินทางเนื่องจากการจราจรที่ติดขัดกับการจราจร เวลาที่คุณไปถึงโกดังแต่ละแห่งอาจแตกต่างกันมากขึ้นอยู่กับคำสั่งซื้อ ที่คุณเยี่ยมชมพวกเขา
ในทางกลับกันคือ “ ลำดับไม่สำคัญ ” ซึ่งในกรณีนี้เรากำลังพูดถึงการรวมกันไม่ใช่การเรียงสับเปลี่ยน กรณีการใช้งานที่นี่ที่พบบ่อยคือระยะทาง ตัวอย่างเช่น ขณะที่อีกาโบยบิน ระยะทางจาก A ถึง B ถึง C จะไม่แตกต่างไปจากระยะทางจาก B ถึง C ถึง A สิ่งเหล่านี้จะถูกพิจารณาในบริบทที่ผสมผสานกัน
ชุดค่าผสมจะถือว่าซ้ำกัน ในขณะที่ในบริบทการเรียงสับเปลี่ยน จะถือว่าไม่ซ้ำกัน
อย่างที่คุณเห็น กุญแจรหัสควรเป็นรหัสล็อคแบบเรียงสับเปลี่ยนจริงๆ เพราะในกรณีนั้น ลำดับมีความสำคัญ ทำให้เป็นการเปลี่ยนรูป ไม่ใช่การรวมกัน
คำถามหรือมิติที่สองที่สำคัญคือ " เมื่อเลือกสินค้าแล้ว จะสามารถหยิบได้อีกหรือไม่" เช่น ถ้าเราเลือก A เป็นโกดังแรก เราจะเลือก A อีกครั้งได้ไหม หรือต้องเลือกองค์ประกอบไม่ซ้ำกันทุกครั้ง
คำที่เราใช้ในที่นี้คือ " พร้อมสิ่งทดแทน " หรือ " ไม่มีสิ่งทดแทน " ดังนั้น หากสามารถหยิบสินค้าได้อีกครั้ง แสดงว่ามีสินค้าทดแทน หมายความว่าคุณเลือกสินค้านั้น และในแง่หนึ่ง มันจะกลับเข้าไปในถังเลือกและเลือกอีกครั้ง หากคำตอบคือไม่
ดังนั้น คุณจะเห็นได้จากโซลูชันนี้ว่าการเรียงสับเปลี่ยนด้วยการแทนที่นั้นมีข้อจำกัดน้อยที่สุด นั่นคือชุดที่ทำให้เรามีชุดที่ไม่ซ้ำกัน 216 ชุด และชุดค่าผสมที่ไม่มีการแทนที่เป็นข้อ จำกัด ที่สุดที่ให้เรา 20
เราจะใช้สูตรเหล่านี้เป็นวิธีตรวจสอบผลลัพธ์Power Query ของเรา ดังนั้นเราจะจำ 216, 120, 56 และ 20 ทีนี้มาดู Power Query และดูว่าการวิเคราะห์เชิงผสมนี้เป็นอย่างไร
การวิเคราะห์เชิงผสม: การเรียงสับเปลี่ยนใน Power Query
ใน Power Query ฉันมีกรณีง่ายๆ ที่มีคลังสินค้าที่มีชื่อหกแห่งที่นี่
และฉันได้พัฒนาฟังก์ชัน Power Query M ซึ่งฉันใช้ในการประมวลผลชุดค่าผสมและการเปลี่ยนลำดับ
ขั้นแรก ฉันจะพัฒนากรณีการใช้งานแรกซึ่งเป็นการเรียงสับเปลี่ยนด้วยการแทนที่ซึ่งเป็นข้อ จำกัด น้อยที่สุดในกลุ่ม วิธีการทำเช่นนั้นใน Power Query คือการใช้ ตาราง คลังสินค้า นี้ และอ้างอิง (ใน DAX เราใช้CROSSJOIN )
ฉันจะเรียกสิ่งนี้ว่าPer w Rep (การเรียงสับเปลี่ยนด้วยการแทนที่)
มีหลายวิธีที่คุณสามารถทำการรวมข้ามใน Power Query วิธีที่ ง่ายที่สุดที่ฉันพบคือไปAdd columnแล้วCustom column ในสูตรคอลัมน์แบบกำหนดเอง อ้างอิงตารางคลังสินค้า
และสิ่งที่เราจะพบเมื่อเราคลิกตกลงก็คือมันสร้างตารางที่ซ้อนกัน
จากนั้น เราขยายสิ่งนั้นและยกเลิกการคลิก Use original columns name as a prefix
และเราได้Location.1 นี้มา ซึ่งก็คือการรวมของสองอย่างที่เป็นไปได้ ดังนั้นจึงใช้การอ้างอิงหกรายการแรกกับชุดค่าผสมอีกหกรายการ หกชุดที่สองทำแบบเดียวกันจนครบ 36 ชุด
เราสามารถทำอันที่สามได้โดยทำเช่นนี้อีกครั้ง ดังนั้นเราไปที่ เพิ่มคอลัมน์ จากนั้นเพิ่มคอลัมน์ที่กำหนดเอง และจากนั้น โกดัง
และเราจะมี 216 แถวเป็นลำดับการเรียงสับเปลี่ยน
และคุณดูจากข้างล่างนี้ 3 คอลัมน์ 216 แถว
กรณีการใช้งานต่อไปคือการเรียงสับเปลี่ยนโดยไม่มีการแทนที่ สิ่งที่เรากำลังคิดอยู่นี้ก็คือทุกอย่างที่มีองค์ประกอบซ้ำๆ ดังนั้นในตารางนี้ เราจะดูตั้งแต่แถวที่ 1 ถึงแถวที่ 8
ในการทำเช่น นั้นเราจะดูที่ฟังก์ชันfxSortAndIsDistinct นี้
ในโปรแกรมแก้ไขขั้นสูง คุณจะเห็นสิ่งนี้โดยพื้นฐานแล้วขอตาราง จากนั้นจะทำSortLocs แต่ส่วนที่สำคัญที่นี่สำหรับ "พร้อมสิ่งทดแทน" หรือ "ไม่มีสิ่งทดแทน" คือนี่คือฟังก์ชันIsDistinct สิ่งนี้ทำเพียงแค่ใช้รายการองค์ประกอบและตัดสินว่าจริงหรือเท็จ ไม่ว่าจะเป็นความแตกต่างหรือว่ามีรายการที่ซ้ำกันในรายการของรายการหรือไม่
เราไปที่นี่ เลือกPerm w RepและกดInvoke
นี่จะทำให้เรามี คอลัมน์ใหม่สองคอลัมน์SortLocsและIsDistinct ตอนนี้ โปรดจำไว้ว่าแปดบันทึกแรกมีรายการที่ซ้ำกัน และ บันทึก ที่เก้าเป็นครั้งแรกที่เราเห็นความแตกต่าง นั่นคือสาเหตุที่แถวที่เก้าตรงนี้เป็นแถวแรกที่แสดงว่าเป็นจริง
หากเรานึกย้อนกลับไปถึงตัวเลขที่เราใช้ในการคำนวณแฟกทอเรียล เราคาดว่าจะมี 120 ระเบียนหากเรานำระเบียนที่ไม่แตกต่างกันออก มาลองกรองที่นี่และนำ FALSE ออก
เมื่อเราทำอย่างนั้น เราจะได้ลงมาตรงนี้เท่ากับ 120 แถวที่เราคาดไว้ ตอนนี้เรามาเปลี่ยนชื่อเป็นPerm wo Rep (การเรียงสับเปลี่ยนโดยไม่มีการแทนที่)
การวิเคราะห์เชิงผสม: การรวมกันใน Power Query
ตอนนี้เราจะทำร่วมกับการแทนที่ ในการทำเช่นนั้น เราเพียงแค่ทำขั้นตอนอีกครั้งและทำซ้ำขั้นตอน (เรียกใช้ฟังก์ชัน) ดังนั้นจึงไม่เป็นไรที่เรามีข้อมูลที่ซ้ำกัน แต่เราไม่ต้องการชุดที่มีองค์ประกอบเหมือนกันแต่อยู่ในลำดับที่ต่างกัน
ในกรณีนี้ เมื่อเรากำลังพูดถึงชุดค่าผสม หากคุณจำได้ว่า ABC เท่ากับ BCA เท่ากับ CAB ทั้งหมดนี้จะถือว่าซ้ำกัน และวิธีที่เราพิจารณาคือผ่านฟังก์ชัน Sort ( fxSortAndIsDistinct )
หากเรากลับเข้าไปในฟังก์ชันในตัวแก้ไขขั้นสูง เราจะเห็นคอลัมน์ที่สองที่เรานำรายการนั้นมาและจัดเรียงตามตัวอักษร จากนั้น เราแยกค่าที่คั่นด้วยเครื่องหมายจุลภาคออกจากรายการนั้น ตอนนี้เรามีแต่ละชุดเรียงตามตัวอักษร เราได้ปรับลำดับให้เป็นมาตรฐานเพื่อให้ง่ายต่อการค้นหารายการที่ซ้ำกัน
ตอนนี้ถ้าเรากลับไปที่ Invoked Function นี้ โปรดจำไว้ว่าเรากำลังมองหา 56 ระเบียนที่นี่ ดังนั้นเราจึงใช้ตำแหน่งประเภทนี้ ( SortLocs ) และลบรายการที่ซ้ำกันของเรา
ด้วยเหตุนี้เราจึงได้ 56 แถว
นี่เป็นกรณีการใช้งานที่สามของเรา เปลี่ยนชื่อสิ่งนี้เป็นCC w Rep (รวมกับการแทนที่)
เรามาสรุปสิ่งนี้กันอีกครั้งโดยการเรียงสับเปลี่ยนกับตารางการแทนที่ (Perm w Rep) และทำรูปแบบเดียวกัน (เรียกใช้) จากนั้น เราจะลบรายการที่ซ้ำกัน (คอลัมน์ SortLocs) เนื่องจากเป็นการรวมกันและลำดับไม่สำคัญ ไม่มีการแทนที่ ดังนั้นเราต้องการเฉพาะรายการที่แตกต่างกันเท่านั้น ดังนั้นเราจึงคลิก FALSE ในคอลัมน์ IsDistinct
ด้วยสิ่งนี้ เราได้รับ 20 รายการ และตอนนี้เรามีกรณีการใช้งานทั้งหมดสี่กรณี
การเรียงลำดับคอลัมน์ตารางวันที่ใน LuckyTemplates
Beginners' Guide To The M Code In LuckyTemplates
Convert the Date Table Function Into a Table Query In LuckyTemplates
บทสรุป
ตอนนี้เรามีกรณีการใช้งานทั้งหมดสี่กรณี คุณสามารถเห็นได้ว่าสิ่งนี้มีประสิทธิภาพมากเพียงใดในแง่ของการพัฒนาการวิเคราะห์เชิงผสมที่ให้คุณควบคุมการแทนที่และองค์ประกอบที่แตกต่าง
สิ่งนี้ยังใช้ได้กับบางกรณีที่ซับซ้อนกว่าที่คุณมีการแทนที่บางส่วน หรืออาจเลือกองค์ประกอบที่ซ้ำกันสำหรับองค์ประกอบแรก แต่ไม่ใช่ในครั้งที่สอง คุณยังสามารถจัดการสิ่งนั้น ได้อย่างดีภายในPower Query
ฉันหวังว่าคุณจะพบว่าสิ่งนี้มีประโยชน์ ตรวจสอบลิงค์ด้านล่างสำหรับเนื้อหาเพิ่มเติม คุณยังสามารถดูวิดีโอแบบเต็มของบทช่วยสอนนี้ได้ด้านล่าง
ดีที่สุด!
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร
เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates
บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์
หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ
เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้