ฟังก์ชันสำหรับนับจำนวนแถวทั้งหมดในตาราง โดยคืนค่าเป็นตัวเลขครับ
Syntax
Table.RowCount(table as table) as number
ฟังก์ชันสำหรับนับจำนวนแถวทั้งหมดในตาราง โดยคืนค่าเป็นตัวเลขครับ
Table.RowCount(table as table) as number
Table.SelectColumns ใช้สำหรับเลือกคอลัมน์เฉพาะจากตารางและสร้างตารางใหม่ที่มีเฉพาะคอลัมน์เหล่านั้น
= Table.SelectColumns(table, columns, optional missingField)
Table.SelectRows เป็นฟังก์ชันสำหรับกรองตาราง (filter table) ใน Power Query โดยใช้ฟังก์ชันเงื่อนไข (condition function) เพื่อตรวจสอบแต่ละแถว ถ้าเงื่อนไขคืนค่า true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ keyword 'each' ร่วมกับการอ้างอิงคอลัมน์ด้วย [ColumnName] เพื่อเขียนเงื่อนไขได้สะดวก รองรับการกรองตามตัวเลข ข้อความ วันที่ การตรวจสอบค่า null และเงื่อนไขที่ซับซ้อนด้วย and/or operators ฟังก์ชันนี้รองรับ Query Folding ซึ่งช่วยเพิ่มประสิทธิภาพเมื่อทำงานกับ data source ขนาดใหญ่
Table.SelectRows(table as table, condition as function) as table
Table.Skip คืนตารางที่ลบแถวแรกๆ ออกไปแล้ว โดยสามารถระบุจำนวนแถวที่ต้องการข้าม หรือระบุเงื่อนไข (condition function) เพื่อข้ามแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรงแล้วหยุด ถ้าไม่ระบุจะข้ามแถวแรก 1 แถว ถ้าส่งเป็นตัวเลข เช่น 5 จะข้าม 5 แถวแรก ถ้าส่งเป็นฟังก์ชัน เช่น each [Amount] > 0 จะข้ามแถวที่ Amount > 0 จนกว่าจะเจอแถวที่ Amount ≤ 0
Table.Skip(table as table, optional countOrCondition as any) as table
เรียงลำดับข้อมูลในตารางตามคอลัมน์ที่ระบุ รองรับการเรียงหลายระดับและกำหนดทิศทางการเรียง
Table.Sort(table as table, comparisonCriteria as any) as table
แบ่งตารางออกเป็นรายการของตารางย่อยตามจำนวนแถวที่กำหนด เหมาะสำหรับ Pagination และ Batch Processing
Table.Split(table as table, pageSize as number) as list
Table.StopFolding ป้องกันไม่ให้ขั้นตอน downstream ถูกส่งกลับไปประมวลผลที่ data source เดิม ช่วยเมื่อต้องดีบักหรือเมื่อการบังคับประมวลผลใน Power Query ให้ผลลัพธ์ที่คาดหวัง
= Table.StopFolding(table)
Table.ToColumns แปลงตาราง (Table) ให้เป็น List ของ List โดยแต่ละ List ย่อยแทนข้อมูลจากคอลัมน์เดียว เรียงตามลำดับคอลัมน์จากซ้ายไปขวา ส่วนกลับกันของ Table.FromColumns
= Table.ToColumns(table as table) as list
Table.ToRecords แปลงตารางให้เป็น List โดยแต่ละแถวกลายเป็น Record พร้อมชื่อคอลัมน์เป็น Field Name ทำให้สะดวกในการวนลูปแบบมีโครงสร้าง
Table.ToRecords(table as table) as list
Table.ToRows แปลงตารางให้เป็น List ของ List โดยแต่ละ List ย่อยแทนข้อมูล 1 แถว ไม่มีชื่อคอลัมน์ เหมาะสำหรับส่งออกข้อมูลเป็น JSON/CSV หรือประมวลผลแถวโดยไม่สนใจชื่อฟิลด์
Table.ToRows(table as table) as list
Table.TransformColumnNames ใช้ฟังก์ชันแปลงชื่อ (Name Generator) เพื่อเปลี่ยนชื่อคอลัมน์ทั้งหมดในตาราง เหมาะสำหรับจัดรูปแบบชื่อคอลัมน์เป็นแบบเดียวกัน เช่น ตัวพิมพ์ใหญ่ ลบช่องว่าง หรือเพิ่ม Prefix
Table.TransformColumnNames(table as table, nameGenerator as function, optional options as nullable record) as table
Table.TransformColumns ใช้สำหรับแปลงข้อมูลในคอลัมน์โดยใช้ฟังก์ชันที่กำหนดไว้ แต่ละคอลัมน์สามารถมีการแปลงแตกต่างกันได้ รองรับการเปลี่ยนแปลงประเภทข้อมูลในเวลาเดียวกัน
Table.TransformColumns(table, transformOperations, [defaultTransformation], [missingField])
Table.TransformColumnTypes เปลี่ยน Data Type ของคอลัมน์ที่ระบุให้เป็นประเภทใหม่ (เช่น Text เป็น Number, Date เป็น Text) โดยใช้ built-in conversion methods เบื้องหลัง รองรับการแปลงหลายคอลัมน์พร้อมกัน และสามารถระบุ culture parameter เพื่อจัดการ locale-specific formatting สำหรับวันที่และตัวเลข เหมาะสำหรับขั้นตอนเตรียมข้อมูลก่อน Load เข้า Data Model เพื่อป้องกัน conversion errors และเพิ่มประสิทธิภาพ ใช้ร่วมกับ Table.TransformColumns, Number.From, Text.From และ Date.From เมื่อต้องการ custom transformation logic
Table.TransformColumnTypes(table as table, typeTransformations as list, optional culture as nullable text) as table
Table.TransformRows ใช้สำหรับประมวลผลแต่ละแถวของตารางด้วยฟังก์ชนที่กำหนด แล้วคืนผลลัพธ์กลับมาเป็น List (ไม่ใช่ Table)
Table.TransformRows(table as table, transform as function) as list
Table.Transpose จะกลับด้านตาราง คล้ายกับการ Copy > Paste Special > Transpose ใน Excel โดยข้อมูลในแถวที่ 1 จะกลายเป็นคอลัมน์ที่ 1 แถวที่ 2 เป็นคอลัมน์ที่ 2 ไปเรื่อยๆ
Table.Transpose(table as table, optional columns as any) as table
Table.Unpivot แปลงคอลัมน์ที่ระบุให้กลายเป็นแถว (Unpivot) โดยสร้าง 2 คอลัมน์ใหม่ คอลัมน์แรกเก็บชื่อคอลัมน์เดิม (Attribute) และคอลัมน์ที่สองเก็บค่า (Value) ฟังก์ชันนี้จะข้ามค่า null โดยอัตโนมัติ เหมาะสำหรับเตรียมข้อมูลแบบ Wide Format ให้กลายเป็น Long Format สำหรับใช้ใน Power BI หรือ Pivot Table
Table.Unpivot(table as table, pivotColumns as list, attributeColumn as text, valueColumn as text) as table
Table.UnpivotOtherColumns แปลงคอลัมน์ที่ไม่ได้ระบุทั้งหมดให้กลายเป็นแถว (Unpivot) โดยระบุเฉพาะคอลัมน์ที่ต้องการคงไว้ ข้อดีคือเป็น Dynamic ถ้ามีคอลัมน์ใหม่เพิ่มเข้ามาในอนาคตก็จะถูก Unpivot ให้อัตโนมัติ เหมาะสำหรับแปลงข้อมูลจาก Wide Format (หลายคอลัมน์) ให้เป็น Long Format (หลายแถว) สำหรับ PivotTable และ Database
Table.UnpivotOtherColumns(table as table, pivotColumns as list, attributeColumn as text, valueColumn as text) as table
สร้างหรือแก้ไขพฤติกรรมของตาราง สำหรับการพัฒนา Custom Connector และการจัดการ Query Folding
Table.View(view as function, handlers as record) as table
สร้าง Error สำหรับ Table.View Handlers
Table.ViewError(error as record) as any
Table.ViewFunction ใช้สำหรับสร้างฟังก์ชันที่สามารถถูกดักจับ (Intercept) โดย Table.View ได้
Table.ViewFunction(function as function) as function
Table.WithErrorContext เป็นฟังก์ชันภายใน Power Query ที่ใช้เพิ่มข้อมูล context ให้กับค่า เพื่อให้ error messages มีความชัดเจนมากขึ้นเวลา debug
= Table.WithErrorContext(value as any, context as text) as any
Tables.GetRelationships ดึงข้อมูลความสัมพันธ์ (Relationships) ระหว่างตารางต่างๆ จาก Navigation Table เพื่อวิเคราะห์โครงสร้างข้อมูล
Tables.GetRelationships(tables as table, optional dataColumn as nullable text) as table
Teradata.Database ใช้สำหรับการประมวลผล
teradata_database(value as any) as any
ดึงข้อความหลังจากตัวคั่นที่กำหนด สามารถเลือกว่าจะใช้ตัวคั่นที่ 1, 2, 3 เป็นต้น
Text.AfterDelimiter(text as text, delimiter as text, optional index as any) as any
Text.At ใช้สำหรับดึงอักขระตัวเดียวที่ตำแหน่งที่ระบุในข้อความ โดยใช้การนับ zero-based index ที่ตำแหน่ง 0 คือตัวแรก ตำแหน่ง 1 คือตัวที่สอง เป็นต้น
Text.At(text as nullable text, index as number) as nullable text
Text.BeforeDelimiter ดึงข้อความส่วนที่อยู่ก่อนตัวคั่นที่กำหนด พร้อมตัวเลือกระบุตัวคั่นตัวไหน
Text.BeforeDelimiter(text as nullable text, delimiter as text, optional index as any) as any
ดึงข้อความที่อยู่ระหว่างตัวคั่น 2 ตัว
Text.BetweenDelimiters(text as text, startDelimiter as text, endDelimiter as text, optional startIndex as any, optional endIndex as any) as any
Text.Clean ลบตัวอักษรควบคุมที่ไม่สามารถพิมพ์ได้ (Control Characters) เช่น Line Feed, Tab, Carriage Return ออกจากข้อความ โดยเก็บเฉพาะตัวอักษรที่มองเห็นได้และพิมพ์ได้
Text.Clean(text as nullable text) as nullable text
Text.Combine ใช้สำหรับรวมข้อความหลายตัวจาก List เข้าด้วยกันเป็นข้อความเดียว โดยสามารถเลือกใช้ตัวคั่น (separator) เช่น ลูกน้ำ เครื่องหมายขีด หรือ space ได้ เหมาะสำหรับสร้างชื่อเต็ม ที่อยู่ หรือรหัสประจำตัวจากส่วนประกอบย่อยๆ
Text.Combine(texts as list, optional separator as nullable text) as text
Text.Contains ใช้สำหรับตรวจสอบว่าข้อความที่กำหนด (text) มีข้อความย่อยที่ต้องการค้นหา (substring) อยู่ภายในหรือไม่ ส่งคืนค่า true หรือ false
Text.Contains(text, substring, comparer)
Text.End ใช้สำหรับดึงอักขระจำนวนที่ระบุจากท้ายสตริงข้อความ เป็นประโยชน์สำหรับการดึงนามสกุลไฟล์ และส่วนท้ายของข้อมูล
Text.End(text as nullable text, count as number) as nullable text
Text.EndsWith ตรวจสอบว่าข้อความหลักลงท้ายด้วยข้อความย่อย (substring) ที่กำหนดหรือไม่ คืนค่า true หากตรงกัน และ false หากไม่ตรงกัน สามารถใช้ Comparer เพื่อควบคุม Case Sensitivity
Text.EndsWith(text as nullable text, substring as text, optional comparer as nullable function) as nullable logical
แปลงค่าใดๆ เป็นข้อความ (Text)
Text.From(value as any, optional culture as nullable text) as nullable text
Text.FromBinary ใช้สำหรับแปลงค่า Binary เป็นข้อความ โดยใช้การเข้ารหัส UTF-8 เป็นค่าเริ่มต้น รองรับการเข้ารหัสอื่นๆ เช่น UTF-16 และ ASCII
Text.FromBinary(binary as nullable binary, optional encoding as nullable number) as nullable text
Text.InferNumberType ใช้สำหรับตรวจสอบว่าข้อความแสดงตัวเลขชนิดใด เช่น Int64, Double, Decimal หรือ Single เป็นประโยชน์สำหรับการแปลงข้อมูลโดยอัตโนมัติ
Text.InferNumberType(text as text, optional culture as nullable text) as type
แทรกข้อความเข้าไปในตำแหน่งที่กำหนด
Text.Insert(text as text, offset as number, newText as text) as text
Text.Length ใช้นับจำนวนตัวอักษรทั้งหมดในสตริงข้อความ รวมถึงช่องว่างและอักขระพิเศษ ผลลัพธ์คืนค่าเป็นตัวเลข มีประโยชน์ในการตรวจสอบคุณภาพข้อมูล การกรองข้อมูลตามความยาว หรือการคำนวณ Logic ต่างๆ
Text.Length(text as nullable text) as nullable number
Text.Lower ใช้แปลงอักขระทั้งหมดในข้อความให้เป็นตัวพิมพ์เล็ก (lowercase) ช่วยให้ข้อมูลมีรูปแบบสอดคล้องกัน สามารถกำหนด Culture เพื่อให้การแปลงเป็นไปตามกฎของภาษาและภูมิภาคที่ต้องการ
Text.Lower(text as nullable text, optional culture as nullable text) as nullable text
Text.Middle ใช้สำหรับดึงข้อความตั้งแต่ตำแหน่งที่ระบุไปจำนวนอักขระที่กำหนด หากไม่ระบุจำนวนตัวอักษร จะดึงจากตำแหน่งเริ่มต้นไปถึงท้าย
Text.Middle(text as nullable text, start as number, optional count as nullable number) as nullable text
Text.NewGuid ใช้สำหรับสร้าง GUID (Globally Unique Identifier) ใหม่ที่เป็นเอกลักษณ์ แต่ละครั้งที่เรียกจะสร้าง GUID ที่แตกต่างกัน ใช้สำหรับสร้างรหัสเฉพาะตัวที่ไม่ซ้ำ
Text.NewGuid() as text
Text.Pad เพิ่มอักษรเติมให้ข้อความมีความยาวที่ต้องการ สามารถเพิ่มไปทางด้านซ้าย กลาง หรือขวาของข้อความ ฟังก์ชันนี้มีประโยชน์เมื่อต้องการจัดรูปแบบข้อความให้มีความยาวเท่ากัน เช่นรหัสสินค้า หรือรหัสพนักงาน
Text.Pad(text as text, count as number, optional padCharacter as nullable text) as text
Text.PadEnd จะเพิ่มอักขระที่ระบุ (เช่น '0' หรือ '-') เข้าไปด้านหลังของข้อความ จนกว่าความยาวของข้อความนั้นจะถึงจำนวนหลักที่ต้องการ ใช้ในการจัดรูปแบบข้อมูลให้สม่ำเสมอ หรือสร้าง Field ที่มี Character ครบตาม Spec
Text.PadEnd(text as nullable text, count as number, optional character as nullable text) as nullable text
Text.PadStart จะเพิ่มอักขระที่ระบุ (เช่น '0' หรือ '-') เข้าไปด้านหน้าของข้อความ จนกว่าความยาวของข้อความนั้นจะถึงจำนวนหลักที่ต้องการ ใช้ในการจัดรูปแบบข้อมูลให้สม่ำเสมอ หรือนำไปใช้กับ Sort ได้อย่างถูกต้อง
Text.PadStart(text as nullable text, count as number, optional character as nullable text) as nullable text
หาตำแหน่งของข้อความย่อยในข้อความหลัก (0-indexed) โดยคืนค่า -1 หากไม่พบ
Text.PositionOf(text as text, substring as text, optional occurrence as nullable number, optional comparer as nullable function) as any
Text.PositionOfAny ใช้สำหรับค้นหาตำแหน่งแรกของอักขระใดๆ ในรายการที่ระบุ เป็นประโยชน์สำหรับการค้นหาเครื่องหมายพิเศษ สระ หรืออักขระที่ระบุ
Text.PositionOfAny(text as text, characters as list, optional occurrence as nullable number) as any
แปลงอักษรตัวแรกของทุกคำเป็นตัวพิมพ์ใหญ่ (Title Case) และส่วนที่เหลือเป็นตัวพิมพ์เล็ก
Text.Proper(text as nullable text, optional culture as nullable text) as nullable text
Text.Range ใช้สำหรับดึงข้อความตั้งแต่ตำแหน่งที่ระบุไปยังท้ายสตริง หรือจำนวนอักขระที่กำหนด ถ้าจำนวนอักขระไม่พอ ฟังก์ชันจะคืนค่าเท่าที่หาได้
Text.Range(text as nullable text, offset as number, optional count as nullable number) as nullable text
Text.Remove จะคืนค่าข้อความใหม่ที่ตัดตัวอักษรที่อยู่ใน removeChars ออกไปทั้งหมด เป็นฟังก์ชันตรงข้ามกับ Text.Select
Text.Remove(text as nullable text, removeChars as any) as nullable text
Text.RemoveRange ใช้สำหรับลบอักขระจำนวนที่ระบุตั้งแต่ตำแหน่งที่กำหนด ค่าเริ่มต้นจะลบ 1 อักขระหากไม่ระบุจำนวน
Text.RemoveRange(text as nullable text, offset as number, optional count as nullable number) as nullable text
ทำซ้ำข้อความตามจำนวนครั้งที่ระบุ
Text.Repeat(text as nullable text, count as number) as nullable text