Thep Excel

Function Explainer

ฟังก์ชัน DAX 231 ฟังก์ชัน

231 ฟังก์ชัน

เรียงตาม

ฟังก์ชัน ใช้ทำอะไร มีตั้งแต่ นิยม ยาก ประโยชน์
OPENINGBALANCEWEEK Time Intelligence OPENINGBALANCEWEEK(<Expression>, <Dates>, [<Filter>])

OPENINGBALANCEWEEK ประเมิน Expression ณ จุดเปิดสัปดาห์ (คือวันสิ้นสัปดาห์ก่อนหน้า) ใช้เพื่อเปรียบเทียบค่าเปลี่ยนแปลงระหว่างเปิดและปิดสัปดาห์

นิยม 6 ยาก 4 ประโยชน์ 6

6 4 6
MAXX Aggregation MAXX(<table>, <expression>)

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

นิยม 6 ยาก 5 ประโยชน์ 6

6 5 6
STARTOFMONTH Time Intelligence STARTOFMONTH(<Dates>)

STARTOFMONTH คืนวันแรกของเดือนเป็นตาราง 1 แถว ใช้กับการวัดที่ขึ้นต่อจุดเวลา เช่น ยอดคงเหลือ บัญชี หรือสินค้าคงคลัง

นิยม 6 ยาก 3 ประโยชน์ 6

6 3 6
NATURALJOINUSAGE Table manipulation NATURALJOINUSAGE(<Table>)

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

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
EXCEPT Table manipulation EXCEPT(<LeftTable>, <RightTable>)

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

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
ROLLUP Table manipulation ROLLUP(<GroupColumn>[, <GroupColumn>]...)

ROLLUP บอก SUMMARIZE ให้สร้างแถว subtotal เพิ่มเติมตามคอลัมน์ที่กำหนด ทำให้ได้ทั้งรายละเอียดและรวมย่อยในผลลัพธ์เดียว

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
LAST Visual calculations LAST(<Column>, [<Axis>], [<OrderBy>], [<Blanks>], [<Reset>])

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

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
LOOKUP Filter LOOKUP(<expression>, <colref>, <expression>[, <colref>, <expression>]...)

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

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
OPENINGBALANCEMONTH Time Intelligence OPENINGBALANCEMONTH(<Expression>, <Dates>)

OPENINGBALANCEMONTH ประเมิน Expression ณ จุดเปิดเดือน (วันสิ้นเดือนก่อนหน้า) เหมาะสำหรับหา opening balance ของยอดคงเหลือ สต็อก หรือสถิติ ณ จุดเริ่มเดือน

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
LASTNONBLANKVALUE Time Intelligence LASTNONBLANKVALUE(<Column>, <Expression>)

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

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
CONTAINSROW Information CONTAINSROW(<table>, <value> [, <value> [, ... ] ])

CONTAINSROW ตรวจสอบว่ามีแถวที่ค่าคอลัมน์ตรงกันหมดหรือไม่ ถ้าเจอจะคืนค่า TRUE ไม่มีจะคืน FALSE

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
FIRST Visual calculations FIRST(<Column>, [<Axis>], [<OrderBy>], [<Blanks>], [<Reset>])

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

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
LASTNONBLANK Time Intelligence LASTNONBLANK(<Column>, <Expression>)

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

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
FALSE Logical FALSE()

FALSE คืนค่าตรรกะ FALSE ใช้เป็นค่าคงที่ใน DAX สำหรับสร้างตรรกะและเงื่อนไข เช่น ใช้กับ IF หรือใช้เป็นค่าตั้งต้นในตัวแปร

นิยม 5 ยาก 1 ประโยชน์ 5

5 1 5
MOVINGAVERAGE Visual calculations MOVINGAVERAGE(<column>, <windowSize>[, <includeCurrent>][, <axis>][, <orderBy>][, <blanks>][, <reset>])

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

นิยม 5 ยาก 4 ประโยชน์ 6

5 4 6
CLOSINGBALANCEMONTH Time Intelligence CLOSINGBALANCEMONTH(<Expression>, <Dates>[, <Filter>])

CLOSINGBALANCEMONTH ประเมิน Expression ณ วันสิ้นเดือนของบริบทวันที่ปัจจุบัน เหมาะกับการทำมาตรวัดยอดคงเหลือปลายเดือน และรองรับการใส่ตัวกรองเพิ่มเติม

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
NEXTYEAR Time Intelligence NEXTYEAR(<Dates>)

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

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
GENERATE Table manipulation GENERATE(<Table1>, <Table2>)

GENERATE วนทีละแถวใน Table1 แล้วประเมิน Table2 ในบริบทของแถวนั้น (row context) จากนั้นรวมผลทั้งหมดเป็นตารางเดียว ถ้า Table2 ว่างเปล่าในรอบไหน แถวนั้นจาก Table1 จะถูกตัดออก (ต่างจาก GENERATEALL)

นิยม 5 ยาก 6 ประโยชน์ 5

5 6 5
TOJSON Text TOJSON(<Table> [, <MaxRows>])

แปลงตารางเป็นสตริงรูปแบบ JSON โดยกำหนดจำนวนแถวสูงสุดที่ต้องการแปลงได้

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
ENDOFQUARTER Time Intelligence ENDOFQUARTER(<Dates>)

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

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
NONVISUAL Table manipulation NONVISUAL(<Expression>)

NONVISUAL ใช้ทำเครื่องหมายว่า filter expression นี้เป็น non-visual ซึ่งหมายความว่ามันจะส่งผลต่อการคำนวณ measure แต่จะไม่ไปทำให้แถวที่แสดงในตารางสรุปเปลี่ยนไป มักใช้ร่วมกับ SUMMARIZECOLUMNS เพื่อควบคุมพฤติกรรมของตัวกรองอย่างละเอียด

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
FIRSTNONBLANKVALUE Time Intelligence FIRSTNONBLANKVALUE(<Column>, <Expression>)

FIRSTNONBLANKVALUE คืนค่าแรกที่ไม่เป็น BLANK ของ Expression เมื่อประเมินตามลำดับของ Column ซึ่งมีประโยชน์ในการหาค่าเริ่มต้นหรือค่าแรกที่มีข้อมูลจริง เช่นยอดขายของวันแรกที่มีการขาย

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
HASONEFILTER Information HASONEFILTER(<columnName>)

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

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
COMBINEVALUES Text COMBINEVALUES(<delimiter>, <expression1>, <expression2>[, <expression3>...])

COMBINEVALUES รวมหลายค่าสเกลาร์เป็นข้อความเดียว โดยกำหนดตัวคั่นได้ เหมาะกับการสร้างคีย์รวมจากหลายคอลัมน์ในแถวเดียว

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
TOCSV Text TOCSV(<Table> [, <MaxRows>] [, <Delimiter>] [, <IncludeHeaders>])

แปลงตารางเป็นสตริงรูปแบบ CSV โดยกำหนดจำนวนแถวสูงสุด ตัวคั่น และว่าจะใส่หัวคอลัมน์หรือไม่

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
MINUTE (DAX) Date and Time MINUTE(<Datetime>)

ดึงเลขนาที (0–59) จากค่าวันที่/วันเวลา และคืนค่าเป็นจำนวนเต็ม

นิยม 5 ยาก 2 ประโยชน์ 5

5 2 5
COUNTAX Aggregation COUNTAX(<table>, <expression>)

COUNTAX ประเมินนิพจน์ต่อแถวในตาราง แล้วนับจำนวนผลลัพธ์ที่ไม่ว่าง เหมาะกับการนับค่าที่อาจเป็นข้อความ ตรรกะ หรือนิพจน์ที่ซับซ้อน ไม่ใช่แค่ตัวเลข

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
RUNNINGSUM Visual calculations RUNNINGSUM(<Column>[, <Axis>][, <OrderBy>][, <Blanks>][, <Reset>])

RUNNINGSUM คำนวณยอดสะสมของคอลัมน์/นิพจน์ตามลำดับบนแกนของ Visual Calculations โดยสามารถกำหนด Axis, OrderBy, Blanks และ Reset เพื่อควบคุมลำดับและจุดเริ่มสะสม

นิยม 5 ยาก 4 ประโยชน์ 6

5 4 6
DATATABLE Table manipulation DATATABLE(<Name>, <DataType>, [<Name>, <DataType>, ...], <Data>)

DATATABLE สร้างตารางแบบ hardcode ด้วยข้อมูลคงที่ โดยระบุชื่อคอลัมน์ ชนิดข้อมูล และค่าของแต่ละแถว เหมาะสำหรับตารางอ้างอิงเล็กๆ เช่น lookup table หรือข้อมูลตัวอย่าง

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
PREVIOUSQUARTER Time Intelligence PREVIOUSQUARTER(<dates>)

PREVIOUSQUARTER คืนตารางวันที่ของไตรมาสก่อนหน้า ตามวันที่แรกในบริบทปัจจุบัน ใช้สำหรับสร้าง Measure เปรียบเทียบ Quarter-over-Quarter (QoQ) โดยคืนวันที่ครบทั้งไตรมาสเสมอ ไม่ว่าจะเลือกวันที่ใดก็ตาม ภายในใช้ PARALLELPERIOD(FIRSTDATE(dates), -1, QUARTER)

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
TOPNSKIP Table manipulation TOPNSKIP(<Rows>, <Skip>, <Table> [, <OrderExpr> [, [<Order>] [, <OrderExpr> [, [<Order>]]]]])

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

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
DATESQTD Time Intelligence DATESQTD(<Dates>)

DATESQTD คืนตารางวันที่ของช่วงตั้งแต่ต้นไตรมาสถึงวันที่ล่าสุดในบริบทปัจจุบัน เหมาะสำหรับสร้างมาตรวัด QTD ใน CALCULATE โดยทำงานร่วมกับ Time Intelligence Functions ตัวอื่นๆ ได้ดี และควรใช้คู่กับ ShowValueForDates pattern เพื่อป้องกันการแสดงค่าในอนาคต

นิยม 5 ยาก 4 ประโยชน์ 6

5 4 6
SEARCH Text SEARCH(find_text, within_text, [start_position])

SEARCH คืนค่าตำแหน่งเริ่มต้นของข้อความที่ค้นหา (ค้นหาแบบไม่สนตัวพิมพ์) หากไม่พบจะเกิดข้อผิดพลาด สามารถใช้กับ IFERROR หรือ COALESCE เพื่อจัดการกรณีไม่พบ

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
CROSSFILTER Relationship CROSSFILTER(<LeftColumnName>, <RightColumnName>, <CrossFilterType>)

CROSSFILTER กำหนดทิศทางการกรองข้ามความสัมพันธ์ระหว่าง 2 คอลัมน์ชั่วคราว (มักใช้ใน CALCULATE) เพื่อควบคุมการไหลของตัวกรองหรือปิดการกรองข้ามในบางการคำนวณ

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
TOPNPERLEVEL Table manipulation TOPNPERLEVEL(<Rows>, <Table>, <LevelsDefinition>, <NodesExpanded>, <LevelsBoundaries>, <RestartIndicatorColumnName>)

ฟังก์ชันเชิงเครื่องมือสำหรับเลือกจำนวนแถวสูงสุด (Top N) ต่อ ระดับในโครงสร้างลำดับชั้น (hierarchy) ที่มีการขยาย/ยุบโหนด

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
FIND Text FIND(<FindText>, <WithinText>[, <StartNum>[, <NotFoundValue>]])

FIND คืนค่าตำแหน่งเริ่มต้นของ FindText ภายใน WithinText (เริ่มนับที่ 1) โดยค้นหาแบบแยกตัวพิมพ์ใหญ่/เล็ก และสามารถระบุ StartNum/NotFoundValue เพื่อควบคุมจุดเริ่มค้นหาและผลลัพธ์เมื่อไม่พบได้

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
STARTOFQUARTER Time Intelligence STARTOFQUARTER(<Dates>)

STARTOFQUARTER คืนตารางวันที่ที่มีวันแรกของไตรมาสในบริบทตัวกรองปัจจุบัน (single-row table) ใช้เป็นตารางตัวกรองใน CALCULATE หรือใช้ MINX เพื่อแปลงเป็น scalar date

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
DISTINCTCOUNTNOBLANK Aggregation DISTINCTCOUNTNOBLANK(<column>)

DISTINCTCOUNTNOBLANK นับจำนวนค่าที่ไม่ซ้ำในคอลัมน์ โดยไม่รวมค่า BLANK จึงเหมาะกับการนับรายการที่ต้องการตัดค่าว่างออกไป เช่น นับจำนวนลูกค้าที่ไม่ซ้ำโดยไม่ให้ BLANK ถูกนับ

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
OPENINGBALANCEYEAR Time Intelligence OPENINGBALANCEYEAR(<Expression>, <Dates>)

OPENINGBALANCEYEAR คำนวณค่า Expression ณ วันแรกของปี โดยดึงค่าจากวันสิ้นปีปีก่อนหน้า เหมาะสำหรับการหา opening balance ของคงเหลือ บัญชี สต็อก และค่าที่วัดได้แค่ที่จุดเวลาเดียว

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
REPLACE Text REPLACE(text, start_position, num_chars, new_text)

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

นิยม 5 ยาก 3 ประโยชน์ 5

5 3 5
INTERSECT Table manipulation INTERSECT(<LeftTable>, <RightTable>)

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

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
DATESMTD Time Intelligence DATESMTD(<Dates>)

DATESMTD คืนตารางวันที่ของช่วงตั้งแต่ต้นเดือนถึงวันที่ล่าสุดใน filter context เหมาะกับการทำยอดสะสมตั้งแต่ต้นเดือน (MTD) โดยใช้ร่วมกับ CALCULATE และควรใช้คู่กับ ShowValueForDates pattern เพื่อไม่ให้แสดงค่าในวันที่ยังไม่มีข้อมูล

นิยม 5 ยาก 4 ประโยชน์ 6

5 4 6
CROSSJOIN Table manipulation CROSSJOIN(<table1>, <table2>[, <table3>]...)

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

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
INDEX Filter INDEX(<Position>, <Relation>[, <OrderBy>[, <PartitionBy>[, <MatchBy>[, <Blanks>[, <Reset>]]]]])

INDEX ดึงแถวจากตำแหน่งที่ระบุ (Position) ภายในกลุ่มข้อมูลที่เรียงแล้ว โดยสามารถใช้ ORDERBY และ PARTITIONBY เพื่อควบคุมลำดับและการแบ่งกลุ่ม เหมาะสำหรับงาน window function เช่นดึงค่าอันดับที่ N

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
TRUE Logical TRUE()

TRUE คืนค่าตรรกะ TRUE ใช้เป็นค่าคงที่ใน DAX เช่น ใช้กับ SWITCH(TRUE()) เพื่อจัดการเงื่อนไขหลายระดับ หรือใช้ร่วมกับ IF/AND/OR ในการสร้างตรรกะ

นิยม 5 ยาก 1 ประโยชน์ 5

5 1 5
FILTERS Table manipulation FILTERS(<column>)

FILTERS คืนค่าเป็นตาราง (table) ของค่าที่ถูกกรองโดยตรง (direct filters) บนคอลัมน์ที่ระบุ เช่น ค่าที่ผู้ใช้เลือกจากตัวแบ่งส่วนข้อมูล ต่างจาก ALL/ALLEXCEPT ที่เคลียร์ตัวกรอง FILTERS ช่วยตรวจสอบและจัดการบริบทตัวกรองอย่างชาญฉลาด

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
MEDIANX Statistical MEDIANX(<Table>, <Expression>)

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

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
ORDERBY Filter ORDERBY(<orderBy_expression>[, <order>][, <orderBy_expression>[, <order>]] ...)

ORDERBY ระบุลำดับการเรียงลำดับ (ASC/DESC) และการจัดการค่าว่าง สำหรับ window functions เช่น INDEX, OFFSET, WINDOW เพื่อกำหนดลำดับของแถวภายในกลุ่ม

นิยม 5 ยาก 4 ประโยชน์ 5

5 4 5
CLOSINGBALANCEYEAR Time Intelligence CLOSINGBALANCEYEAR(<Expression>, <Dates>[, <Filter>][, <YearEndDate>])

ฟังก์ชันเวลา Intelligence ที่ประเมิน Expression ณ วันสิ้นปีของปีในบริบทปัจจุบัน รองรับปีบัญชี (Fiscal Year) และตัวกรองเพิ่มเติม เหมาะสำหรับมาตรวัด Semi-additive เช่น ยอดคงเหลือ ยอดเงินสด

นิยม 5 ยาก 5 ประโยชน์ 5

5 5 5
ALLNOBLANKROW Filter ALLNOBLANKROW(<table_or_column>)

ALLNOBLANKROW ทำงานคล้าย ALL แต่มีจุดเด่นคือ “ตัดแถวว่าง” ที่ระบบสร้างขึ้นอัตโนมัติเมื่อข้อมูลหลุดความสัมพันธ์ เช่น คีย์ในตารางข้อเท็จจริงไม่พบในตารางมิติ จึงเหมาะกับการคำนวณยอดรวม/สัดส่วนที่ไม่ต้องการให้แถวว่างเข้ามาปนผลลัพธ์ และยังใช้เป็นตัวช่วยตรวจจับปัญหาคุณภาพข้อมูลในโมเดลได้ด้วย

นิยม 4 ยาก 5 ประโยชน์ 4

4 5 4