เริ่มต้นด้วย DAX ใน Power BI



บล็อก Edureka นี้ช่วยให้คุณเริ่มต้นใช้งาน Power BI DAX Basics หรือ Data Analytics Expressions ถ้าคุณเพิ่งเริ่มใช้ Power BI ด้วยไวยากรณ์และตัวอย่าง

บล็อกนี้ออกแบบมาสำหรับผู้ใช้ที่เพิ่งเริ่มใช้ไฟล์ และมีจุดมุ่งหมายเพื่อให้คุณเดินผ่านสูตรภาษาที่เรียกว่า นิพจน์การวิเคราะห์ข้อมูล (DAX) .หากคุณคุ้นเคยกับฟังก์ชันใน MS Excel หรือ หลายสูตรในนี้ พื้นฐาน Power BI DAX บทความจะคล้ายกับคุณ

ต้องบอกว่านี่คือแนวคิดซึ่งเป็นส่วนหนึ่งของทั้งหมด หลังจากเรียนรู้สิ่งที่คุณควรมีความเข้าใจเป็นอย่างดีเกี่ยวกับแนวคิดพื้นฐานที่สุดใน DAX





พื้นฐาน Power BI DAX: DAX คืออะไร

เริ่มจากพื้นฐานของ Power BI DAX กันดีกว่าไหม

การสร้างรายงานโดยใช้ Power BI Desktop เป็นเรื่องง่ายมากซึ่งจะแสดงข้อมูลเชิงลึกที่มีคุณค่าตรงไปตรงมา



แต่ถ้าคุณต้องการวิเคราะห์เปอร์เซ็นต์การเติบโตในหมวดหมู่ผลิตภัณฑ์ทั้งหมดสำหรับช่วงวันที่ต่างๆทั้งหมดล่ะ หรือคุณต้องคำนวณการเติบโตประจำปีของ บริษัท ของคุณเมื่อเทียบกับยักษ์ใหญ่ในตลาด?

การเรียนรู้ DAX จะช่วยให้คุณได้รับประโยชน์สูงสุดจากไฟล์ และแก้ปัญหาทางธุรกิจที่แท้จริง

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



Power BI DAX ประกอบด้วยไลบรารีของฟังก์ชันตัวดำเนินการและโครงสร้างมากกว่า 200 รายการ ไลบรารีของมันให้ความยืดหยุ่นอย่างมากในการสร้างมาตรการเพื่อคำนวณผลลัพธ์สำหรับความต้องการในการวิเคราะห์ข้อมูล

ข้อมูลเบื้องต้นเกี่ยวกับ Power BI DAX: ทำงานอย่างไร

ก่อนอื่นให้ฉันอธิบายให้คุณฟังว่ามันทำงานอย่างไรโดยส่วนใหญ่เราจะกำหนดกรอบความเข้าใจของเราเกี่ยวกับ Power BI DAX ด้วยแนวคิดพื้นฐานสามประการ: ไวยากรณ์ , บริบท และ ฟังก์ชั่น .

แน่นอนว่ามีแนวคิดที่สำคัญอื่น ๆ อยู่ในที่นี้ แต่การทำความเข้าใจทั้งสามข้อนี้จะเป็นรากฐานที่ดีที่สุดในการสร้างทักษะของคุณ

ไวยากรณ์

ไวยากรณ์ ประกอบด้วยส่วนประกอบต่างๆที่ประกอบกันเป็นสูตรและวิธีการเขียน ลลองดูสูตร DAX ง่ายๆนี้

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

ไวยากรณ์ - Power BI DAX - Edureka

ผม. ยอดขายทั้งหมด คือชื่อหน่วยวัด

II. เท่ากับเครื่องหมายโอเปอเรเตอร์ (=) ระบุจุดเริ่มต้นของสูตร

สาม. SUM รวมตัวเลขทั้งหมดในคอลัมน์ การขาย [SalesAmount] .

IV. มีเหล่านี้ วงเล็บ () ที่ล้อมรอบนิพจน์ที่มีอาร์กิวเมนต์อย่างน้อยหนึ่งอาร์กิวเมนต์ ฟังก์ชันทั้งหมดต้องการอาร์กิวเมนต์อย่างน้อยหนึ่งรายการ

V. ฝ่ายขาย คือตารางที่อ้างอิง

เรา. อัน การโต้เถียง ส่งผ่านค่าไปยังฟังก์ชัน คอลัมน์ที่อ้างอิง [SalesAmount] คืออาร์กิวเมนต์ซึ่งฟังก์ชัน SUM จะรู้คอลัมน์ที่ต้องรวม SUM

พูดง่ายๆก็คือคุณสามารถอ่านเป็น ' สำหรับการวัดที่ชื่อว่า Total Sales ให้คำนวณ (=) SUM ของค่าในคอลัมน์ [SalesAmount] ในตาราง Sales”

& โพดำตัวแก้ไข Power BI DAX มีฟีเจอร์คำแนะนำซึ่งช่วยให้คุณสร้างสูตรที่ถูกต้องตามหลักไวยากรณ์โดยแนะนำองค์ประกอบที่เหมาะสมให้คุณ

บริบท

บริบท เป็นหนึ่งในแนวคิดที่สำคัญที่สุดของ 3 DAX เมื่อพูดถึงบริบทอาจหมายถึงหนึ่งในสองประเภท บริบทแถว และ บริบทตัวกรอง .

ใช้เป็นส่วนใหญ่ในขณะที่พูดถึง มาตรการ , แถว - บริบท คิดได้ง่ายที่สุดว่าเป็นแถวปัจจุบัน ใช้เมื่อใดก็ตามที่สูตรมีฟังก์ชันที่ใช้ตัวกรองเพื่อระบุแถวเดียวในตาราง

python คลาส __init__

บริบทตัวกรอง เข้าใจยากกว่า Row-Context เล็กน้อย คุณสามารถคิดว่า Filter-Context ได้ง่ายที่สุดคือใช้ตัวกรองอย่างน้อย 1 ตัวในการคำนวณบริบทตัวกรองไม่มีอยู่แทนบริบทของแถว แต่จะใช้นอกเหนือจากในอดีต ดูสูตร DAX ต่อไปนี้

สูตรนี้ประกอบด้วยองค์ประกอบทางไวยากรณ์ต่อไปนี้:

ผม. ชื่อหน่วยวัด การขายหน้าร้าน .

II. เท่ากับเครื่องหมายโอเปอเรเตอร์ (=) ระบุจุดเริ่มต้นของสูตร

สาม. คำนวณ ฟังก์ชันประเมินนิพจน์เป็นอาร์กิวเมนต์

IV. วงเล็บ () ล้อมรอบนิพจน์ที่มีอาร์กิวเมนต์อย่างน้อยหนึ่งอาร์กิวเมนต์

V. การวัด [ยอดขายทั้งหมด] ในตารางเดียวกันกับนิพจน์

เรา. ถึง ลูกน้ำ (,) แยกอาร์กิวเมนต์นิพจน์แรกออกจากอาร์กิวเมนต์ตัวกรอง

คุณกำลังมา คอลัมน์อ้างอิงที่มีคุณสมบัติครบถ้วน ช่อง [ChannelName] คือ Row-Context ของเรา แต่ละแถวในคอลัมน์นี้ระบุช่องทางร้านค้าออนไลน์ ฯลฯ

VIII. ค่าเฉพาะ เก็บ ใช้เป็นตัวกรอง นี่คือบริบทตัวกรองของเรา

สูตรนี้ช่วยให้มั่นใจได้ ที่ การวัดยอดขายทั้งหมดจะคำนวณเฉพาะสำหรับแถวในคอลัมน์ Channel [ChannelName] ที่มีค่า 'Store' เป็นตัวกรอง

ฟังก์ชั่น

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

พื้นฐาน Power BI DAX: คอลัมน์และการวัดจากการคำนวณ

ในบล็อกนี้เราจะเน้นไปที่สูตร Power BI DAX ที่ใช้ในการคำนวณใน มาตรการ และ คอลัมน์จากการคำนวณ .

คอลัมน์จากการคำนวณ

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

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

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

มาตรการ

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

คอลัมน์จากการคำนวณเทียบกับมาตรการ

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

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

ดังนั้นคุณต้องกำหนดคอลัมน์จากการคำนวณเมื่อใดก็ตามที่คุณต้องการทำสิ่งต่อไปนี้

  • วางผลลัพธ์จากการคำนวณในตัวแบ่งส่วนข้อมูลหรือดูผลลัพธ์ในแถวหรือคอลัมน์ในตาราง Pivot (ตรงข้ามกับพื้นที่ค่า) หรือในแกนของแผนภูมิหรือใช้ผลลัพธ์เป็นเงื่อนไขตัวกรองในแบบสอบถาม DAX
  • กำหนดนิพจน์ที่ผูกกับแถวปัจจุบันอย่างเคร่งครัด ตัวอย่างเช่นราคา * ปริมาณไม่สามารถทำงานโดยเฉลี่ยหรือผลรวมของสองคอลัมน์
  • จัดหมวดหมู่ข้อความหรือตัวเลข ตัวอย่างเช่นช่วงของค่าสำหรับการวัด

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

ดังนั้นคุณต้องกำหนดการวัดเมื่อใดก็ตามที่คุณต้องการแสดงค่าการคำนวณผลลัพธ์ที่สะท้อนถึงการเลือกของผู้ใช้เช่น

  • เมื่อคุณคำนวณเปอร์เซ็นต์กำไรจากข้อมูลที่เลือก
  • เมื่อคุณคำนวณอัตราส่วนของผลิตภัณฑ์เทียบกับผลิตภัณฑ์ทั้งหมด แต่ยังคงใช้ตัวกรองตามปีและภูมิภาค

พื้นฐาน Power BI DAX: ประเภทของฟังก์ชันใน DAX

1. ฟังก์ชั่นรวม

นาที

ฟังก์ชัน DAX นี้ rเปลี่ยนค่าตัวเลขขั้นต่ำในคอลัมน์หรือระหว่างสองนิพจน์สเกลาร์

ไวยากรณ์

นาที()

ตัวอย่าง

=นาที([ResellerMargin])

มินา

ฟังก์ชัน DAX นี้ rเปลี่ยนค่าต่ำสุดในคอลัมน์รวมถึงค่าตรรกะและตัวเลขที่แสดงเป็นข้อความ

ไวยากรณ์

มินา()

ตัวอย่าง

=มินา(([รหัสไปรษณีย์])

ขั้นต่ำ

ฟังก์ชัน DAX นี้ส่งกลับค่าตัวเลขขั้นต่ำที่เป็นผลมาจากการประเมินนิพจน์สำหรับแต่ละแถวของตาราง

ไวยากรณ์

ขั้นต่ำ(

,)

ตัวอย่าง

=ขั้นต่ำ(กรอง(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

MAX

ฟังก์ชัน DAX นี้ rเปิดค่าสูงสุดในคอลัมน์รวมถึงค่าตรรกะและตัวเลขที่แสดงเป็นข้อความ

ไวยากรณ์

MAX()

ตัวอย่าง

=MAX([ResellerMargin])

MAX

ฟังก์ชัน DAX นี้ rเปิดค่าสูงสุดในคอลัมน์รวมถึงค่าตรรกะและตัวเลขที่แสดงเป็นข้อความ

ไวยากรณ์

MAX()

ตัวอย่าง

=MAX(([รหัสไปรษณีย์])

MAXX

ฟังก์ชัน DAX นี้ส่งกลับค่าตัวเลขสูงสุดที่เป็นผลมาจากการประเมินนิพจน์สำหรับแต่ละแถวของตาราง

ไวยากรณ์

MAXX(

,)

ตัวอย่าง

=MAXX(กรอง(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

SUM

ฟังก์ชัน DAX นี้กdds ตัวเลขทั้งหมดในคอลัมน์

ไวยากรณ์

SUM()

ตัวอย่าง

=SUM(สำนักงานขาย])

เฉลี่ย

ฟังก์ชัน DAX นี้ rเปลี่ยนค่าเฉลี่ยเลขคณิตของค่าในคอลัมน์

ไวยากรณ์

เฉลี่ย()

ตัวอย่าง

=เฉลี่ย(InternetSales [ExtendedSalesAmount])

sumx

ฟังก์ชัน DAX นี้ rส่งกลับผลรวมของนิพจน์ที่ประเมินสำหรับแต่ละแถวในตาราง

ไวยากรณ์

sumx(

,)

ตัวอย่าง

=sumx(กรอง(InternetSales, InternetSales [SalesTerritoryID] =5), [ค่าขนส่ง])

AVERAGEX

ฟังก์ชัน DAX นี้ cคำนวณค่าเฉลี่ยเลขคณิตของชุดนิพจน์ที่ประเมินบนตาราง

ไวยากรณ์

AVERAGEX(

,)

ตัวอย่าง

=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])

2. ฟังก์ชั่นการนับ

DISTINCTCOUNT

นี่คือฟังก์ชัน DAX ที่ใช้เพื่อส่งคืนจำนวนรายการที่แตกต่างกันในคอลัมน์ ดังนั้นหากมีรายการเดียวกันหลายหมายเลขฟังก์ชันนี้จะนับเป็นรายการเดียว

ไวยากรณ์

DISTINCTCOUNT()

ตัวอย่าง

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

นับ

นี่คือฟังก์ชัน DAX ที่ใช้เพื่อส่งคืนจำนวนรายการในคอลัมน์ ดังนั้นหากมีรายการเดียวกันหลายหมายเลขฟังก์ชันนี้จะนับเป็นรายการที่แยกจากกันไม่ใช่รายการเดียว

ไวยากรณ์

นับ()

ตัวอย่าง

=นับ([ShipDate])

COUNTA

นี่คือฟังก์ชัน DAX ที่ใช้ในการส่งคืนจำนวนสินค้าในคอลัมน์ที่ไม่ว่างเปล่า

ไวยากรณ์

COUNTA()

ตัวอย่าง

=COUNTA('ตัวแทนจำหน่าย' [โทรศัพท์])

COUNTROWS

นี่คือฟังก์ชัน DAX ที่นับจำนวนแถวในตารางที่ระบุหรือในตารางที่กำหนดโดยนิพจน์

ไวยากรณ์

COUNTROWS(

)

ตัวอย่าง

=COUNTROWS('คำสั่งซื้อ')

COUNTBLANK

นี่คือฟังก์ชัน DAX ที่นับจำนวนเซลล์ว่างในคอลัมน์

ไวยากรณ์

COUNTBLANK()

ตัวอย่าง

=COUNTBLANK(ตัวแทนจำหน่าย [BankName])

3. ฟังก์ชันวันที่ - เวลา

วันที่

ฟังก์ชัน DAX นี้ rเปลี่ยนวันที่ที่ระบุในรูปแบบวันที่ - เวลา

ไวยากรณ์

วันที่(<ปี>,<เดือน>,<วัน>)

ตัวอย่าง

=วันที่(พ.ศ. 2562,12, 17)

ชั่วโมง

ฟังก์ชัน DAX นี้ rเปลี่ยนชั่วโมงที่ระบุเป็นตัวเลขตั้งแต่ 0 ถึง 23 (12.00 น. ถึง 23.00 น.)

ไวยากรณ์

ชั่วโมง()

ตัวอย่าง

=ชั่วโมง('คำสั่งซื้อ' [TransactionTime])

วันนี้

ฟังก์ชัน DAX นี้ rเปลี่ยนวันที่ปัจจุบัน

ไวยากรณ์

วันนี้()

ตอนนี้

ฟังก์ชัน DAX นี้ rเปลี่ยนวันที่และเวลาปัจจุบันในรูปแบบวันที่ - เวลา

ไวยากรณ์

ตอนนี้()

EOMONTH

ฟังก์ชัน DAX นี้ rเปลี่ยนวันที่ในรูปแบบวันที่ - เวลาของวันสุดท้ายของเดือนก่อนหรือหลังจำนวนเดือนที่ระบุ

ไวยากรณ์

EOMONTH(,)

ตัวอย่าง

=EOMONTH('3 มีนาคม 2551',1.5)

4. ฟังก์ชันทางคณิตศาสตร์

มาตรา

ฟังก์ชัน DAX นี้ rเปลี่ยนค่าสัมบูรณ์ของจำนวนที่กำหนด

ไวยากรณ์

มาตรา()

ตัวอย่าง

=ABS ([DealerPrice] - [ListPrice])

EXP

ฟังก์ชัน DAX นี้ rเปลี่ยนค่าของ e ยกกำลังของจำนวนที่กำหนด

ไวยากรณ์

EXP()

ตัวอย่าง

= EXP ([พลัง])

ข้อเท็จจริง

ฟังก์ชัน DAX นี้ rเปลี่ยนแฟกทอเรียลของตัวเลข

ไวยากรณ์

ข้อเท็จจริง()

ตัวอย่าง

= FACT ([ค่า])

LN

ฟังก์ชัน DAX นี้ rเปิดบันทึกธรรมชาติของตัวเลขที่กำหนด

ไวยากรณ์

LN()

ตัวอย่าง

= LN ([ค่า])

เข้าสู่ระบบ

ฟังก์ชัน DAX นี้ rเปิดบันทึกด้วยฐานของตัวเลขที่กำหนด

ไวยากรณ์

เข้าสู่ระบบ(,)

ตัวอย่าง

ทั้งหมดต่อไปนี้ส่งคืนผลลัพธ์เดียวกัน 2.

= เข้าสู่ระบบ (100,10)

= เข้าสู่ระบบ (100)

= LOG10 (100)

PI

ฟังก์ชัน DAX นี้ rเปลี่ยนค่าของ Pi

ไวยากรณ์

PI()

พลัง

ฟังก์ชัน DAX นี้ rเปลี่ยนค่าของอาร์กิวเมนต์แรกยกกำลังของอาร์กิวเมนต์ที่สอง

ไวยากรณ์

พลัง(,<อำนาจ>)

ตัวอย่าง

= พลังงาน (5,2)

ใบเสนอราคา

ฟังก์ชัน DAX นี้ทำการหาร rเปิดส่วนจำนวนเต็มของผลหาร

ไวยากรณ์

ใบเสนอราคา(,)

ตัวอย่าง

= QUOTIENT (5,2)

ลงชื่อ

ฟังก์ชัน DAX นี้ส่งคืนเครื่องหมายของตัวเลขที่กำหนด

ไวยากรณ์

ลงชื่อ()

ตัวอย่าง

= SIGN (([ราคาลด] - [ราคาต้นทุน]))

SQRT

ฟังก์ชัน DAX นี้ rเปลี่ยนค่ารากที่สองของจำนวนที่กำหนด

ไวยากรณ์

SQRT()

ตัวอย่าง

วิธีการแปลง double เป็น int java

= SQRT (25)

5. ฟังก์ชั่นตรรกะ

และ

ฟังก์ชัน DAX นี้ดำเนินการเชิงตรรกะ AND (ร่วม) กับสองนิพจน์ สำหรับ AND เพื่อคืนค่าจริงเงื่อนไขทั้งสองที่ระบุจะต้องเป็นไปตามเงื่อนไข

ไวยากรณ์

และ(,)

ตัวอย่าง

= IF (และ (10>9, -10 <-หนึ่ง),'จริงทั้งหมด','เท็จอย่างน้อยหนึ่ง'

เนื่องจากเงื่อนไขทั้งสองที่ส่งผ่านเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน AND เป็นจริงสูตรจึงส่งกลับ 'All True'

หรือ

ฟังก์ชัน DAX นี้ดำเนินการเชิงตรรกะหรือ (disjunction) กับสองนิพจน์ เพื่อให้ OR ส่งคืนเป็นจริงต้องปฏิบัติตามเงื่อนไขอย่างใดอย่างหนึ่งจากสองเงื่อนไขที่ระบุไว้

ไวยากรณ์

หรือ(,)

ตัวอย่าง

= IF (หรือ (10>9, -10> -หนึ่ง),'จริง','เท็จ'

เนื่องจากเงื่อนไขข้อใดข้อหนึ่งที่ส่งผ่านเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน OR เป็นจริงสูตรจึงส่งกลับ 'True'

ไม่

ฟังก์ชัน DAX นี้ทำตรรกะ NOT (การปฏิเสธ) กับนิพจน์ที่กำหนด

ไวยากรณ์

ไม่()

ตัวอย่าง

= ไม่ ([CalculatedColumn1])

สำหรับแต่ละแถวในคอลัมน์จากการคำนวณ 1 ฟังก์ชัน NOT จะส่งคืนค่าที่ตรงกันข้ามกับค่าที่กำหนด

ถ้า

ฟังก์ชัน DAX นี้ทดสอบชุดของอินพุตสำหรับหนึ่งที่ตรงตามเงื่อนไขที่ระบุในอาร์กิวเมนต์

ไวยากรณ์

ถ้า(logical_test> ,, value_if_false)

ตัวอย่าง

= IF ([การโทร]<200,'ต่ำ', IF ([การโทร]<300,'ปานกลาง','สูง'))

IFERROR

ฟังก์ชัน DAX นี้ eประเมินมูลค่านิพจน์และส่งคืนค่าที่ระบุหากนิพจน์ส่งกลับข้อผิดพลาด

ไวยากรณ์

IFERROR(มูลค่า, value_if_error)

ตัวอย่าง

= IFERROR (25/0,9999)

6. ฟังก์ชั่นข้อมูล

ISBLANK

ฟังก์ชัน DAX นี้คืนค่า TRUE หรือ FALSE หลังตรวจสอบว่าค่าว่างหรือไม่

ไวยากรณ์

ISBLANK(<มูลค่า>)

ตัวอย่าง

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [ยอดขายทั้งหมด] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

ISNUMBER

ฟังก์ชัน DAX นี้คืนค่า TRUE หรือ FALSE หลังตรวจสอบว่าค่าเป็นตัวเลขหรือไม่

ไวยากรณ์

ISNUMBER(<มูลค่า>)

ตัวอย่าง

= IF (ISNUMBER (0),'เป็นตัวเลข','ไม่ใช่ตัวเลข')

ISTEXT

ฟังก์ชัน DAX นี้คืนค่า TRUE หรือ FALSE หลังตรวจสอบว่าค่าเป็นข้อความหรือไม่

ไวยากรณ์

ISTEXT(<มูลค่า>)

ตัวอย่าง

= IF (ISTEXT ('ข้อความ'),'เป็นข้อความ','ไม่ใช่ข้อความ')

ISNONTEXT

ฟังก์ชัน DAX นี้คืนค่า TRUE หรือ FALSE หลังตรวจสอบว่าค่าไม่ใช่ข้อความหรือไม่

ไวยากรณ์

ISNONTEXT(<มูลค่า>)

ตัวอย่าง

= IF (ISNONTEXT ('ข้อความ'),'ไม่ใช่ข้อความ','เป็นข้อความ')

ISERROR

ฟังก์ชัน DAX นี้คืนค่า TRUE หรือ FALSE หลังตรวจสอบว่าค่าเป็นข้อผิดพลาดหรือไม่

ไวยากรณ์

ISERROE(<มูลค่า>)

ตัวอย่าง

= IF (ISERROR (SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), BLANK (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD]))

7. ฟังก์ชั่นข้อความ

เข้มข้น

ฟังก์ชัน DAX นี้ jเติมสตริงข้อความสองสตริงเป็นหนึ่งเดียว

ไวยากรณ์

เข้มข้น(,)

ตัวอย่าง

= CONCATENATE ('สวัสดี', 'โลก')

CONCATENATEX

ฟังก์ชัน DAX นี้ผลลัพธ์ของนิพจน์ที่ประเมินสำหรับแต่ละแถวในตาราง

ไวยากรณ์

CONCATENATEX(

,, [ตัวคั่น])

ตัวอย่าง

= CONCATENATEX (พนักงาน, [FirstName] &““ & [LastName],“,”)

แก้ไขแล้ว

ฟังก์ชัน DAX นี้ rผสมตัวเลขตามจำนวนทศนิยมที่ระบุและส่งกลับผลลัพธ์เป็นข้อความ

ไวยากรณ์

แก้ไขแล้ว(,,)

ตัวอย่าง

= คงที่ ([PctCost],3,หนึ่ง)

แทนที่

ฟังก์ชัน DAX นี้แทนที่ส่วนหนึ่งของสตริงข้อความตามจำนวนอักขระที่คุณระบุด้วยสตริงข้อความอื่น

ไวยากรณ์

แทนที่(,,,)

ตัวอย่าง

= REPLACE ('ผลิตภัณฑ์ใหม่' [รหัสสินค้า],หนึ่ง,2,'OB')

ค้นหา

ฟังก์ชัน DAX นี้ rเปลี่ยนจำนวนอักขระที่พบสตริงข้อความเฉพาะเป็นครั้งแรก

ไวยากรณ์

ค้นหา(, [, [] [,]])

ตัวอย่าง

= ค้นหา ('n','เครื่องพิมพ์')

สูตรจะคืนค่า 4 เนื่องจาก 'n' เป็นอักขระตัวที่สี่ในคำว่า 'printer'

บน

ฟังก์ชัน DAX นี้ส่งกลับสตริงข้อความเป็นตัวอักษรตัวพิมพ์ใหญ่ทั้งหมด

ไวยากรณ์

บน()

ตัวอย่าง

= UPPER (['สินค้าใหม่' [รหัสสินค้า])

พื้นฐาน Power BI DAX: การสร้างการวัดผลครั้งแรกของคุณ

วิชาบังคับก่อน: คุณจะต้องเปิด ไฟล์ Power BI Desktop ที่ให้มานี้ .

เนื่องจากฉันคิดว่านี่จะเป็นครั้งแรกของคุณฉันจะเขียนรายละเอียดเล็กน้อยนี้เพื่อให้คุณติดตาม

  1. ในรายการฟิลด์ของ มุมมองรายงาน คลิกขวาที่ไฟล์ ฝ่ายขาย ตามด้วย มาตรการใหม่ .

  2. แทนที่ วัด โดยพิมพ์ชื่อหน่วยวัดใหม่ ยอดขายไตรมาสก่อนหน้า ใน แถบสูตร .

  3. ในสูตรนี้คุณต้องการใช้ไฟล์ คำนวณ ฟังก์ชัน ดังนั้นหลังเครื่องหมายเท่ากับให้พิมพ์ตัวอักษรสองสามตัวแรก CAL แล้วคลิกสองครั้งที่ฟังก์ชันที่คุณต้องการใช้

  4. ฟังก์ชัน CALCULATE มีอาร์กิวเมนต์อย่างน้อยสองอาร์กิวเมนต์ ประการแรกคือนิพจน์ที่จะประเมินและสองคือ a กรอง .

  5. หลังจากการเปิด วงเล็บ ( สำหรับ คำนวณ ฟังก์ชันประเภท SUM ตามด้วยวงเล็บเปิดอีกอัน ( เพื่อส่งต่ออาร์กิวเมนต์ไปยังไฟล์ SUM ฟังก์ชัน

  6. เริ่มพิมพ์ เกลือ แล้วเลือก การขาย [SalesAmount] ตามด้วยวงเล็บปิด ) . นี่เป็นอาร์กิวเมนต์นิพจน์แรกสำหรับไฟล์ คำนวณ ฟังก์ชัน

  7. พิมพ์ก ลูกน้ำ (,) ตามด้วยช่องว่างเพื่อระบุตัวกรองแรกจากนั้นพิมพ์ PREVIOUSQUARTER . นี่จะเป็นตัวกรองของเรา

  8. คุณจะใช้ไฟล์ PREVIOUSQUARTER ฟังก์ชั่นข่าวกรองเวลาเพื่อกรอง SUM ผลประกอบการในไตรมาสก่อนหน้า

  9. หลังวงเล็บเปิด ( สำหรับฟังก์ชัน PREVIOUSQUARTER ให้พิมพ์ ปฏิทิน [DateKey] .

  10. PREVIOUSQUARTER ฟังก์ชันมีหนึ่งอาร์กิวเมนต์คอลัมน์ที่มีช่วงวันที่ที่ต่อเนื่องกัน ในกรณีของเรานั่นคือ DateKey คอลัมน์ในตารางปฏิทิน

  11. ตรวจสอบให้แน่ใจว่าทั้งอาร์กิวเมนต์ที่ส่งไปยัง PREVIOUSQUARTER และฟังก์ชัน CALCULATE ปิดอยู่โดยพิมพ์วงเล็บปิดสองอัน )) .

  12. ตอนนี้สูตรของคุณควรมีลักษณะดังนี้
    ยอดขายไตรมาสก่อนหน้า = คำนวณ (SUM (ยอดขาย [SalesAmount]), PREVIOUSQUARTER (ปฏิทิน [DateKey]))

  13. คลิกเครื่องหมายถูกในแถบสูตรหรือกด Enter เพื่อตรวจสอบความถูกต้องของสูตร

เมื่อคุณเพิ่มสิ่งนั้นลงในโมเดลของคุณแล้ว voila! คุณเพิ่งสร้างการวัดโดยใช้ DAX ไม่ใช่เรื่องง่ายเลย

สูตรนี้คืออะไร คำนวณยอดขายรวมสำหรับไตรมาสก่อนหน้าโดยขึ้นอยู่กับตัวกรองที่ใช้ในรายงาน

สมมุติว่าเราต้องใส่ ยอดขาย และใหม่ของเรา ยอดขายไตรมาสก่อนหน้า วัดในแผนภูมิแล้วเพิ่ม ปี และ QuarterOfYear เช่น ตัวแบ่งส่วนข้อมูล เราจะได้รับสิ่งที่ชอบดังต่อไปนี้

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