อ่านในภาษาอังกฤษ

แชร์ผ่าน


เปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้ง

ใน Power Query คุณสามารถแปลงคอลัมน์เป็นคู่ของแอตทริบิวต์-ค่า โดยที่คอลัมน์กลายเป็นแถวได้

ไดอะแกรมคอลัมน์สําหรับการเปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้ง

แผนภาพที่แสดงตารางด้านซ้ายที่มีคอลัมน์และแถวที่ว่างเปล่า และค่าแอตทริบิวต์ A1, A2 และ A3 เป็นส่วนหัวของคอลัมน์ ในตารางนี้ คอลัมน์ A1 ประกอบด้วยค่า V1, V4 และ V7 คอลัมน์ A2 ประกอบด้วยค่า V2, V5 และ V8 คอลัมน์ A3 ประกอบด้วยค่า V3, V6 และ V9 เมื่อไม่ได้เลือกคอลัมน์แล้ว ตารางด้านขวาของไดอะแกรมจะมีคอลัมน์และแถวที่ว่างเปล่า คอลัมน์ Attributes ที่มีเก้าแถวที่มี A1, A2 และ A3 ซ้ําสามครั้ง และคอลัมน์ค่าที่มีค่า V1 ถึง V9

ตัวอย่างเช่น กําหนดตารางดังต่อไปนี้ ซึ่งแถวประเทศและคอลัมน์วันที่จะสร้างเมทริกซ์ของค่า ซึ่งเป็นเรื่องยากที่จะวิเคราะห์ข้อมูลในลักษณะที่ปรับขนาดได้

ตารางเริ่มต้นสําหรับตัวอย่างการเปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้ง

สกรีนช็อตของตารางที่มีคอลัมน์ ประเทศ ตั้งค่าในชนิดข้อมูลข้อความ และสามคอลัมน์ที่มีวันที่ 1 มิถุนายน 2023 วันที่ 1 กรกฎาคม 2023 และ 1 สิงหาคม 2023 จะตั้งค่าเป็นชนิดข้อมูลจํานวนเต็ม คอลัมน์ Country ประกอบด้วยสหรัฐอเมริกาในแถวที่ 1, แคนาดาในแถวที่ 2 และปานามาในแถวที่ 3

แต่คุณสามารถแปลงตารางเป็นตารางที่มีคอลัมน์ที่ไม่ได้เปลี่ยนหมุด ดังที่แสดงในรูปต่อไปนี้ ในตารางที่ถูกแปลง จะสามารถใช้วันที่เป็นแอตทริบิวต์เพื่อกรองได้ง่ายขึ้น

ตารางเป้าหมายของคอลัมน์ Unpivot

สกรีนช็อตของตารางที่มีคอลัมน์ประเทศซึ่งตั้งค่าเป็นชนิดข้อมูลข้อความ คอลัมน์แอตทริบิวต์ที่ตั้งค่าเป็นชนิดข้อมูลข้อความ และคอลัมน์ค่าที่ตั้งค่าเป็นชนิดข้อมูลจํานวนเต็ม คอลัมน์ Country ประกอบด้วยสหรัฐอเมริกาในสามแถวแรก แคนาดา ในสามแถวถัดไป และปานามาในสามแถวสุดท้าย คอลัมน์ Attribute ประกอบด้วยวันที่ 1 มิถุนายน 2023 ในแถวแรก แถวที่ข้างหน้า และแถวที่เจ็ด วันที่ 1 กรกฎาคม 2023 ในแถวที่สอง แถวที่ห้า และแถวแปดแถว และวันที่ 1 สิงหาคม 2023 ในแถวที่สาม แถวที่หก และแถว ninth

คีย์ในการแปลงนี้คือ คุณมีชุดของวันที่ในตารางที่ควรเป็นส่วนหนึ่งของคอลัมน์เดียว ค่าที่เกี่ยวข้องสําหรับแต่ละวันที่และประเทศควรอยู่ในคอลัมน์ที่แตกต่างกัน ซึ่งสร้างคู่แอตทริบิวต์-ค่าอย่างมีประสิทธิภาพ

Power Query จะสร้างคู่แอตทริบิวต์-ค่าโดยใช้สองคอลัมน์เสมอ:

  • แอตทริบิวต์: ชื่อของส่วนหัวของคอลัมน์ที่ถูกยกเลิกการระบุรายการ
  • ค่า: ค่าที่อยู่ใต้ส่วนหัวของคอลัมน์ที่ไม่ได้ระบุรายชื่อแต่ละรายการ

มีหลายตําแหน่งในส่วนติดต่อผู้ใช้ซึ่งคุณสามารถค้นหา คอลัมน์ Unpivot ได้ คุณสามารถคลิกขวาที่คอลัมน์ที่คุณต้องการยกเลิกควบคุมหรือคุณสามารถเลือกคําสั่งจากแท็บ แปลง ในริบบิ้นได้

สกรีนช็อตของการดําเนินการคลิกขวาเพื่อเปลี่ยนคอลัมน์แนวตั้งเป็นแนวตั้ง

สกรีนช็อตของคําสั่งคอลัมน์ Unpivot บนแท็บแปลง

มีสามวิธีที่คุณสามารถทําการเปลี่ยนคอลัมน์แนวนอนจากตาราง:

  • เปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้ง
  • เปลี่ยนคอลัมน์อื่นในแนวนอนเป็นแนวตั้ง
  • เปลี่ยนคอลัมน์ที่เลือกแนวนอนเป็นแนวตั้งเท่านั้น

เปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้ง

สําหรับสถานการณ์ที่อธิบายไว้ก่อนหน้านี้ ก่อนอื่นคุณต้องเลือกคอลัมน์ที่คุณต้องการเปลี่ยนแนวนอนเป็นแนวตั้ง คุณสามารถเลือก Ctrl ตามที่คุณเลือกคอลัมน์ได้มากเท่าที่คุณต้องการ สําหรับสถานการณ์สมมตินี้ คุณต้องการเลือกคอลัมน์ทั้งหมดยกเว้นคอลัมน์ที่ชื่อว่า Country หลังจากเลือกคอลัมน์แล้ว ให้คลิกขวาที่คอลัมน์ที่เลือกไว้ จากนั้นจึงเลือก เปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้ง

สาธิตวิธีการเปลี่ยนคอลัมน์วันที่ในตารางให้เป็นแนวนอน

สกรีนช็อตของตารางที่มีคอลัมน์วันที่ 1 มิถุนายน 2023 วันที่ 1 กรกฎาคม 2023 และวันที่ 1 สิงหาคม 2023 ที่เลือกและคําสั่งคอลัมน์ Unpivot ที่เลือกในเมนูทางลัด"

ผลลัพธ์ของการดําเนินการดังกล่าวจะให้ผลลัพธ์ที่แสดงในภาพต่อไปนี้

เปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้งเป็นตารางสุดท้าย

สกรีนช็อตของตารางที่มีคอลัมน์ประเทศซึ่งตั้งค่าเป็นชนิดข้อมูลข้อความ คอลัมน์แอตทริบิวต์ที่ตั้งค่าเป็นชนิดข้อมูลข้อความ และคอลัมน์ค่าที่ตั้งค่าเป็นชนิดข้อมูลจํานวนเต็ม คอลัมน์ Country ประกอบด้วยสหรัฐอเมริกาในสามแถวแรก แคนาดา ในสามแถวถัดไป และปานามาในสามแถวสุดท้าย คอลัมน์แอตทริบิวต์ประกอบด้วยวันที่ 1 มิถุนายน 2023 ในแถวแรก ข้างหน้า และแถวที่เจ็ด วันที่ 1 กรกฎาคม 2023 ในแถวที่สอง แถวที่ห้า และแถวแปดแถว และวันที่ 1 สิงหาคม 2023 ในแถวที่สาม แถวที่หก และแถว ninth นอกจากนี้ รายการคอลัมน์ Unpivot จะถูกเน้นในบานหน้าต่างการตั้งค่าคิวรีและรหัสภาษา M จะแสดงในแถบสูตร

ข้อควรพิจารณาพิเศษ

หลังจากสร้างคิวรีของคุณจากขั้นตอนก่อนหน้านี้แล้ว สมมติว่าตารางเริ่มต้นของคุณได้รับการอัปเดตให้มีลักษณะเหมือนกับภาพหน้าจอต่อไปนี้

เปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้งปรับปรุงตารางแหล่งข้อมูลแล้ว

สกรีนช็อตของตารางที่มีคอลัมน์วันที่ประเทศเดิมวันที่ 1 มิถุนายน 2023 วันที่ 1 กรกฎาคม 2023 และสิงหาคม 2023 โดยมีการเพิ่มคอลัมน์วันที่ 1 กันยายน 2023 คอลัมน์ Country ยังประกอบด้วยค่า USA, Canada และ Panama แต่ยังเพิ่มสหราชอาณาจักรไปยังแถวที่สี่และเม็กซิโกเพิ่มลงในแถวที่ห้าด้วย

โปรดสังเกตว่าคุณกําลังเพิ่มคอลัมน์ใหม่สําหรับวันที่ 1 กันยายน 2023 (9/1/2023) และสองแถวใหม่สําหรับประเทศ/ภูมิภาค สหราชอาณาจักรและเม็กซิโก

ถ้าคุณรีเฟรชคิวรีของคุณ โปรดสังเกตว่าการดําเนินการเสร็จสิ้นในคอลัมน์ที่อัปเดตแล้ว แต่ไม่มีผลต่อคอลัมน์ที่ไม่ได้เลือกในตอนแรก (ประเทศ ในตัวอย่างนี้) ซึ่งหมายความว่าคอลัมน์ใหม่ใด ๆ ที่คุณเพิ่มลงในตารางต้นฉบับจะถูกยกเลิกการระบุด้วยเช่นกัน

รูปภาพต่อไปนี้แสดงลักษณะของคิวรีของคุณหลังจากรีเฟรชด้วยตารางแหล่งข้อมูลที่อัปเดตใหม่

เปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้งเป็นตารางที่อัปเดตขั้นสุดท้าย

สกรีนช็อตของตารางที่มีคอลัมน์ประเทศ แอตทริบิวต์ และค่า สี่แถวแรกของคอลัมน์ Country ประกอบด้วยสหรัฐอเมริกา สี่แถวที่สองประกอบด้วยแคนาดา แถวที่สามประกอบด้วยปานามา สี่แถวที่สี่ประกอบด้วยสหราชอาณาจักร และสี่แถวที่ห้าประกอบด้วยเม็กซิโก คอลัมน์ Attribute ประกอบด้วยวันที่ 1 มิถุนายน 2023, 1 กรกฎาคม 2023 และสิงหาคม 2023 วันที่ในสี่แถวแรก ซึ่งซ้ํากันสําหรับแต่ละประเทศ

เปลี่ยนคอลัมน์อื่นในแนวนอนเป็นแนวตั้ง

คุณยังสามารถเลือกคอลัมน์ที่คุณไม่ต้องการเปลี่ยนคอลัมน์แนวนอนและเปลี่ยนคอลัมน์ส่วนเหลือของตาราง การดําเนินการนี้คือตําแหน่งที่ คอลัมน์ Unpivot อื่น เข้ามามีบทบาท

สกรีนช็อตของตารางที่มีเมนูทางลัดคอลัมน์ ประเทศ ที่เลือกและคําสั่ง ยกเลิกการทํา Pivot คอลัมน์อื่น ในเมนูจะถูกเน้น

ผลลัพธ์ของการดําเนินการนั้นให้ผลลัพธ์เดียวกันกับที่คุณได้รับจาก คอลัมน์ Unpivot

ตารางเป้าหมายตัวอย่างสําหรับคอลัมน์อื่นในการเปลี่ยนคอลัมน์แนวตั้งเป็นแนวนอน

สกรีนช็อตของตารางที่มีคอลัมน์ประเทศซึ่งตั้งค่าเป็นชนิดข้อมูลข้อความ คอลัมน์แอตทริบิวต์ที่ตั้งค่าเป็นชนิดข้อมูลข้อความ และคอลัมน์ค่าที่ตั้งค่าเป็นชนิดข้อมูลจํานวนเต็ม คอลัมน์ Country ประกอบด้วยสหรัฐอเมริกาในสามแถวแรก แคนาดา ในสามแถวถัดไป และปานามาในสามแถวสุดท้าย คอลัมน์ Attribute ประกอบด้วยวันที่ 1 มิถุนายน 2023 ในแถวแรก แถวที่ข้างหน้า และแถวที่เจ็ด วันที่ 1 กรกฎาคม 2023 ในแถวที่สอง แถวที่ห้า และแถวแปดแถว และวันที่ 1 สิงหาคม 2023 ในแถวที่สาม แถวที่หก และแถว ninth

หมายเหตุ

การแปลงข้อมูลนี้มีความสําคัญต่อคิวรีที่มีจํานวนคอลัมน์ที่ไม่รู้จัก การดําเนินการนี้จะเป็นการเปลี่ยนคอลัมน์ทั้งหมดออกจากตารางของคุณยกเว้นคอลัมน์ที่คุณเลือกไว้ นี่คือโซลูชันที่ดีที่สุดถ้าแหล่งข้อมูลของสถานการณ์ของคุณได้รับคอลัมน์วันที่ใหม่ในการรีเฟรชเนื่องจากคอลัมน์เหล่านั้นจะถูกเลือกและไม่ได้ใช้งาน

ข้อควรพิจารณาพิเศษ

คล้ายกับ การดําเนินการ ยกเลิกคอลัมน์ แนวตั้งเป็นแนวนอน ถ้าคิวรีของคุณได้รับการรีเฟรชและจะเลือกข้อมูลเพิ่มเติมจากแหล่งข้อมูล คอลัมน์ทั้งหมดจะถูกยกเลิกการระบุยกเว้นคอลัมน์ที่เลือกไว้ก่อนหน้านี้

เพื่อแสดงให้เห็นกระบวนการนี้ สมมติว่าคุณมีตารางใหม่เหมือนกับตารางในรูปต่อไปนี้

ตัวอย่างของตารางต้นทางการเปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้ง

สกรีนช็อตของตารางที่มีประเทศ, วันที่ 1 มิถุนายน 2023, วันที่ 1 กรกฎาคม 2023, วันที่ 1 สิงหาคม 2023 และคอลัมน์วันที่ 1 กันยายน 2023 โดยคอลัมน์ทั้งหมดจะตั้งค่าเป็นชนิดข้อมูลข้อความ คอลัมน์ ประเทศ ประกอบด้วย จากบนลงล่าง สหรัฐอเมริกา แคนาดา ปานามา สหราชอาณาจักร และเม็กซิโก

คุณสามารถเลือก คอลัมน์ ประเทศ จากนั้นเลือก เปลี่ยนคอลัมน์แนวนอนเป็นแนวตั้ง ให้ผลลัพธ์ดังต่อไปนี้

ตัวอย่างเปลี่ยนคอลัมน์แนวตั้งเป็นแนวตั้งที่อัปเดตตารางขั้นสุดท้าย

สกรีนช็อตของตารางที่มีคอลัมน์ประเทศ แอตทริบิวต์ และค่า คอลัมน์ประเทศและแอตทริบิวต์ถูกตั้งค่าเป็นชนิดข้อมูลข้อความ คอลัมน์ ค่า ถูกตั้งค่าเป็นชนิดข้อมูล ทั้งค่า สี่แถวแรกของคอลัมน์ Country ประกอบด้วยสหรัฐอเมริกา สี่แถวที่สองประกอบด้วยแคนาดา แถวที่สามประกอบด้วยปานามา สี่แถวที่สี่ประกอบด้วยสหราชอาณาจักร และสี่แถวที่ห้าประกอบด้วยเม็กซิโก คอลัมน์ Attribute ประกอบด้วย 1 มิถุนายน 2023, กรกฎาคม 1, 2023, สิงหาคม 1, 2023 และ 1 กันยายน 2023 ในสี่แถวแรก ซึ่งทําซ้ําสําหรับแต่ละประเทศ

เปลี่ยนคอลัมน์ที่เลือกแนวนอนเป็นแนวตั้งเท่านั้น

วัตถุประสงค์ของตัวเลือกสุดท้ายนี้คือ การยกเลิกเฉพาะคอลัมน์ที่ระบุจากตารางของคุณ ตัวเลือกนี้มีความสําคัญสําหรับสถานการณ์ที่คุณกําลังจัดการกับจํานวนคอลัมน์ที่ไม่รู้จักจากแหล่งข้อมูลของคุณ และคุณต้องการเปลี่ยนคอลัมน์ที่เลือกแนวนอนเป็นแนวตั้งเท่านั้น

เมื่อต้องการดําเนินการนี้ ให้เลือกคอลัมน์เพื่อเปลี่ยนการแสดงผลอย่างเป็นแนวตั้ง ซึ่งในตัวอย่างนี้คือคอลัมน์ทั้งหมดยกเว้นคอลัมน์ Country จากนั้นคลิกขวาที่คอลัมน์ใด ๆ ที่คุณเลือก จากนั้นเลือก ยกเลิกการทํา Pivot คอลัมน์ที่เลือกเท่านั้น

สกรีนช็อตของตารางที่มีคอลัมน์วันที่ที่เลือกไว้ และเน้นคอลัมน์ที่เลือก Unpivot เท่านั้น

สังเกตว่าการดําเนินการนี้จะให้ผลลัพธ์เดียวกันกับตัวอย่างก่อนหน้านี้อย่างไร

เปลี่ยนคอลัมน์แนวตั้งเป็นแนวตั้งเท่านั้นที่เลือกตารางสุดท้าย

สกรีนช็อตของตารางที่มีคอลัมน์ประเทศซึ่งตั้งค่าเป็นชนิดข้อมูลข้อความ คอลัมน์แอตทริบิวต์ที่ตั้งค่าเป็นชนิดข้อมูลข้อความ และคอลัมน์ค่าที่ตั้งค่าเป็นชนิดข้อมูลจํานวนเต็ม คอลัมน์ Country ประกอบด้วยสหรัฐอเมริกาในสามแถวแรก แคนาดา ในสามแถวถัดไป และปานามาในสามแถวสุดท้าย คอลัมน์ Attribute ประกอบด้วยวันที่ 1 มิถุนายน 2023 ในแถวแรก แถวที่ข้างหน้า และแถวที่เจ็ด วันที่ 1 กรกฎาคม 2023 ในแถวที่สอง ห้า และแถวแปดแถว และวันที่ 1 สิงหาคม 2023 ในแถวที่สาม หก และ ninth

ข้อควรพิจารณาพิเศษ

หลังจากทําการรีเฟรชแล้ว หากตารางต้นทางของเรามีคอลัมน์ใหม่ 9/1/2020 และแถวใหม่สําหรับสหราชอาณาจักรและเม็กซิโก ผลลัพธ์ของคิวรีจะแตกต่างจากตัวอย่างก่อนหน้า สมมติว่าตารางแหล่งข้อมูลของเราหลังจากรีเฟรชแล้ว จะเปลี่ยนเป็นตารางในรูปต่อไปนี้

สกรีนช็อตของตารางแหล่งข้อมูลที่อัปเดตแล้วสําหรับคอลัมน์ที่เลือก unpivot เท่านั้น

ผลลัพธ์ของคิวรีของเรามีลักษณะเหมือนกับภาพต่อไปนี้

สกรีนช็อตของคอลัมน์ที่เลือก Unpivot เท่านั้นที่อัปเดตตารางขั้นสุดท้าย

ซึ่งจะมีลักษณะดังนี้ เนื่องจากการดําเนินการ unpivot ถูกนําไปใช้เฉพาะบน 6/1/2020, 7/1/2020 และ 8/1/2020 คอลัมน์ ดังนั้นคอลัมน์ที่มีส่วนหัว 9/1/2020 ยังคงไม่เปลี่ยนแปลง