Thep Excel

Table.SelectColumns – เลือกคอลัมน์ที่ต้องการจากตาราง

Table.SelectColumns ใช้สำหรับเลือกคอลัมน์เฉพาะจากตารางและสร้างตารางใหม่ที่มีเฉพาะคอลัมน์เหล่านั้น

= Table.SelectColumns(table, columns, optional missingField)

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
9/10

Difficulty
2/10

Usefulness
9/10

Syntax & Arguments

= Table.SelectColumns(table, columns, optional missingField)

Argument Type Required Default Description
table table Yes ตารางต้นฉบับที่ต้องการเลือกคอลัมน์
columns text or list Yes ชื่อคอลัมน์ที่ต้องการ (ข้อความเดี่ยว หรือ list of text)
missingField MissingField code Optional Error (ค่าเริ่มต้นจะ error ถ้าหาคอลัมน์ไม่เจอ) พฤติกรรมเมื่อคอลัมน์ไม่มี: MissingField.UseNull หรือ MissingField.Ignore

How it works

ลดขนาดข้อมูล

เลือกเฉพาะคอลัมน์ที่จำเป็นต้องใช้ในการวิเคราะห์ เพื่อลดการใช้หน่วยความจำ

จัดลำดับคอลัมน์ใหม่

เมื่อระบุ List ของคอลัมน์ ผลลัพธ์จะเรียงลำดับตาม List นั้น (ใช้ Reorder ได้ในตัว)

Examples

เลือกคอลัมน์เดี่ยว
let Source = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"], [CustomerID = 2, Name = "Jim", Phone = "987-6543"]}), SelectedColumns = Tabl…
ใช้ text string เดี่ยว "Name" เพื่อเลือกแค่คอลัมน์เดียว
Power Query Formula:

let
    Source = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"], [CustomerID = 2, Name = "Jim", Phone = "987-6543"]}),
    SelectedColumns = Table.SelectColumns(Source, "Name")
in
    SelectedColumns

Result:

ตารางที่มีแค่คอลัมน์ Name ที่เหลือ 2 แถว

เลือกหลายคอลัมน์พร้อมจัดเรียงลำดับ
let Source = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"], [CustomerID = 2, Name = "Jim", Phone = "987-6543"]}), SelectedColumns = Tabl…
ลำดับใน list {"Name", "CustomerID"} คือลำดับคอลัมน์ในผลลัพธ์ – จึงต่างจากตารางต้นฉบับ
Power Query Formula:

let
    Source = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"], [CustomerID = 2, Name = "Jim", Phone = "987-6543"]}),
    SelectedColumns = Table.SelectColumns(Source, {"Name", "CustomerID"})
in
    SelectedColumns

Result:

ตารางสองคอลัมน์ชิด Name อยู่ซ้าย CustomerID อยู่ขวา

ลองเลือกคอลัมน์ที่ไม่มีในตาราง (จะ error)
let Source = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]}), SelectedColumns = Table.SelectColumns(Source, {"CustomerID", "Email"}) in…
ค่าเริ่มต้น missingField ไม่ระบุ จึง error เมื่อขาด Email – เพื่อแก้ให้เพิ่ม MissingField.UseNull
Power Query Formula:

let
    Source = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]}),
    SelectedColumns = Table.SelectColumns(Source, {"CustomerID", "Email"})
in
    SelectedColumns

Result:

Expression.Error: ไม่พบคอลัมน์ Email

ใช้ MissingField.UseNull เพื่อสร้างคอลัมน์ null
let Source = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]}), SelectedColumns = Table.SelectColumns(Source, {"CustomerID", "Email"}, Mis…
MissingField.UseNull สร้างคอลัมน์ Email ขึ้นมาหากไม่มี แล้วใส่ค่า null ทั้งหมด
Power Query Formula:

let
    Source = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]}),
    SelectedColumns = Table.SelectColumns(Source, {"CustomerID", "Email"}, MissingField.UseNull)
in
    SelectedColumns

Result:

ตาราง 2 คอลัมน์: CustomerID = 1, Email = null

FAQs

จะลดจำนวนคอลัมน์ได้ไหม? ต้องทำอะไร?

ใช่ Table.SelectColumns นั่นแหละ – ระบุชื่อคอลัมน์ที่ต้องการเท่านั้น คอลัมน์ไม่อยู่ในรายการจะถูก drop อัตโนมัติ

ต่างกับ Table.RemoveColumns ยังไง?

Table.SelectColumns ระบุ keep ไหนแบบ whitelist (เก็บแค่ที่ระบุ), Table.RemoveColumns ระบุ remove ไหนแบบ blacklist (ลบของที่ระบุ) – ผลลัพธ์อาจเหมือนกันแต่การ think ต่างกัน

ลำดับคอลัมน์ในผลลัพธ์จากที่ไหน?

จากลำดับใน columns parameter นั่นเอง – ถ้า list {“Name”, “ID”} จะ Name อยู่ซ้าย ID อยู่ขวา ไม่ได้ตามตารางต้นฉบับ

เกิด error ว่า 'column not found' เพราะไง?

ชื่อคอลัมน์พิมพ์ผิด หรือคอลัมน์ไม่มีจริง – เช็คชื่อให้ถูก case-sensitive หรือเพิ่ม MissingField.UseNull ถ้าคอลัมน์บางอย่างอาจขาด

Resources & Related

Additional Notes

Table.SelectColumns(table, columns, [missingField]) ใช้ในการ keep หรือ drop คอลัมน์ที่เราต้องการจากตารางข้อมูล

ส่วนตัวผมใช้ Table.SelectColumns เวลาที่ต้องการลดจำนวนคอลัมน์หลัง import ข้อมูล เพื่อให้โมเดลปะหนาเพียบ ทำให้ Power BI ที่แสดงผลเร็วขึ้น และเข้าใจข้อมูลที่จำเป็นง่ายขึ้นครับ เจ๋งตรงที่สามารถจัดเรียงลำดับคอลัมน์ได้ด้วย – ลำดับใน columns parameter นั่นแหละคือลำดับในตารางผลลัพธ์

Leave a Reply

Your email address will not be published. Required fields are marked *