پاور بی‌ای یک بستر بسیار قدرتمند برای بصری‌سازی، تجزیه و تحلیل داده ها می‌باشد. برای ساخت گزارش‌ها و داشبورد‌های حرفه‌ای در بسیاری از مواقع نیاز به استفاده از منابع داده‌های مختلف می‌باشد که همیشه به صورت یکجا و حاضر و اماده یافت نمی‌شود. بسیاری از عملیات‌های مورد نیاز در محیط‌های اکسل و پاور بی‌ای زمانی به خوبی اجرا خواهند شد که داده‌های ما در یک کوئری واحد قرار داشته باشند.در این مواقع نرم‌افزار پاور بی‌ای به شما این امکان را می‌دهد که داده‌های خود را از منابع مختلف دریافت کرده و با شکل‌دهی و ترکیب آنها، آماده پردازش‌های مورد نیاز پروژه شوید.

در این مقاله قصد داریم ۲ روش ترکیب داده‌ها را در پاور بی‌ای ببینیم.

هنگامی که می‌خواهید ردیف‌های جدیدی به ردیف‌های قبلی query خود اضافه کنید از  append  باید استفاده کنید. دو کوئری یا بیشتر هنگامی به هم متصل می‌شوند که شرایط زیر را داشته باشند:

  • تعداد ستون ها برای هرکدام از کوئری ها بعد از عملیات Append تغییر نخواهد داشت.
  • ردیف های تمام کوئری ها به هم متصل میشوند.

حال سه مجموعه کارمندان یک شرکت را در نظر بگیرید:

 

پاور بی‌ای

ترکیب داده

append

برای  append  کردن این سه کوئری از تب Home، عمل Append Queries را انتخاب می‌کنیم. در صورتی که Append Queries as New را انتخاب کنیم عمل ادغام در یک جدول جدید اتفاق می‌افتد.

merging

در باکس باز شده جداول مورد نظر را انتخاب می نماییم.

ادغام داده

گزینه Append صرفا ردیف های کوئری ها را پشت سرهم قرار می‌دهد و از آنجایی که نام ستون ها در هر سه کوئری دقیقا شبیه به هم هستند، نتیجه کار نیز صرفا به اندازه کوئریهای اولیه، ستون خواهد داشت. نتیجه نهایی به صورت زیر خواهد بود.

اکسل

فراموش نکنید برای انجام عمل Append باید ساختار و حتی نام ستون ها در هر ۳ جدول یکی باشد. در غیر این صورت این عمل به درستی انجام نمی‌شود.

سرنوشت مقادیر تکراری چه خواهد شد؟

Append queries مقادیر تکراری را حذف نخواهد کرد. در این صورت شما می‌بایست برای حذف مقادیر تکراری از خاصیت های Remove duplicate یا Group By  اکسل استفاده کنید.

در صورتی که ستون های کوئری های اولیه به یک شکل نبودند، چه اتفاقی رخ خواهد داد؟

برای اینکه Append به بهترین شکل انجام شود، می‌بایست ستون‌های کوئری‌های اولیه دقیقا به یک شکل باشند. در غیر این صورت اگرچه Append  انجام خواهد شد ولی به ازای هر ستون جدید، یک ستون در کوئری نهایی ایجاد خواهد کرد و چون بقیه  کوئری ها برای این ستون مقداری نخواهند داشت، مقدار null را برای آن کوئری قرار خواهد داد.

 

۲- ادغام کردن در (Merging)

هنگامی که شما یک یا چند ستون دارید که می‌خواهید به یک query دیگر اضافه کنید، باید ازmerge  استفاده کنید. ادغام نیز یک کوئری واحد ایجاد خواهد کرد، البته با شرایط زیر:

  • برای ادغام (Merge) دو کوئری می بایست یک معیار مشترک بین دو کوئری وجود داشته باشد. برای مثال در نمونه استفاده شده در بالا، ستون Department درهر دو کوئری یکسان است.
  • تعداد ردیف ها، بستگی به معیار مشترک بین کوئری ها خواهد داشت.

فرض کنید علاوه بر سه جدول مطرح شده در نمونه قبل، جدول زیر را در اختیار داریم.

حال کوئری بدست آمده از  عملیات قبل را از تب Home  و قسمت Merge Queries<Merge Queries As New انتخاب می‌کنیم. برای ادغام کوئری‌ها همانطور که قبلا اشاره شد، نیاز به یک عامل مشترک دارد. منظور عامل مشترک، فیلد یا فیلدهایی است که در تمام کوئری‌ها یکسان باشد و عملیات ادغام بر اساس آن انجام شود. در این مثال می‌خواهیم کوئری Department را با کوئری Sales بر اساس ستون Department با هم ادغام (merge) کنیم.

نتیجه نهایی به صورت زیر خواهد بود.

در کوئری جدیدی که ایجاد شده روی ستون جدید در علامت سمت راست سرستون کلیک کرده تا بتوانید ستونهای مورد نظر خود را expand کرده و به این جدول اضافه کنید.

 

انواع روش‌های merge در پاور بی‌ای

Merge  در واقع همان join در sql می باشد. در پاور بی‌آی ۶ حالتMerge  داریم. در Left join تمام رکوردهای جدول سمت چپ می‌آید. در right join تمام رکوردهای جدول سمت راست را می‌آورد. درinner join  رکوردهایی را می‌آورد که در هر دو جدول مقدار دارند. در full join تمام رکوردهای هر دو جدول را می‌آورد. در left anti رکوردهایی را می‌آورد که در جدول سمت چپ رکورد دارند ولی در جدول سمت راست رکورد ندارند. در right anti هم رکوردهایی از جدول سمت راست را می آورد که در جدول سمت چپ رکورد ندارند.

در مرج کردن ممکن است رکوردهایی داشته باشیم که مقدار آن‌ها Null باشد. در inner join رکورد null ایجاد نمی‌شود و همچنین در صفحه مرج اهمیتی ندارد کدام جدول بالا و کدام پایین باشد.

منابع

https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-shape-and-combine-data

 

بدون دیدگاه

دیدگاهتان را بنویسید