top of page
6.2 Relatetable Case stuides
RELATETABLE - Practical Case Studies

အခန်း (၆) လေ့ကျင့်ခန်းအတွက် အသုံးပြုနေသည့် သင်ခန်းစာဖိုင်၏ Data Model တွင် Sale Table နှင့် Product Table အား Product Code ဖြင့် လည်းကောင်း၊ Product Table နှင့် Product Category Table အား Product Subcategory Code ဖြင့် လည်းကောင်း Relationship များ ချိတ်ဆက်ထားသည်။

Many-Side Table ဖြစ်သည့် Sale Table တွင်One-Side Table ဖြစ်သည့် Product Table မှ သက်ဆိုင်ရာ စျေးနှုန်းများရရှိစေရန် Related Formula ဖြင့် ချိတ်ဆက်ရယူခြင်းကို ပြီးခဲ့သည့် သင်ခန်းစာများတွင် လေ့လာခဲ့ပြီးဖြစ်သည်။

ယခုသင်ခန်းစာတွင် One-Side Table ဖြစ်သည့် Product Category Table တွင် Mand-Side Table ဖြစ်သည့် Sale Table မှ တန်ဖိုးများ ရယူတွက်ချက်နိုင်ရန်RELATEDTABLE ကိုအသုံးပြု တွက်ချက် ကြမည် ဖြစ်ပါသည်။

6.2.2 Sold Quantity Per Subcategory

အောက်ပါ ဥပမာတွင် သက်ဆိုင်ရာ Subcategory တစ်ခုချင်းစီ၏ စုစုပေါင်း ရောင်းထားသည့် ပမာဏကို ရရှိရန် Formula ရေးသားထားခြင်း ဖြစ်သည်။

ရေးသားထားသည့် Formula မှာ =SUMX( RELATEDTABLE( Sale ), Sale[Quantity] ) ဖြစ်သည်။ SUMX Formula ကို Table တစ်ခုရှိ သတ်မှတ်ထားသည့် Column များကို လိုအပ်သည့် တွက်ချက်မှုများ ပြုလုပ်ပြီး တန်ဖိုးများအားလုံးကို ပေါင်းပေးရန်အသုံးပြုလေ့ရှိသည်။ ယခုဥပမာတွင် Sale Table မှ Quantity Column ၏တန်ဖိုးများကို ပေါင်းလိုခြင်း ဖြစ်သည်။ Quantity Column ကို အခြား မည်သည့်တွက်ချက်မှုမျိုးမှ မလုပ် တော့ပဲ ထို Column တစ်ခုတည်းကို သာပေါင်းလိုခြင်း ဖြစ်သည်။

SUMX Formula ၏ Syntax မှာ =SUMX ( Table, Expression ) ဖြစ်ရာ Table နေရာတွင် Sale, Expression နေရာတွင် [Quantity] ဟု ရေးသားရမည် ဖြစ်သည်။ သို့ရာတွင် Sale Table ၏ Row အားလုံး ကို ထည့်သွင်းတွက်ချက်လိုခြင်းမဟုတ်ပဲ လက်ရှိ Row ၏ Subcategory နှင့် သက်ဆိုင်သော Row များကိုသာ ပေါင်းလိုခြင်း ဖြစ်သည်။ ထို့အတွက် ၂.၁ ဥပမာတွင် ရှင်းပြခဲ့သည့်အတိုင်း SubCategory အသီးသီး၏ သက်ဆိုင်ရာ Row များရရှိရန် RELATEDTABLE ကို အသုံးပြုရေးသားရမည် ဖြစ်သည်။ ထို့ကြောင့် Subcategory အသီးသီး၏ ရောင်းချထားသည့် ပမာဏ စုစုပေါင်းရရှိရန်=SUMX( RELATEDTABLE( Sale ), Sale[Quantity] ) ဟု ရေးသားခြင်း ဖြစ်သည်။

6.2.1 Sale Count per SubCategory

Subcategory တစ်ခုချင်းစီ၏ ရောင်းချထားသည့် အကြိမ်အရေအတွက်ကို ရရှိရန် Product Category Table တွင် Calculated Column တစ်ခု ထည့်သွင်းတွက်ချက်ထားခြင်း ဖြစ်သည်။

6.2 RELATEDTABLE အသုံးပြု၍ One-Side Table တွင် တွက်ချက်မှုများပြုလုပ်ခြင်း

image15.png
image16.png

ရေးသားထားသည့် Formula မှာ =COUNTROWS( RELATEDTABLE ( Sale ) ) ဖြစ်သည်။ RELATEDTABLE( Sale ) ဟု ရေးသားလိုက်သည့်အခါ လက်ရှိ Row ၏ Subcategory နှင့် သက်ဆိုင်သော Sale Table အတွင်းမှ Row အားလုံးကို Table တစ်ခုအနေဖြင့် ပြန်လည် ရရှိစေမည် ဖြစ်သည်။ ဥပမာ လက်ရှိ Row တွင် MP4&MP3 ရှိသည်ဆိုပါက Sale Table အတွင်းမှ MP4&MP3 နှင့် သက်ဆိုင်သော Row အားလုံးကို Table တစ်ခုအနေဖြင့် ပြန်လည် ရရှိမည် ဖြစ်သည်။

COUNTROWS Formula သည် Table တစ်ခုတွင် ပါဝင်သည့် Row အရေအတွက်ကို တွက်ချက်ပေးခြင်း ဖြစ်သည်။ ထို့ကြောင့် =COUNTROWS( RELATEDTABLE ( Sale ) ) ရေးသားခြင်းမှာ ယခု လက်ရှိ Row တွင်ရှိသောSubcategory ၏ Sale Table တွင် ပါဝင် သော Row အရေအတွက် ၊ တစ်နည်း အားဖြင့် Sale Table တွင် ပါဝင်သည့် အကြိမ်အရေအတွက် Sale Count ကို ရရှိစေမည် ဖြစ်သည်။

image17.png
ဤစာမျက်နှာတွင်ပါဝင်သည့် ခေါင်းစဉ်များ
ဆက်လက်လေ့လာရမည့် သင်ခန်းစာ

6.2.3 Sold Qty per Subcategory in 2015

Subcategory တစ်ခုချင်းစီအလိုက် ၂၀၁၅ ခုနှစ်တွင် ရောင်းချသည့် ပမာဏ စုစုပေါင်းကို ရရှိရန် အောက်ပါ ဥပမာတွင် Formula ရေးသားထားခြင်း ဖြစ်သည်။

image18.png

ဥပမာ 6.2.2 တွင် SUMX Formula တွင် Table နေရာတွင်RELATEDTABLE ဖြင့် ရေးသားရမည် ဖြစ်ပြီး Expression နေရာတွင် Quantity Column ထည့်သွင်း ရေးသားရမည်ကို ရှင်းလင်းခဲ့ပြီး ဖြစ်သည်။ ယခု ဥပမာတွင် Subcategory အလိုက်သာမက၊ ၂၀၁၅ ခုနှစ် တွင် ရောင်းသည့် စုစုပေါင်း ပမာဏကိုသာ တွက်ချက် လိုခြင်း ဖြစ်သည်။ သို့ဖြစ်ရာ SUMX Formula အတွက် Table သတ်မှတ်ရာတွင် ယခင်ဥပမာတွင် ရေးသားခဲ့ သည့် RELATEDTABLE( Sale ) ဟု ရေးသားရုံဖြင့် မလုံလောက်တော့ပဲ ထို Formula မှ ရရှိလာမည့် Table ကို ၂၀၁၅ ခုနှစ်အတွက် တန်ဖိုးများသာရရှိရန် Filter စစ်ထုတ်ရဦးမည် ဖြစ်သည်။

Filter Formula ၏ Syntax မှာ FILTER( Table Name , Boolean Expresion)  ဖြစ်သည်။ Table Name နေရာတွင် RELATEDTABLE ( Sale ) ကို ရေးသားရမည် ဖြစ်သည်။၂၀၁၅ ခုနှစ်တန်ဖိုးများသာ ရရှိရန် Boolean Expression နေရာတွင် Logical Test တစ်ခု ရေးသားရမည် ဖြစ်သည်။ Sale Table တွင် Year Column သီးသန့် မပါရှိသဖြင့် Date Column မှ Year ရရှိရန် YEAR ( [ Date ] ) ဟု ရေးသားနိုင်သည်။

၂၀၁၅ ခုနှစ် တန်ဖိုးများသာ ရရှိရန်အတွက် Logical Test အဖြစ် YEAR ( [ Date ] )=2015 ဟု ရေးသား ရမည် ဖြစ်သည်။ ထို့ကြောင့် သက်ဆိုင်ရာ Subcategory အလိုက် ၂၀၁၅ ခုနှစ်အတွက် ရောင်းချထားသည့် Row များရရှိရန်အတွက် =FILTER( RELATEDTABLE(Sale), YEAR( [Date] ) =2015 ) ဟု ရေးသားရမည် ဖြစ်ပါသည်။

ထို့ကြောင့် ၂၀၁၅ ခုနှစ် အတွက် Subcategory တစ်ခုစီ၏ ရောင်းသည့် ပမာဏများရရှိရန် ရေးသားရမည့် Formula မှာ အောက်ပါအတိုင်း ဖြစ်သည် -

=SUMX( FILTER( RELATEDTABLE(Sale), YEAR( [Date] ) =2015 ), [Quantity] )

လိုအပ်သည့် အဖြေမှန် ရရှိပြီးဖြစ်သည်။ သို့ရာတွင် အထက်ပါ Formula ကို သတိထားကြည့်မည်ဆိုပါက သံသယ ဖြစ်စရာ တစ်ခုရှိပါသည်။ ယခု Formula ကို Product Category Table အတွင်းတွင် ရေးသားထား ခြင်း ဖြစ်ရာ Formula တွင် Sale Table မှ Date Column ကို ထည့်သွင်း ရေးသားသည့်အခါ အခြား Table မှ တန်ဖိုးဖြစ်သည့်အတွက် Related formula ဖြင့် ချိတ်ဆက်ရေးသားသင့်သည်ဟု တွေးထင်စရာ ရှိပါသည်။ သို့ရာတွင် Formula ကို Category Table တွင် ရေးသားသည်မှန်သော်လည်း Date Column ကို Sale Table အား Filter စစ်ရာတွင် အသုံးပြုခြင်း ဖြစ်သည့်အတွက် ( Date Column သည်လည်း Sale Table အတွင်းမှ ဖြစ်သည့်အတွက် ) Related ဖြင့် ချိတ်ဆက်ရေးသားရန် မလိုအပ်ခြင်း ဖြစ်ပါသည်။

6.2.4 Sold Qty per Subcategory in Yangon

Subcategory တစ်ခုချင်းစီအလိုက် ရန်ကုန်မြို့တွင် ရောင်းချသည့် ပမာဏ စုစုပေါင်းကို တွက်ချက်လိုခြင်း ဖြစ်ပါသည်။ ရေးသားထားသည့် Formula မှာ အောက်ပါအတိုင်း ဖြစ်သည် -

  FILTER( RELATEDTABLE(Sale), RELATED(Customers[Region]) = “Yangon” ), [Quantity] )

image19.png

ရေးသားထားသည့် Formula မှာ ဥပမာ 6.2.3 နှင့် အားလုံးနီးပါ တူညီပါသည်။ သို့ရာတွင် Sale Table ကို စစ်ထုတ်မည့် Filter Column ( Region Column ) သည် Sale Table အတွင်းမှ မဟုတ်ပဲ Customers Table မှ ဖြစ်သည့် အတွက် Related Formula ဖြင့် ချိတ်ဆက်ရေးသားထားခြင်း ဖြစ်ပါသည်။

6.2.5 Sold Qty per Subcategory in Yangon in 2015

ဥပမာတွင် ၂၀၁၅ ခုနှစ်တွင် ရန်ကုန်၌ ရောင်းရသည့် Subcategory အလိုက် ပမာဏ စုစုပေါင်းကို တွက်ချက် လိုခြင်းဖြစ်သည်။ တစ်နည်းအားဖြင့် ဥပမာ 6.2.3 နှင့် 6.2.4 ကို ပေါင်းစပ် ရေးသားလိုခြင်း ဖြစ်သည်။

Filter formula တွင် Filter စစ်ထုတ်မည့် Boolean Expression ကို တစ်ခုတည်းသာ ပေးခွင့်ရှိရာ ယခုဥပမာတွင် Yangon နှင့် 2015 အတွက် နှစ်ခုသတ်မှတ်ပေးရမည် ဖြစ်သည့်အတွက် ထို Boolean Expression နှစ်ခုကို && ဖြင့် ချိတ်ဆက် ရေးသားရမည် ဖြစ်ပါသည်။

ထို့ကြောင့် Formula ကို အောက်ပါအတိုင်း ရေးသားရမည် ဖြစ်သည် -

=FILTER( RELATEDTABLE(Sale),

RELATED(Customers[Region]) = “Yangon” && YEAR( [Date] ) = 2015 ), [Quantity] )

image20.png
bottom of page