top of page
4. Dax Common Formulas
အသုံးများသည့် အခြေခံ DAX Formula များ
ဤစာမျက်နှာတွင်ပါဝင်သည့် ခေါင်းစဉ်များ

4.1.2  COUNT Functions

Syntax:

=COUNT ( [ ColumnName ] )

=COUNTA( [ ColumnName ] )

=COUNTBLANK( [ ColumnName ] )

=COUNTROWS( TableName )

=DISTINCTCOUNT( [ ColumnName ] )

 Example:

COUNT:=COUNT ( Sales[Qty] )

COUNTA:=COUNTA( Sales[Product]  )

COUNTBLANK :=COUNTBLANK( [Sales[Customer] )

COUNTROWS :=COUNTROWS( Sales )

Product DISTINCTCOUNT=DISTINCTCOUNT( [ Sales[Product] )

Customer DISTINCTCOUNT =DISTINCTCOUNT( [ Sales[Customer] )

4.1 Aggregate functions

Column တစ်ခုရှိ တန်ဖိုးများအားလုံး ထည့်သွင်းတွက်ချက်၍ ရလဒ်တစ်ခု ရရှိရန် တွက်ချက်ပေးသည့် Formula များကို Aggregate Function ဟု ခေါ်သည်။ အဓိကအသုံးများသည့် Function များကို အောက်တွင် ဖော်ပြပေးထားပါသည်။

4.1.1 SUM, MAX, MIN, AVERAGE

Syntax:

= SUM( [ ColumnName ] )

= MAX( [ ColumnName ] )

= MIN( [ ColumnName ] )

= AVERAGE( [ ColumnName ] )

Example:

Total Qty :=SUM( [ Sale[Qty] ] )

Average Qty :=MAX( [ Sale[Qty] ] )

Max Qty :=MIN( [ Sale[Qty] ] )

Min Qty :=AVERAGE( [ Sale[Qty] ] )

image3.png
ဆက်လက်လေ့လာရမည့် သင်ခန်းစာ
4.1 Aggregate Funtion
image4.png
image4.png

4.1.3 ITERATOR Functions

သတ်မှတ်ထားသည့် Column များ၏ Row တစ်ခုချင်းစီတွင် သက်ဆိုင်ရာ တွက်ချက်မှုများ ဆောင်ရွက်ပြီးရရှိလာသည့်  ရလဒ်များကို အဖြေတစ်ခု အဖြစ် ပြောင်းလဲ တွက်ချက်ပေးသည့် Formula များကို Iterator Function များဟု ခေါ်သည်။ DAX တွင် SUMX, AVERAGEX, COUNTX, COUNTAX စသည့် Iterator Function လေးမျိုးပါဝင်သည်။ ဥပမာအားဖြင့် SUMX Formula အား လေ့လာကြည့်ပါမည်။

Syntax

=SUMX(<table>, <expression>)

Table နေရာတွင် တွက်ချက်မည့် Table အမည်ကို ရေးသားရမည်ဖြစ်ပြီ: Expression နေရာတွင် Row တစ်ခုချင်းစီတွင် သတ်မှတ်တွက်ချက်လို သည်ကို ရေးသားရန်ဖြစ်သည်။

Excel တွင် အသုံးပြုများသော Logical Function များဖြစ်သည့် IF, IFERROR, SWITCH, AND, OR, NOT, TRUE, FALSE  များအားလုံး DAX တွင် အသုံးပြုနိုင်သည်။ ( SWITCH function သည် Office 365 – Excel Version တွင် အသုံးပြုနိုင်သည်။ ) သို့ရာတွင် AND, OR များကို အသုံးပြုရာ၌ ကွဲလွဲမှု အချို့ရှိပါသည်။

4.2.1 IF , AND, OR

သို့ရာတွင် AND နှင့် OR ကို Excel တွင် အသုံးပြုသည့်အခါ Logical Test များကို လိုအပ်သလောက် ရေးသား၍ ရသော်လည်း DAX တွင် Logical Test နှစ်ခုသာ အသုံးပြုနိုင်သည်။

Syntax in Excel

                        =AND ( Logical 1, Logical 2, … )

                        = OR ( Logical 1, Logical 2, … )

Syntax in DAX

                        =AND ( Logical 1, Logical 2 )

                        =OR ( Logical 1, Logical 2 )

DAX တွင် AND နှင့် OR များကို အသုံးပြု၍  Logical Test နှစ်ခုသာ စစ်ဆေးနိုင်သည်။

Logical များကို နှစ်ခုထက် ပို၍ စစ်ဆေးလိုပါက AND အစား &&  ကို အသုံးပြုနိုင်ပြီး OR အစား ||  ကို အသုံးပြုနိုင်သည်။

Example:

အောက်ပါ ဥပမာတွင် Product Column ၌ Closet (သို့မဟုတ်) Bean Bag (သို့မဟုတ် ) Headboard တစ်ခုခုဖြစ်လျင် Demanded ဟုပေါ်စေပြီး အခြား တန်ဖိုးများဖြစ်ပါက Normal ဟု ပြန်လည်ရရှိရန် အတွက် OR Operator အစား ||  ကို အသုံးပြုရေးသားထားခြင်း ဖြစ်ပါသည်။

Notes:

  • COUNT သည် ကိန်းဂဏန်းများကိုသာ ရေတွက်ပေးသွားမည်ဖြစ်ပြီး COUNTA သည် မည်သည့် Data အမျိုးအစားကိုမဆို ရေတွက်ပေးမည် ဖြစ်ပါသည်။

  • Excel တွင် စာသားများကို COUNT ဖြင့် ရေတွက်လျင် အဖြေ သုည ရမည်ဖြစ်သော်လည်း DAX တွင် Text Column ကို COUNT ဖြင့် ရေတွက်လျင် Error ရရှိမည် ဖြစ်သည်။

  • COUNTBLANK သည် Column တစ်ခုအတွင်းရှိ Blank များကို ရေတွက်ပေးမည်ဖြစ်သည်။

  • COUNTROWS သည် Table တစ်ခုတွင်ပါရှိသော Row စုစုပေါင်းကိုရေတွက်ပေးမည်ဖြစ်သည်။

  • DISTINCTCOUNT သည် Column တစ်ခုအတွင်းရှိ Unique တန်ဖိုးများကို တွက်ချက်ပေး မည် ဖြစ်သည်။ သို့ရာတွင် အထက်ပါ ဥပမာတွင် Product များကို Distinct တွက်ချက်ရာတွင် အဖြေမှန် ရရှိသော်လည်း Customer ကို တွက်ချက်ရာတွင် တန်ဖိုးတစ်ခုပိုနေသည်ကို တွေ့ရပါမည်။ ဆိုလိုသည်မှာ Column တွင် Blank များပါ၀င်လျင် ထို Blank ကိုလည်း တန်ဖိုးတစ်ခုအဖြစ် Distinct တွက်ချက်ရာတွင် ထည့်သွင်း ရေတွက်သွားမည်ဖြစ်ပါသည်။

  • Column တစ်ခုတွင် Blank များပါဝင်ပြီး ထို Blank ကိုထည့်သွင်းမတွက်ချက်ပဲ Item များကိုသာ Distinct တန်ဖိုးများ တွက်ချက်လိုလျင် အောက်ပါအတိုင်း ရေးသားနိုင်သည်။

=CALCULATE(DISTINCTCOUNT(Sales[Customer]),  Sales[CUSTOMER]<>BLANK())

Formula အလုပ်လုပ်ပုံအား CALCULATE သင်ခန်းစာ လေ့လာပြီးသည့်အချိန်တွင်မှ နားလည်နိုင်မည် ဖြစ်ပါသည်။

4.2  Logical functions

image5.png

အထက်ပါ ဥပမာတွင် Sale Table ၏ Qty Column နှင့် Price Column နှစ်ခု၏ Row အသီးသီးရှိ တန်ဖိုးများကို မြှောက်၍ ထို မြှောက်လဒ်များကို ပေါင်း၍ Total Amount ရရှိရန် အောက်ပါအတိုင်း Formula ရေးသားထားခြင်းဖြစ်သည်။

=SUMX ( Sale, [Qty] * [Price] )

အောက်ပါ ဥပမာတွင် Product Category ၌ Bed ဖြစ်ပြီး District Column ၌ West District ဖြစ်၍ Qty Column မှ တန်ဖိုးက ၂၅  ထက်ကြီးလျင် Demanded ဟုပေါ်စေပြီး သတ်မှတ်ထားသည့် အခြေအနေနှင့် မကိုက်ညီပါက Normal ဟု ပြန်လည်ရရှိရန် အတွက် AND Operator အစား &&  ကို အသုံးပြုရေးသား ထားခြင်း ဖြစ်ပါသည်။

image6.png
image7.png

4.2.2  SWITCH

IF Formula များကို ကြိမ်ဖန်များစွာ Nested ရေးသားမည့်အစား SWITCH Formula ကို အသုံးပြု ရေးသားခြင်းက များစွာလွယ်ကူ ရိုးရှင်းပါသည်။

SWITCH ကို ပုံစံနှစ်မျိုးဖြင့် အသုံးပြုနိုင်သည်။

Syntax 1:

                        =SWITCH(expression,    value1, result1,   value2, result2,   …, else   )

Expression နေရာတွင် တိုက်ဆိုင်စစ်ဆေးမည့် Column (သို့မဟုတ်) တွက်ချက်မှု Formula တစ်ခုရေးသား ရမည်ဖြစ်သည်။ ထို Expression တွင် ရရှိမည့် တန်ဖိုး Value ပေါ်မူတည်၍ ပြန်လည်ရရှိစေလိုသည့် Result ကို ရေးသား သတ်မှတ်ပေးရမည်ဖြစ်သည်။ အောက်ပါ ဥပမာတွင် Expression နေရာတွင် စစ်ဆေးမည့် Column အမည် အဖြစ် Product Column ကို ရေးသားပြီး ထို Product Column တွင်ရှိသည့် တန်ဖိုးများအပေါ် မူတည်၍ Rank  ခွဲခြားသတ်မှတ်ရန် Formula ရေးသားထားခြင်းဖြစ်ပါသည်။

image8.png

Syntax 2

                        =SWITCH(TRUE(),  booleanexpression1,  result1, booleanexpression2,  result2,  .., else   )

 

ဤ Syntax အမျိုးအစားတွင် Expression နေရာ၌ TRUE()  ကို ရေးသားရမည်ဖြစ်ပြီး Value နေရာတွင် Logical test များရေးသား၍ ထို Logical Test မှန်ကန်ပါက ပြန်လည်ရရှိစေလိုသည့် ရလဒ်ကို Result နေရာတွင် ရေးသားပေးရမည် ဖြစ်သည်။ အောက်ပါ ဥပမာတွင် Qty Column ရှိ တန်ဖိုးအပေါ်မူတည်၍ Commission သတ်မှတ်ပေးနိုင်ရန်အတွက် Formula ရေးသားထားခြင်း ဖြစ်ပါသည်။

image9.png
4.2 Logcal Functions

4.3 Relational Function

4.3 Relational Functions

Data Model တစ်ခုအတွင်း Table များအား Relationship ချိတ်ဆက်ထားသည့်တိုင် Table တစ်ခုမှ Column အား အခြား Table တစ်ခုမှ တိုက်ရိုက် ခေါ်ယူ အသုံးပြုမရသေးပါ။ ထိုသို့ Relationship ချိတ်ဆက်ထားသည့် အခြား Table တစ်ခုမှ Column အား ခေါ်ယူ အသုံးပြုလိုလျင် RELATED နှင့် RELATEDTABLE Formula တို့ကို အသုံးပြုရမည် ဖြစ်သည်။

Table နှစ်ခုကြား Relationship တည်ဆောက်ရာတွင် One-to-Many Relationship တည်ဆောက်ခြင်း ဖြစ်ရာ RELATED Formula ကို Many-Side ( ဥပမာ Sale Table ) တွင် ရေးသားလေ့ရှိပြီး RELATEDTABLE Formula ကို One-Side ( ဥပမာ Customer Table ) တွင် အသုံးပြုရေးသား လေ့ရှိသည်။

သတိပြုရန်မှာ Data Table များအကြား Relationship တည်ဆောက်ပြီးမှသာ RELATED နှင့် RELATEDTABLE Formula တို့ကို အသုံးပြုနိုင်မည် ဖြစ်ပါသည်။

RELATED Formula Syntax:

                        =RELATED ( TableName [ ColumnName ] )

အောက်ပါဥပမာတွင် Sale Table အတွင်းရှိ Customer များ၏ Township များအား Customer Table မှ ရရှိရန် RELATED Formula အသုံးပြုရေးသားထားခြင်း ဖြစ်သည်။

CC.PNG

RELATED Formula သည် VLOOKUP Formula အလုပ်လုပ်ပုံနှင့် ဆင်တူသည်။ သို့ရာတွင် VLOOKUP အသုံးပြုသည့်အခါ ရှာဖွေသည့် တန်ဖိုး မတွေ့ရှိလျင် NA Error ရရှိမည် ဖြစ်သော်လည်း RELATED အသုံးပြုသည့်အခါ ရှာဖွေသည့် တန်ဖိုး မတွေ့ ရှိလျင် Blank ပြန်လည်ရရှိမည် ဖြစ်သည်။

RELATEDTABLE Formula Syntax:

=RELATEDTABLE ( TableName )

 

RELATED Formula သည် တန်ဖိုးတစ်ခုသာ ပြန်လည်ရရှိစေမည်ဖြစ်သော်လည်း RELATEDTABLE Formula သည် လက်ရှိ Row နှင့် ပတ်သက်သော Row များ ပါဝင်သည့် Table တစ်ခု ပြန်လည် ရရှိမည်ဖြစ်သည်။ ထို့ကြောင့် RELATEDTABLE Formula ကို Calculated Column တွင် ရေးသား အသုံးပြုလိုသည့်အခါ RELATEDTABLE မှ ရရှိလာသည့် Table ကို စာရင်းပြန်ချုပ်ပေးမည့်၊ ထို Table အပေါ်တွင် တွက်ချက်မည့် Formula များနှင့် တွဲစပ် အသုံးပြုရန် လိုအပ်သည်။

အောက်ပါ ဥပမာတွင် Customer Table အတွင်း၌ Customer တစ်ဦးချင်းစီ၏ ဝယ်ယူသည့် အကြိမ်အရေ အတွက်ရရှိရန် RELATEDTABLE ကို COUNTROWS Formula ဖြင့် တွဲစပ်အသုံးပြုထားခြင်း ဖြစ်သည်။

image11.png

4.4 DAX တွင် အသုံးပြုနိုင်သည့် Excel Formula များ

Excel တွင် အသုံးပြုသည့် Syntax အတိုင်း DAX တွင် အသုံးပြုနိုင်သည့် Formula များစွာ ရှိပါသည်။ အသုံးပြုနိုင်သည့် Function များကို Category အလိုက် အောက်တွင် ဖော်ပြပေးထားပါသည်။

DATE

DATEVALUE

DAY

EDATE

EOMONTH

HOUR

MINUTE

MONTH

NOW

SECOND

TIME

TIMEVALUE

TODAY

WEEKDAY

WEEKNUM

YEAR

YEARFRAC

Date & Time
Information

ISBLANK

ISERROR

ISLOGICAL

ISNONTEXT

ISNUMBER

ISTEXT

Statistical

AVERAGE

AVERAGEA

COUNT

COUNTA

COUNTBLANK

MAX

MAXA

MIN

MINA

Text

CONCATENATE

EXACT

FIND

FIXED

LEFT

LEN

LOWER

MID

REPLACE

REPT

RIGHT

SEARCH

SUBSTITUTE

TRIM

UPPER

VALUE

Date & Time

AND

IF

IFERROR

NOT

OR

FALSE

TRUE

ABS

CEILING, ISO.CEILING

EXP

FACT

FLOOR

INT

LN

LOG

LOG10

MOD

MROUND

PI

POWER

QUOTIENT

RAND

RANDBETWEEN

ROUND

ROUNDDOWN

ROUNDUP

SIGN

SQRT

SUM

SUMSQ

TRUNC

Information
4.4 Excel Formulas
bottom of page