ฟังก์ชันแบบวนซ้ำ

ฟังก์ชัน DAX ใน Power BI

Maarten Van den Broeck

Content Developer at DataCamp

ฟังก์ชันแบบวนซ้ำ

  • วนซ้ำในแต่ละแถวของตารางเพื่อคำนวณนิพจน์

SUMX(<table>, <expression>) AVERAGEX(<table>, <expression>)

  • X ย่อมาจาก eXpression
  • รองรับการคำนวณขั้นสูงในระดับแถว
ฟังก์ชัน DAX ใน Power BI

ฟังก์ชันแบบวนซ้ำ: SUMX()

ตัวอย่างคอลัมน์จากการคำนวณ
Cost = Fact_Orders[Sales] - Fact_Orders[Profit]
Total Costs = SUM(Fact_Orders[Cost])
Sales Profit Cost
$77.88 $3.89 $73.99
$22.72 $10.22 $12.50
... ... ...
Total Costs
$2,569
ฟังก์ชัน DAX ใน Power BI

ฟังก์ชันแบบวนซ้ำ: SUMX()

ตัวอย่างคอลัมน์จากการคำนวณ
Cost = Fact_Orders[Sales] - Fact_Orders[Profit]
Total Costs = SUM(Fact_Orders[Cost])
Sales Profit Cost
$77.88 $3.89 $73.99
$22.72 $10.22 $12.50
... ... ...
Total Costs
$2,569
ตัวอย่างฟังก์ชันแบบวนซ้ำ
Total Costs SUMX = 
SUMX(Fact_Orders,
     Fact_Orders[Sales] - Fact_Orders[Profit])
Total Costs SUMX
$2,569
ฟังก์ชัน DAX ใน Power BI

การกรองฟังก์ชันแบบวนซ้ำ

  • ใช้ฟังก์ชันกรอง เช่น FILTER() เพื่อคืนค่าตารางที่ผ่านการกรองแล้ว
SUMX(
    FILTER(
        <table>,
        <filter>),
    <expression>)
Total Costs East SUMX = 
SUMX(
    FILTER(
        Fact_Orders,
        Fact_Orders[Region] = "East"),
    Fact_Orders[Sales] - Fact_Orders[Profit])
ฟังก์ชัน DAX ใน Power BI

การกรองฟังก์ชันแบบวนซ้ำ

  • ใช้ฟังก์ชันกรอง เช่น FILTER() เพื่อคืนค่าตารางที่ผ่านการกรองแล้ว
SUMX(
    FILTER(
        <table>,
        <filter>),
    <expression>)
Total Costs East SUMX = 
SUMX(
    FILTER(
        Fact_Orders,
        Fact_Orders[Region] = "East"),
    Fact_Orders[Sales] - Fact_Orders[Profit])

$$ $$ $$ $$ $$ $$

Region Total Costs Total Costs East SUMX
Central $501,239.89
East $678,781.24 $678,781.24
South $391,721.91
West $725,457.82
TOTAL $2,297,200.86 $678,781.24
ฟังก์ชัน DAX ใน Power BI

ฟังก์ชันแบบวนซ้ำ: RANKX()

RANKX(
    <table>,
    <expression>)
  • จัดอันดับภูมิภาคตามต้นทุนรวม
Total Costs RANKX = 
RANKX(
    ALL(Dim_Sales[Region]),
    [Total Costs])
  • ใช้ ALL() เพื่อประเมินทุกแถวจากตารางมิติ
ฟังก์ชัน DAX ใน Power BI

ฟังก์ชันแบบวนซ้ำ: RANKX()

RANKX(
    <table>,
    <expression>)
  • จัดอันดับภูมิภาคตามต้นทุนรวม
Total Costs RANKX = 
RANKX(
    ALL(Dim_Sales[Region]),
    [Total Costs])
  • ใช้ ALL() เพื่อประเมินทุกแถวจากตารางมิติ

$$ $$ $$

Region Total Costs Total Costs RANKX
Central $725,457.82 1
East $678,781.24 2
South $501,239.89 3
West $391,721.91 4
ฟังก์ชัน DAX ใน Power BI

ตัวดำเนินการใน DAX

ตัวดำเนินการเปรียบเทียบ
Operator Meaning
= เท่ากับ
== เท่ากับแบบเข้มงวด
> มากกว่า
< น้อยกว่า
>= มากกว่าหรือเท่ากับ
<= น้อยกว่าหรือเท่ากับ
<> ไม่เท่ากับ
ฟังก์ชัน DAX ใน Power BI

ตัวดำเนินการใน DAX

ตัวดำเนินการเปรียบเทียบ
Operator Meaning
= เท่ากับ
== เท่ากับแบบเข้มงวด
> มากกว่า
< น้อยกว่า
>= มากกว่าหรือเท่ากับ
<= น้อยกว่าหรือเท่ากับ
<> ไม่เท่ากับ
ตัวดำเนินการข้อความ
Operator Meaning Example
& เชื่อมต่อค่าข้อความ [City]&", "&[State]
ฟังก์ชัน DAX ใน Power BI

ตัวดำเนินการใน DAX

ตัวดำเนินการเปรียบเทียบ
Operator Meaning
= เท่ากับ
== เท่ากับแบบเข้มงวด
> มากกว่า
< น้อยกว่า
>= มากกว่าหรือเท่ากับ
<= น้อยกว่าหรือเท่ากับ
<> ไม่เท่ากับ
ตัวดำเนินการข้อความ
Operator Meaning Example
& เชื่อมต่อค่าข้อความ [City]&", "&[State]
ตัวดำเนินการตรรกะ
Operator Meaning Example
&& เงื่อนไข AND ([City] = "Bru") && ([Return] = "Yes"))
|| เงื่อนไข OR ([City] = "Bru") || ([Return] = "Yes"))
IN { } เงื่อนไข OR สำหรับแต่ละแถว Product[Color] IN {"Red", "Blue", "Gold"}
ฟังก์ชัน DAX ใน Power BI

Lesson[Knowledge] IN {"Poor", "Great", "Awesome!"}

ฟังก์ชัน DAX ใน Power BI

Preparing Video For Download...