مقایسه Duplicate و Reference در Power Query

rهنگامی که با جداول یا کوئری ها در Power Query کار می کنید از دو امکان Duplicate و Reference برخوردارید. فهم تفاوت میان این دو قابلیت ساده و پر اهمیت است و منجر به استفاده صحیح و به جا از این امکانات می شود.

 اگر در مورد Power Query اطلاع ندارید، قبل از مطالعه این مطلب ترکیب کردن داده ها در Power Query و همچنین شکل دادن داده در Power Query و  مقایسه M و DAX را مطالعه نمایید. 

 

Duplicate

اگر در پی جدولی مطابق با جدول اصلی خود با تمامی تغییرات اعمال شده بر آن هستید بهترین روش Duplicate است. برای پیاده سازی این مطلب از وب سایت boxofficemojo استفاده شده است که حاوی اطلاعات فیلم است. بعد از استفاده از لینک مورد نظر جدول حاوی اطلاعات فیلم در Power BI بارگذاری می شود. در تصویر زیر جدول را مشاهده می کنید.

1 17 - مقایسه Duplicate و Reference در Power Query

بعد از بارگذاری جدول اقدام به تمیز کردن اطلاعات می کنیم. به طور مثال در ستون Year علائم اضافی مانند ^ را حذف می نماییم.

3 12 - مقایسه Duplicate و Reference در Power Query

جدول نهایی ما مانند تصویر زیر است و گام های صورت پذیرفته جهت تغییر و تبدیل داده در آن ذخیره شده است.

4 12 - مقایسه Duplicate و Reference در Power Query

بعد از انجام تمامی مراحل تمیز کاری داده متوجه می شوید تنها ۱۰۰ رکورد برتر را در اختیار دارید و برای واکشی مابقی داده ها باید پیج های دیگر را واکشی کنید چرا که در هر صفحه تنها ۱۰۰ رکورد اطلاعات موجود است. آدرس این صفحات متفاوت است اما ساختار داده ها یکسان است. لذا شما نیاز دارید تا تمامی مراحل تمیز کاری ذکر شده را برای صفحات جدید نیز اعمال کنید.

پس عمل Duplicate را برای جدول موجود با کلیک راست بر روی جدول اصلی مطابق تصویر زیر انجام می دهیم.

Screenshot 667 - مقایسه Duplicate و Reference در Power Query

نکته مهم این است که با Duplicate کردن جدول تمامی گام های تمیز کاری داده بر روی جدول اصلی، در جدول جدید نیز ذخیره شده است. در واقع جدول جدید دقیقا یک کپی از داده ها و اعمال تمیز کاری و تغییرات داده بر روی آن است. در واقع این دو جدول دقیقا همانند یکدیگر هستند.

5 12 - مقایسه Duplicate و Reference در Power Query

حال همانند تصویر از بخش Source آدرس را تغییر داده و آدرس صفحه دوم را برای واکشی رکوردهای ۱۰۱ تا ۲۰۰ وارد می کنیم.

6 11 - مقایسه Duplicate و Reference در Power Query

اکنون شما رکوردهای ۱۰۱ تا ۲۰۰ را در اختیار دارید، اعمال لازم برای تمیز کاری و اصلاح اطلاعات به صورت خودکار بر روی آن انجام شده و فارغ از جدول اصلی می توانید گام های دیگری نیز به طور اختصاصی برای تغییرات داده ها اعمال کنید.

Reference

یکی از روش های دیگر برای کپی کردن جدول استفاده از عمل Reference است. این عمل تنها جدول شما را کپی می کند اما گام های تمیز کاری و تغییر داده را با آن کپی نمی کند. بیایید عمل reference را برای table0 که حاوی ۱۰۰ رکورد اول است، انجام دهیم.

Screenshot 668 - مقایسه Duplicate و Reference در Power Query

همان طور که در تصویر زیر قابل مشاهده است جدول سوم که با عمل reference ایجاد شده است حاوی گام های تمیزکاری داده نیست، همچنین گزینه Source در آن غیر فعال است.

7 13 - مقایسه Duplicate و Reference در Power Query

مهمترین نکته ای که تفاوت میان این دو عمل را مشخص می کند این است که بعد از عمل Duplicate تغییرات جدید ایجاد شده پس از Duplicate  بر روی جدول جدید اعمال نمی شود و تنها تغییراتی که تا قبل از عمل Duplicate صورت پذیرفته برای داده های جدید اعمال می شود. در واقع پس از عمل Duplicate دو جدول از یکدیگر مجزا می شوند و تغییرات بر روی هر یک بر دیگری اثر ندارد. اما وقتی برای یک جدول عمل Reference انجام می شود، هر تغییری بر جدول اصلی بر روی جدول Reference نیز صورت می پذیرد. بدیهی است تغییرات صورت پذیرفته بر روی جدول reference بر روی جدول اصلی اثری ندارد.

حال می توانیم جدول Duplicate و Reference را برای نگهداری ۲۰۰ رکورد در یک جدول با یکدیگر Append کنیم. عمل Append داده های دو جدول را زیر هم ادغام می کند. بدیهی است دو جدول باید دارای ساختار مشابه باشند.

8 12 - مقایسه Duplicate و Reference در Power Query

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

وابستگی یا عدم وابستگی به اصل

عمل Duplicate یک کپی از جدول با تمامی گام های تمیز کاری داده ایجاد می کند که این کپی کاملا مستقل از جدول اصلی عمل می کند. پس از ایجاد این کپی می توانید هر تغییری روی جدول اصلی یا کپی ایجاد کنید و این دو جدول از یکدیگر هیچ تاثیری نمی پذیرند. در مقابل Reference یک کپی از جدول اصلی است و هر گونه تغییر بر روی جدول اصلی بر روی جدول reference نیز اثر می گذارد.  به طور مثال اگر ستونی از جدول ابتدایی حدف شود، از جدول Reference نیز حذف خواهد شد.

فراخوانی Duplicate و Reference

برخی اعمال هستند که به طور خودکار Reference یا Duplicate را انجام می دهند.

Append as new یا Merge as new

حتما هنگام انجام عمل merge یا Append متوجه شده اید که می توانید این اعمال را مستقیما بر روی جدول  یا با انتخاب Merge as new یا Append as new این اعمال را در جدول جدیدی انجام دهید. اگر این ۲ عمل را انجام دهید در واقع به طور خودکار یک Reference از جدول اصلی ایجاد و سپس عمل merge یا Append با دیگر جداول انجام می شود.

Add as new Query

وقتی بر روی یک ستون کلیک راست کرده و گزینه Add as new query را انتخاب می کنید، در واقع یک Duplicate از جدول اصلی ایجاد کرده اید. شاید انتظار داشته باشید که این عمل وابسته به جدول اصلی باشد و تغییرات جدول اصلی در این جدول جدید ایجاد شود اما باید بدانید که اینگونه نیست و این دو جدول مستقل از یکدیگر عمل می کنند و تغییرات بر جدول اصلی بر روی جدول جدید اعمال نخواهد شد.

جمع بندی

عمل Duplicate جدول را با تمامی گام های تمیز کاری داده کپی می کند و پس از عمل کپی این دو جدول کاملا مجزا از یکدیگر عمل می کنند و هیچ تاثیری از یکدیگر نمی پذیرند. این مورد زمانی مناسب است که شما داده هایی با یک ساختار ولی در فایل ها یا صفحات مجزا در اختیار دارید. شما ساختار و گام های تمیز کاری را کپی می کنید و سپس می توانید منبع داده ای خود (مثلا صفحات مختلف وب سایت) را تغییر دهید.

عمل reference، یک کپی از جدول ایجاد می کند که فاقد گام های تمیز کاری داده است. اما هر تغییری در جدول اصلی در جدول جدید نیز اعمال می شود. این عمل زمانی مناسب است که شما قصد ایجاد چند شاخه از جدول اصلی را دارید.

 




6b77990865d588b48d7f55a013cdd7ec?s=300&d=mm&r=g - مقایسه Duplicate و Reference در Power Query

حسین وثوقی

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

دیدگاه بگذارید

avatar
  عضویت  
به دوستتان خبر دهید.