برای اطلاع از آخرین مقالات و به روزرسانی‌های سایت در کانال تلگرام اکسل فرساران عضو شوید.  smiley

POWER QUERY (پاور کوئری) چیست؟

از اکسل 2013 به بعد ابزاری اضافه شده است به نام Power Query و قصد دارم که یک معرفی دقیق و خلاصه ای از این ابزار ویژه در اکسل را ارائه دهم.

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

 

مثلا ای کاش ما در اکسل می توانستیم یک لیست از مقادیر غیر تکراری را بسازیم و اگر مقادیر اضافه و یا کم شدند، این لیست خودکار آپدیت شود.

 

قطعا درخواست من خیلی دقیق نبود، زیرا خیلی دقیق نمی دانستم که ممکن است به چه چیزهایی نیاز باشد و آیا اساسا چنین چیزی در دنیای کامپیوتر مشابهش ساخته شده است؟

 

در واقع چیزی که ما به عنوان کاربران نرم افزارهای Desktop کم داشتیم، یک ابزار ETL بود!!

بله، ما در دنیای Office به یک ابزار ETL نیاز داشتیم. (البته من بعدها فهمیدم که به این ابزارهای ETL گفته می شود) و البته مایکروسافت از سال ها پیش به فکر اضافه کردن ابزارهای هوش تجاری برای کاربران عادی بوده است که به آنها Self Service BI گفته می شود.

باید بدانید که مایکروسافت ابزارهای هوش تجاری را سال ها قبل در محصول استراتژیک خود به نام SQL Server اضافه کرده است:

  • برای لایه Data Base ابزار Sql server
  • برای لایه ETL ابزار SQL Server Integration Services
  • برای لایه محاسبات ابزار SQL Server Analysis Services
  • برای لایه Presentation (که شما به آن غالبا دشبورد می گویید ) ابزار SQL Server Reporting Services

اما این ابزارها برای مهندسان IT است و نه کاربران حرفه ای و خوب در دنیا شرکت هایی مانند Qlik View شروع کردند به ساخت ابزارهایی برای هوش تجاری که فقط مختص مهندسین نبود! و به این ابزارها اصطلاحا Self Service BI گفته می شود و مایکروسافت هم تصمیم گرفت که ابزار Self Service BI خود را ارائه کند و در این راستا مجبور بود که یک ابزار ETL بسازد.

مایکروسافت ابزار ETL خود را Power Query (پاور کوئری) نامگذاری کرد.

پس در پاسخ اینکه دقیقا Power Query (پاور کوئری) چیست، کافی است که بگوییم کار نرم افزارهای ETL چیست.

ETL مخفف سه واژه Extract / Transfom / Load است.

 

فاز Extract در Power Query

بنابراین ابزار Power Qeury باید بتواند داد ها را از منابع مختلفی بخواند و به این فاز Extract می گویند. البته ما در اکسل می توانیم داد ها را از منابع مختلفی بخوانیم اما باید بدانید که در پاورکوئری امکانات بی نظیری داریم که قطعا برای بسیاری از ما کاربران حرفه ای اکسل روزگاری یک آرزو بوده است مانند خواندن به یکباره 100 ها فایل در فولدر.

بله اینکار تقریبا به سادگی چند کلیک انجام می شود و در Power Query می توانید صد ها فایل اکسل، فایل CSV را به یکباره بخوانید.

 

فاز Transfom در Power Query

بارزترین قدرت پاورکوئری در اینجاست. ده ها امکانات در اینجا داریم تا بتوانیم داده ها را به شکلی قابل استفاده در آوریم.

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

بگذارید یک مثال بزنم، همواره Merge شدن سلولها در اکسل باعث می شود که ما نتوانیم بر روی داده ها گزارش بگیریم و باید نه تنها سلولها را از حالت Merge خارج کنیم بلکه آنها را با مقادیر مناسب پر هم کنیم، این کار در پاورکوئری فقط 1 کلیک است!

ابزار پاور کوئری

 

این را باید اضافه کنم که شاید برای کاربران تازه کار اکسل ابزارهای Power Query آنچنان جذاب نباشد اما اگر شما باید کارهای هوش تجاری در اکسل را انجام دهید، آنوقت قدرت و ارزش این ابزار آشکار خواهد شد به عنوان مثال ابزار UnPivot می تواند داده های شما را نرمال کنید:

 

نرمال کردن داده ها در پاورکوئری

 

فاز Load در PowerQuery

در ابزاری ETL این فاز خیلی قوی است اما در PowerQuery قرار است که داد ها در اکسل Load (نمایش داده شود) و به همین دلیل انتظار خاصی را نباید داشته باشیم.

به این مطلب پاسخ دهید