การกรองข้อมูลและการนับด้วย DAX

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

Maarten Van den Broeck

Content Developer at DataCamp

ฟังก์ชันฟิลเตอร์

  • ฟิลเตอร์ถูกนำไปใช้กับ filter context
  • ฟิลเตอร์มีความสำคัญเหนือกว่า visual ใดๆ
Total Sales = SUM(Orders[Sales])

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

ฟังก์ชันฟิลเตอร์

  • ฟิลเตอร์ถูกนำไปใช้กับ filter context
  • ฟิลเตอร์มีความสำคัญเหนือกว่า visual ใดๆ
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • ใช้ร่วมกับฟังก์ชันระดับกลาง
Total Sales ALL = CALCULATE(
                    [Total Sales],
                    ALL(Orders))

$$ $$ $$

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

ฟังก์ชันฟิลเตอร์

  • ฟิลเตอร์ถูกนำไปใช้กับ filter context
  • ฟิลเตอร์มีความสำคัญเหนือกว่า visual ใดๆ
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • ใช้ร่วมกับฟังก์ชันระดับกลาง
Total Sales ALL = CALCULATE(
                    [Total Sales],
                    ALL(Orders))

$$ $$ $$

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

ตัวเลือกการกรองเพิ่มเติม

  • FILTER(<table>, <filter>)
    • คืนค่าตารางที่กรองแล้ว
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
ฟังก์ชัน DAX ใน Power BI

ตัวเลือกการกรองเพิ่มเติม

  • FILTER(<table>, <filter>)
    • คืนค่าตารางที่กรองแล้ว
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
Total Sales Total Sales Chuck
$2,297,200.86 $235,856.05

$$

  • RELATED() ใช้คืนค่าจากตารางอื่น
ฟังก์ชัน DAX ใน Power BI

ตัวเลือกการกรองเพิ่มเติม

  • CROSSFILTER(<col1>, <col2>, <direction>)
    • ระบุทิศทาง cross-filtering ระหว่างสองคอลัมน์

ความสัมพันธ์แบบทิศทางเดียวระหว่างสองตาราง Fact_Orders และ Dim_Returns

CROSSFILTER(Dim_Returns[Order ID], 
            Fact_Orders[Order ID],
            Both)
  • ลบล้างทิศทางความสัมพันธ์ของโมเดลข้อมูล
ฟังก์ชัน DAX ใน Power BI

ประโยชน์ของการกรองข้อมูลใน DAX

  • เพิ่มประสิทธิภาพ
    • กรองข้อมูลที่ไม่จำเป็นออก
    • กำหนดความสัมพันธ์เฉพาะระหว่างตาราง
  • นำกลับมาใช้ซ้ำได้
    • อ้างอิง measure ที่คำนวณไว้แล้วได้
  • รองรับการคำนวณที่ซับซ้อนยิ่งขึ้น
    • syntax กระชับ
ฟังก์ชัน DAX ใน Power BI

การนับ

  • COUNT(<column>)
    • คืนค่าจำนวนแถวที่มีตัวเลข วันที่ หรือสตริงในคอลัมน์
  • COUNTA(<column>)
    • คืนค่าจำนวนแถวที่มีตัวเลข วันที่ สตริง หรือบูลีนในคอลัมน์
  • COUNTBLANKS(<column>)
    • คืนค่าจำนวนแถวที่ว่างเปล่า
  • DISTINCTCOUNT(<column>)
    • คืนค่าจำนวนค่าที่ไม่ซ้ำกันในคอลัมน์
  • COUNTROWS(<table>)
    • คืนค่าจำนวนแถวที่มีตัวเลข วันที่ และสตริงในตาราง
ฟังก์ชัน DAX ใน Power BI

มาฝึกกันเถอะ!

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

Preparing Video For Download...