အသုံးများသည့် အခြေခံ 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] ] )

ဆက်လက်လေ့လာရမည့် သင်ခန်းစာ


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

အထက်ပါ ဥပမာတွင် 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 အစား && ကို အသုံးပြုရေးသား ထားခြင်း ဖြစ်ပါသည်။


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 ရေးသားထားခြင်းဖြစ်ပါသည်။

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

4.3 Relational Function
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 အသုံးပြုရေးသားထားခြင်း ဖြစ်သည်။

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 ဖြင့် တွဲစပ်အသုံးပြုထားခြင်း ဖြစ်သည်။

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