Thep Excel

231 functions

INFO.ANNOTATIONS ดึงรายการ Annotation ที่บันทึกไว้ในโมเดล DAX ทั้งหมด พร้อมข้อมูลวัตถุปลายทาง ช่วยให้เห็น metadata ที่ทีมเก็บไว้เพื่ออธิบายวัตถุหรือเชื่อมกับระบบอื่น

Syntax
INFO.ANNOTATIONS()

INFO.ATTRIBUTEHIERARCHIES ดึงข้อมูลลำดับชั้นของ Attribute ทั้งหมดในโมเดล เช่นชื่อ ตาราง และรายละเอียดระดับชั้น ช่วยตรวจสอบว่ามีการตั้งค่า Hierarchy ครบถ้วนและสอดคล้องกับการวิเคราะห์

Syntax
INFO.ATTRIBUTEHIERARCHIES()

INFO.ATTRIBUTEHIERARCHYSTORAGES ให้รายละเอียดการเก็บข้อมูลของลำดับชั้น (storage) เช่นโหมด บีบอัด และคุณสมบัติเกี่ยวกับการจัดเก็บ เพื่อช่วยตรวจสอบการออกแบบมิติและประสิทธิภาพ

Syntax
INFO.ATTRIBUTEHIERARCHYSTORAGES()

INFO.CALCDEPENDENCY คืนตารางที่บอกความสัมพันธ์ของการคำนวณในโมเดล (dependency graph) ช่วยระบุว่า Measure หรือคอลัมน์ใดพึ่งพาอีกตัวหนึ่ง ทำให้ง่ายต่อการดีบักและจัดลำดับการคำนวณ

Syntax
INFO.CALCDEPENDENCY()

INFO.CALCULATIONGROUPS ดึงข้อมูลเมตาดาต้าของ Calculation Groups ในโมเดล คืนค่าเป็นตารางที่มีคอลัมน์ ID, TableID, Description, ModifiedTime และ Precedence ใช้สำหรับตรวจสอบและบริหารจัดการ Calculation Groups ที่กำหนดไว้

Syntax
INFO.CALCULATIONGROUPS ( [RestrictionName [, RestrictionValue [, ... ] ] ] )

INFO.DELTATABLEMETADATASTORAGES ดึงข้อมูล Metadata เกี่ยวกับการจัดเก็บ Delta Table ในโมเดลข้อมูล Power BI หรือ Analysis Services โดยแสดงรายละเอียดเช่น TableName, RootLocation, CurrentVersion และข้อมูลอื่น ๆ ที่เกี่ยวข้องกับการจัดเก็บเพื่อการวินิจฉัยและจัดการระบบ

Syntax
INFO.DELTATABLEMETADATASTORAGES([<RestrictionName1>, <RestrictionValue1>] [, <RestrictionName2>, <RestrictionValue2>] ...)

INTERSECT คืนตารางของแถวที่อยู่ในทั้ง LeftTable และ RightTable เหมาะกับการหาสิ่งที่ซ้ำกัน/ร่วมกันระหว่างสองชุดข้อมูล โดยรักษาเอาแถวที่ซ้ำกันไว้ด้วย

Syntax
INTERSECT(<LeftTable>, <RightTable>)

ISAFTER ตรวจว่าค่าในบริบทปัจจุบันอยู่ “หลัง” ค่าอ้างอิงตามลำดับที่กำหนด (ASC/DESC) และรองรับหลายคีย์ต่อเนื่อง เช่น Country แล้ว State ใช้สร้างตัวกรองแบบ start-after หรือทำหน้าต่างข้อมูลที่อิงลำดับได้อย่างชัดเจน

Syntax
ISAFTER(<expression>, <compare_to>[, sort_order][, ...])

KEEPFILTERS เป็นฟังก์ชันปรับตัวกรองที่ใช้ภายใน CALCULATE เพื่อ “คงตัวกรองเดิมไว้” แล้วนำตัวกรองใหม่มารวมกันแบบ AND (ตัดกันเฉพาะส่วนที่ตรงกัน) แทนพฤติกรรมปกติที่มักเขียนทับตัวกรองเดิมของคอลัมน์เดียวกัน

Syntax
KEEPFILTERS(<filter>)

LAST ดึงค่าจากแถวสุดท้าย (Last Row) บนแกน (Axis) ที่ระบุในการคำนวณภาพ (Visual Calculations) ส่งกลับค่าที่อยู่ตำแหน่งสุดท้ายของแกน ใช้เพื่อดึงค่าปิด (Closing Value) หรือเปรียบเทียบค่าปัจจุบัน กับค่าสิ้นสุด

Syntax
LAST(<Column>, [<Axis>], [<OrderBy>], [<Blanks>], [<Reset>])

LASTDATE คืนค่าตารางที่มีวันที่สุดท้ายในบริบทตัวกรองปัจจุบัน มักใช้เป็นตารางตัวกรองให้ CALCULATE เพื่อคำนวณ measure ณ วันสุดท้ายของช่วงที่เลือก และสามารถใช้ MAXX เพื่อแปลงผลเป็น scalar date ได้

Syntax
LASTDATE(<Dates>)

LASTNONBLANK คืนค่าตัวสุดท้ายจากคอลัมน์ที่ทำให้ expression ไม่เป็น BLANK ใช้บ่อยกับ semi-additive measures และเวลาต้องการหา "วันล่าสุดที่มีข้อมูล" ตามลำดับแถวของคอลัมน์

Syntax
LASTNONBLANK(<Column>, <Expression>)

LASTNONBLANKVALUE คืนค่าสุดท้ายที่ไม่เป็น BLANK ของ Expression เมื่อประเมินตามลำดับของ Column ในบริบทตัวกรองปัจจุบัน ใช้หา "ค่าล่าสุดที่มีข้อมูล" เช่นยอดขายของวันล่าสุดที่มีค่า

Syntax
LASTNONBLANKVALUE(<Column>, <Expression>)

LEFT คืนค่าตัวอักษรจำนวนหนึ่งจากจุดเริ่มต้นของข้อความ ใช้ได้กับ Calculated Column โดยจะประมวลผลภาษาต่างๆ (Unicode) อย่างเดียวกัน

Syntax
LEFT(text, [num_chars])

LEN นับจำนวนอักขระของสตริง รวมช่องว่างด้วย ใช้สำหรับตรวจสอบความยาวข้อมูล การทำความสะอาด และงานเงื่อนไขตามความยาวข้อความ

Syntax
LEN(<Text>)

LINESTX ทำการวิเคราะห์การถดถอยเชิงเส้น (Linear Regression) โดยใช้วิธี Least Squares เพื่อหาเส้นตรงที่เหมาะสมที่สุดกับข้อมูล ส่งกลับตารางสถิติที่ประกอบด้วย Slope Intercept Standard Error R-squared และสถิติอื่น ๆ ใช้สำหรับสร้างแบบจำลองการทำนาย (Predictive Model) และวิเคราะห์ความสัมพันธ์ระหว่างตัวแปร

Syntax
LINESTX(<Table>, <DependentExpression>, <IndependentExpression>, [...])

LOOKUP ค้นหาและดึงค่าจากเมทริกซ์ภาพ (visual matrix) ในการคำนวณภาพโดยการระบุเงื่อนไขการกรอง ใช้เฉพาะในการคำนวณภาพเท่านั้น

Syntax
LOOKUP(<expression>, <colref>, <expression>[, <colref>, <expression>]...)

LOOKUPVALUE เป็นฟังก์ชันค้นหาที่ยืดหยุ่น โดยจะดึงค่าจากคอลัมน์หนึ่งโดยการค้นหาตามเงื่อนไขหลายตัวในเวลาเดียวกัน

Syntax
LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value> [, <alternateResult>] )

LOOKUPWITHTOTALS ค้นหาตำแหน่งที่ตรงเงื่อนไขในตารางสรุป/กริด แล้วคืนค่าเดี่ยวจากคอลัมน์ผลลัพธ์หรือคำนวณนิพจน์จากชุดที่ตรงเงื่อนไข โดยถือว่าคอลัมน์ที่ไม่ระบุในเงื่อนไขอยู่ในสถานะรวม (total) ซึ่งต่างจาก LOOKUP

Syntax
LOOKUPWITHTOTALS(<ResultExpression>, <Column>, <Value>[, <Column2>, <Value2>])

LOWER แปลงข้อความให้เป็นตัวพิมพ์เล็กทั้งหมด มีประโยชน์มากสำหรับการทำความสะอาดข้อมูลและแก้ปัญหาคีย์ไม่ตรงกันเพราะเหตุคำต่างชั้นอักษร

Syntax
LOWER(<Text>)

MATCHBY ระบุคอลัมน์ที่ใช้จับคู่และระบุแถวปัจจุบันใน window functions เพื่อให้การเลื่อน/เลือกตำแหน่งแถวทำงานถูกต้องเมื่อมีค่า ORDERBY ซ้ำ หรือเมื่อจำเป็นต้องกำหนดเอกลักษณ์ของแถว

Syntax
MATCHBY(<Column>[, <Column>])

MAX คืนค่าสูงสุดจากคอลัมน์ภายใต้ filter context หรือเปรียบเทียบสองค่าสเกลาร์แล้วเลือกค่าที่มากกว่า ทำงานกับ numeric, date และ text columns โดย scan ทุก row ที่ผ่าน filter แล้วเลือกค่าสูงสุด เหมาะสำหรับ measures และ calculated columns (ต้อง wrap ด้วย CALCULATE)

Syntax
MAX(<column>)

MAXA คืนค่ามากสุดโดยตีความ TRUE=1, FALSE/BLANK=0 และข้ามข้อความที่ไม่ใช่ตัวเลข ใช้กับคอลัมน์ที่มีทั้งตัวเลขและค่าตรรกะเพื่อประเมินค่ามากสุดอย่างสอดคล้อง

Syntax
MAXA(column)

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

Syntax
MAXX(<table>, <expression>)

MEDIANX คำนวณค่ามัธยฐาน (50th Percentile) ของนิพจน์ที่ประเมินในแต่ละแถว ต่างจาก MEDIAN ที่ทำงานบนคอลัมน์เดียว MEDIANX คือ iterator function ที่ให้คุณสร้างนิพจล์ซับซ้อนก่อนหาค่ากลาง

Syntax
MEDIANX(<Table>, <Expression>)

MID คืนสตริงย่อยจากข้อความ โดยเริ่มที่ StartNum (เริ่มนับที่ 1) และดึง NumChars ตัว ใช้บ่อยในการแยก/ตัดข้อความร่วมกับ LEFT/RIGHT/FIND/SEARCH

Syntax
MID(<Text>, <StartNum>, <NumChars>)

MIN คืนค่าน้อยที่สุดจากคอลัมน์ภายใต้ filter context ปัจจุบัน หรือเปรียบเทียบสองค่า scalar expression แล้วคืนค่าที่น้อยกว่า รองรับตัวเลข วันที่ และข้อความ ทำงานภายใต้ filter context ทำให้ค่าที่หาได้จะถูกกรองตาม slicer หรือ visual filter อัตโนมัติ เหมาะกับการหาราคาต่ำสุด วันที่เร็วที่สุด หรือการตั้งเพดาน (cap) ให้กับค่าคำนวณ

Syntax
MIN(<column>)

MINA คืนค่าน้อยสุดโดยพิจารณา TRUE เป็น 1, FALSE/BLANK เป็น 0 และข้ามข้อความที่ไม่ใช่ตัวเลข ใช้กับคอลัมน์ที่มีตัวเลขและค่าตรรกะปนกันเพื่อหาค่าน้อยสุดอย่างมีบริบท

Syntax
MINA(column)

MINX ประเมินนิพจน์สำหรับทุกแถวของตาราง แล้วคืนค่าที่น้อยที่สุด ต่างจาก MIN ที่ใช้กับคอลัมน์โดยตรง MINX เหมาะกับการหาค่าต่ำสุดจากค่าที่คำนวณต่อแถว เช่น (Quantity × UnitPrice)

Syntax
MINX(<table>, <expression>, [<variant>])

MONTH ดึงเลขเดือน (integer 1-12) จากค่า datetime โดยรับ input เป็น datetime value, column reference, หรือ text representation ของวันที่ และคืนค่าตั้งแต่ 1 (มกราคม) ถึง 12 (ธันวาคม) ตาม Gregorian calendar ใช้สร้าง calculated column ใน Date table เพื่อเป็น sort column สำหรับชื่อเดือน และใช้ใน measure เพื่อสร้าง conditional logic กับ custom time intelligence calculations

Syntax
MONTH(<Date>)

MOVINGAVERAGE คำนวณค่าเฉลี่ยเคลื่อนที่ (moving average) บนแกนของ Visual Calculations ในตารางข้อมูล เหมาะสำหรับทำเส้นแนวโน้มที่เรียบขึ้นและลดความผันผวนของข้อมูล

Syntax
MOVINGAVERAGE(<column>, <windowSize>[, <includeCurrent>][, <axis>][, <orderBy>][, <blanks>][, <reset>])

NATURALINNERJOIN ทำ inner join ระหว่าง LeftTable และ RightTable โดยใช้คอลัมน์ชื่อเดียวกันเป็นคีย์การจับคู่ คืนผลลัพธ์เฉพาะแถวที่จับคู่ได้ทั้งสองตาราง และมักใช้ร่วมกับ SELECTCOLUMNS เพื่อจัดชื่อคอลัมน์ให้ตรงกัน

Syntax
NATURALINNERJOIN(<LeftTable>, <RightTable>)

NATURALJOINUSAGE ทำให้ table expression ถูกเพิ่มเข้าไปในตัวกรอง (filter context) แบบ natural join โดยจับคู่ตามคอลัมน์ชื่อเดียวกัน เป็นฟังก์ชันที่ออกแบบสำหรับการใช้งานขั้นสูงในโมเดลแบบประกอบ (composite models) และ SUMMARIZECOLUMNS

Syntax
NATURALJOINUSAGE(<Table>)

NATURALLEFTOUTERJOIN ทำ left outer join ระหว่าง LeftTable และ RightTable โดยใช้คอลัมน์ชื่อเดียวกันเป็นคีย์ เก็บทุกแถวของตารางซ้ายไว้ทั้งหมด และเติมคอลัมน์จากตารางขวาเมื่อจับคู่ได้ (ไม่จับคู่จะเป็น BLANK)

Syntax
NATURALLEFTOUTERJOIN(<LeftTable>, <RightTable>)

NEXTDAY คืนตารางวันที่ของวันถัดไปจากวันที่ในบริบทปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “วันถัดไป” ตามช่วงวันที่ที่ถูกกรอง

Syntax
NEXTDAY(<Dates>)

NEXTMONTH คืนตารางวันที่ของเดือนถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “เดือนถัดไป” ตามช่วงวันที่ที่ถูกเลือก/กรอง

Syntax
NEXTMONTH(<Dates>)

NEXTQUARTER คืนตารางวันที่ของไตรมาสถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ “ไตรมาสถัดไป”

Syntax
NEXTQUARTER(<Dates>)

NEXTWEEK คืนตารางวันที่ของสัปดาห์ถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ "สัปดาห์ถัดไป"

Syntax
NEXTWEEK(<Dates>)