Power Query Formulas
Power Query တွင် လုပ်ဆောင်ချက် တော်တော်များများသည် Power Query Window ၏ User Interface တွင် Mouse Click များဖြင့်သာ ဆောင်ရွက်ရန် လိုအပ်ပါသည်။ သို့ရာတွင် ပိုမိုရှုပ်ထွေးသည့် တွက်ချက်မှုများ ဆောင်ရွက်ရန်နှင့် အချို့သော Data Transformation များ ဆောင်ရွက် ရန်အတွက်မူ Query Formula များ ဖြင့် ရေးသားဖြေရှင်းရန် လိုအပ်ပါလိမ့်မည်။ ထို့အပြင် အသုံးများသည့် Formula များကို နားလည်ခြင်းအားဖြင့် Advanced Editor တွင် M Code များကို Edit ပြုလုပ်ရာတွင်လည်း များစွာ အထောက်အကူ ပြုစေနိုင်မည် ဖြစ်သည်။
ဆက်လက်လေ့လာရမည့် သင်ခန်းစာ
ယခုစာမျက်နှာတွင် ပါဝင်သည့် သင်ခန်းစာများ
5.1 အခြေခံ Formula စတင်ရေးသားခြင်း
Column အသစ်တစ်ခုတွင် Formula ရေးသားတွက်ချက်မှုများ ပြုလုပ်လိုပါက Add Column tab အောက်ရှိ Custom Column Function ကို အသုံးပြုနိုင်သည်။ အောက်ပါ Table တွင် Qty, Discount, Price Column များအပေါ်တွင်မူတည်၍ စုစုပေါင်း အရောင်း ပမာဏကို တွက်ချက် လိုသည်။

Formula ရေးသားနိုင်ရန်အတွက် Add Column tab အောက်မှ Custom Column ကို ကလစ်ပါမည်။

1
2
3
4
-
New Column Name နေရာတွင် Column အသစ်အား မိမိသတ်မှတ်ပေးလိုသည့် အမည်ကို ရေးသား ရမည်။
-
Custom Column formula နေရာတွင် မိမိလိုအပ်သည့်အတိုင်း Formula ရေးသားရပါမည်။ အထက် ပါပုံတွင်မြင်တွေ့ရသည့်အတိုင်း Formula ရေးသားရာတွင် Column Name များကို ရေးသားသည့် အခါ Square Bracket [ ] ဖြင့် ရေးသားရမည် ဖြစ်သည်။
-
Column Name များ ရေးသားရာတွင် ကိုယ်တိုင် ရိုက်ထည့်ရေးသားနိုင်သကဲ့သို့ Custom Column Box ၏ ညာဘက်ဘေးနားရှိ ၏ အောက်မှ Column အမည်များကို Double Click ၍ ( သို့မဟုတ် Selectမှတ်ပြီး Insert ကို နှိပ်၍ ) လည်း အလွယ်တကူ ရေးသားနိုင်သည်။
-
ရေးသားသည့် Formula မှန်ကန်နိုင်သည်ဟု Power Query မှ ယူဆလျင် Custom Formula Box ၏ အောက်ခြေနားတွင် ဟူ၍ ပေါ်မည်ဖြစ်ပြီး အကယ်၍ Error ပါနေပါက Exclamation Markဖြင့်Error ပါရှိနေကြောင်း သတိပေးမည် ဖြစ်ပါသည်။
-
Formula နှင့် Column Name များ ရေးသားရာတွင် စကားလုံး အကြီးအသေး လွဲမှား၍မရသည်ကို အထူးသတိပြုရန် ဖြစ်ပါသည်။ Power Query သည် Case Sensitive ဖြစ်သည့်အတွက် Qty နှင့် qty သည် မတူညီပါ။ Formula တွင် Qty ဟု ရေးသားရမည့်အစား qty ဟု ရေးသားလျင် အဖြေရရှိမည် မဟုတ်ပါ။
Excel တွင် Data Type များသည် တွက်ချက်မှုများပြုလုပ်ရာတွင် လိုအပ်သည့်အတိုင်း အလိုအလျောက် ပြောင်းလဲနိုင်သော်လည်း Power Query တွင် အလိုအလျောက် ပြောင်းလဲပေးမည်မဟုတ်ပါ။ ထို့အတွက် Formula များဖြင့် ပြောင်းလဲရေးသားပေးရန် လိုအပ်ပါသည်။
အောက်ပါ ဥပမာတွင် Product ID နှင့် Qty ကို Column တစ်ခုတွင် ပေါင်းစည်းဖော်ပြလိုပါသည်။
အထက်ပါပုံတွင် ရေးသားထားသည့် Formula မှာ မှန်ကန်သည်ဟု ယူဆရသည်။ အဘယ်ကြောင့်ဆိုသော် Excel တွင် Formula များ ရေးသား သည့်အခါ အထက်ပါအတိုင်း & ဖြင့် ချိတ်ဆက်၍ ရေးသားလေ့ရှိ ခြင်းကြောင့်ဖြစ်သည်။ သို့ရာတွင် အထက်ပါ Formula ရေးသားပြီးနောက် OK ပေးလိုက်လျင် အောက်ပါ အတိုင်း Error များရရှိမည် ဖြစ်သည်။
5.2 Data Type Conversion

ထို့အတွက် Custom Column Box တွင် အောက်ပါအတိုင်း Formula ရေးသားလိုက်ပါမည်။


Power Query တွင်လည်း ဒေတာများချိတ်ဆက် ဖော်ပြလိုသော်အခါ & ကို အသုံးပြုနိုင်ပါသည်။ သို့သော် ချိတ်ဆက်မည့် ဒေတာများသည် Text Type ဖြစ်ရန် လိုအပ်ပါသည်။ Text Type မဟုတ်လျင် ချိတ်ဆက် မပေးနိုင်ပါ။
သို့ဖြစ်ရာ အခြား Data type များကို & ဖြင့်ချိတ်ဆက်အသုံးပြုလိုပါက၊ တစ်နည်းအားဖြင့် Text Type မဟုတ်သည့် Data များကို Text Type အနေဖြင့် Formula တွင် ထည့်သွင်းရေးသားလိုပါက Power Query Formula ဖြင့် တွဲစပ်အသုံးပြုရမည် ဖြစ်သည်။
ထို့ကြောင့်အဖြေမှန် ရရှိစေရန်အတွက် Formula အား အောက်ပါအတိုင်း ပြောင်းလဲ ရေးသားပါမည်။ ( အဖြေရရှိသည့်အခါ Product ID နှင့် Qty အား ရှင်းလင်းစွာ သိရှိနိုင်ရန် ကြားထဲတွင် - ဖြင့် ချိတ်ဆက် ရေးသားထားပါသည်။)

အထက်ပါအတိုင်း ရေးသားပြီး OK ပေးသည့်အခါ အောက်ပါအတိုင်း အဖြေမှန်များ ရရှိသည်ကို တွေ့ရှိ ရပါမည်။

5.3 အသုံးများသည့် Data Type Conversion Formula များ
5.3.1 Text Data Type သို့ ပြောင်းလဲပေးသည့် Formula များ

အထက်ပါ Formula များထဲမှ Text.From( ) Formula သည် မည်သည့် Data Type ကို ဖြစ်စေ Text Type အဖြစ် ပြောင်းလဲပေးနိုင်သည်။ .ToText နှင့် ဆုံးသည့် Formula များသည် Excel Text Function နှင့် ဆင်တူပြီး မိမိလိုအပ်သည့် Format အဖြစ် ပြောင်းလဲဖော်ပြရာတွင် အသုံးဝင်သည်။ Format သတ်မှတ်ရန်အတွက် အသုံးပြုရသည့် Code များသည်လည်း Excel Text Function, Excel Custom Number Format တို့တွင် အသုံးပြုသည့် Code များနှင့် အတူတူပင်ဖြစ်သည်။
5.3.2 Date Data Type နှင့် Time Data Type သို့ ပြောင်းလဲပေးသည့် Formula များ

5.3.3 Numeric Data Type သို့ ပြောင်းလဲပေးသည့် Formula များ

အထက်ပါ Formula များမှ Number.From( ) Formula သည် စာသားဖြစ်နေသည့် ကိန်းဂဏန်းတန်ဖိုး ဖြစ်စေ၊ Format ပြောင်းထားသည့် ကိန်းဂဏန်းတန်ဖိုးမှဖြစ်စေ မူလ ကိန်းဂဏန်းတန်ဖိုးကို ရယူပေးနိုင်သည့်အတွက် အသုံးများသည်။ ကိန်းဂဏန်းတန်ဖိုးရယူပြီးနောက် Decimal, Integer စသည် ဖြင့် သီးခြား သတ်မှတ်လိုသည့်အခါမှသာ အခြား Formula ကို အသုံးပြုလေ့ရှိသည်။
5.4 Common Text Formulas
Power Query Formula များကို လေ့လာရာတွင် အလုပ်လုပ်ပုံ သဘောတရားချင်ဆင်တူသည့် Excel Formula ဖြင့် ယှဉ်တွဲလေ့လာပါက ပိုမိုနားလည် မှတ်မိလွယ်မည်ဟု ယူဆပါသည်။ ထို့အတွက် Excel Formula များဖြင့် ပူးတွဲ ဖော်ပြထားပါသည်။
Excel နှင့် မတူညီသည့် သတိထားရမည့် အချက်မှာ Position များကို ရေတွက်ခြင်းဖြစ်သည်။ Excel တွင် Position ကို 1 မှ စတင်ရေတွက်သော် လည်း Power Query တွင် 0 မှ စတင်ရေတွက်ခြင်းဖြစ်သည်။

-
အထက်ပါ Table တွင် နမူနာ ရေးသားပြရာ၌ စာသားများအသုံးပြုရေးသားထားသော်လည်း Power Query တွင် လက်တွေ့ ရေးသားသည့်အခါ Column အမည်များကိုသာ ထည့်သွင်းအသုံးပြု ရေးသားလေ့ရှိသည်။
-
Text.Range Formula တွင် ရေးသားခဲ့သည့် ဥပမာမှာ =Text.Range( "Myanmar", 3, 2) ဟု ရေးသားထားရာ အဖြေသည် an ရရှိမည်ဟု မျှော်လင့်သော်လည်း အဖြေမှာ nm ရရှိမည် ဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် Position ရေတွက်ရာ၌ Power Query သည် 0မှ စတင်ရေတွက်ခြင်းဖြစ် ၍ Myanmar ဟူသော စကားလုံးတွင် M သည် Position 0, y သည် 1, a သည် 2, n သည် 3 စသည်ဖြင့် ရေတွက်ခြင်းကြောင့် ဖြစ်သည်။
-
Text.PositionOf Formula တွင်လည်း အလားတူပင် =Text.PositionOf("MEET", "E") ဟု ရေးသားထားရာE ကို MEET တွင် သွားရောက်ရှာဖွေရာတွင် Position သည် 2 ဖြစ်မည်ဟု ယူဆ ရသော်လည်း Power Query တွင် 0 မှ စတင်ရေတွက်သည့်အတွက် 1 ဟု အဖြေရခြင်း ဖြစ်သည်။
-
Text.PositionOf ၏ ဒုတိယဥပမာတွင် =Text.PositionOf( "MEET", "E", Occurrence.Last ) ဟု ရေးသားထားရာ ဆိုလိုသည်မှာ MEET စကားလုံးထဲတွင် နောက်ဆုံးတွေ့ရသည့် E ၏ Position ကို ရှာဖွေပေးပါဟု Occurrence.Last ဖြင့် သတ်မှတ်ပေး ခြင်း ဖြစ်သည်။ ထို့ကြောင့် အဖြေ 2 ဟု ရရှိခြင်း ဖြစ်သည်။