رفتن به محتوای اصلی
کوهستان
توضیح کوهستاناتوماسیون دادهراهنمای جامع· 5 دقیقه مطالعه· در راهنماها

چگونه Power Query جایگزین گزارش‌گیری دستی در اکسل با پایپ‌لاین‌های خودکار ETL می‌شود

ابزار Power Query با ثبت مراحل تبدیل داده‌ها به کدهای تکرارپذیر، جریان کاری صفحات گسترده را از کپی‌پیست‌های دستی به به‌روزرسانی‌های خودکار و تنها با یک کلیک تغییر می‌دهد.

به قلم رضا حسینی

به‌طور خلاصه

  • ابزار Power Query یک قابلیت داخلی اکسل است که استخراج، تبدیل و بارگذاری داده‌ها (ETL) را خودکار می‌کند.
  • این ابزار عملیات پاک‌سازی داده‌ها را به‌صورت مراحل متوالی ثبت می‌کند و به کاربران اجازه می‌دهد گزارش‌ها را تنها با یک کلیک به‌روزرسانی کنند.
  • این ابزار به‌صورت فقط‌خواندنی (read-only) عمل می‌کند و از داده‌های خام اولیه در برابر تغییرات تصادفی محافظت می‌کند.

زمانی که مایکروسافت در نسخه آفیس ۲۰۱۶، ابزار Power Query را به‌طور کامل در تب Data اکسل ادغام کرد، معماری صفحات گسترده به‌طور بنیادین تغییر یافت. پیش از این به‌روزرسانی، اکسل عمدتاً یک شبکه ثابت بود که کاربران داده‌ها را به‌صورت دستی در آن کپی و دستکاری می‌کردند. اما امروز، این نرم‌افزار میزبان یک موتور قدرتمند استخراج، تبدیل و بارگذاری (ETL) است که می‌تواند داده‌ها را از پایگاه‌های داده خارجی فراخوانی کرده، آن‌ها را پاک‌سازی کند و بدون نیاز به حتی یک کلیدزدن دستی، یک گزارش نهایی ارائه دهد.[3]

نکته کاربردی برای هر متخصصی که با داده‌ها سروکار دارد بسیار ساده است: اگر ماهانه بیش از پنج دقیقه را صرف کپی، پیست یا فرمت‌بندی یک خروجی تکراری می‌کنید، باید به‌جای آن یک اتصال Power Query بسازید. این کار هیچ هزینه‌ای ندارد، نیازی به دانش برنامه‌نویسی ندارد و یک کار دستی چندساعته را به یک کلیک تبدیل می‌کند.[4]

جریان کاری سنتی در گزارش‌گیری به‌شدت مستعد خطای انسانی و ناکارآمدی است. معمولاً کاربر یک فایل CSV را از سیستم مدیریت ارتباط با مشتری (CRM) دانلود می‌کند، آن را در اکسل باز می‌کند، ستون‌های غیرضروری را حذف می‌کند، ردیف‌های خالی را فیلتر می‌کند، از تابع VLOOKUP برای اضافه‌کردن نام بخش‌ها استفاده می‌کند و در نهایت تاریخ‌ها را فرمت‌بندی می‌کند.[1]

با رسیدن داده‌های ماه بعد، تمام این مراحل باید از حفظ تکرار شوند. فراموش‌کردن تنها یک مرحله یا اشتباه در تنظیم VLOOKUP می‌تواند گزارش نهایی را خراب کرده و به تصمیمات تجاری غلط منجر شود. تحلیل اخیر MakeUseOf از جریان‌های کاری دقیقاً به همین نقطه ضعف اشاره کرده و یادآور می‌شود که خودکارسازی این فرآیند به «همان گزارش، همان داده‌ها، اما با دردسر بسیار کمتر» ختم می‌شود.[1]

ابزار Power Query این مشکل را با جداسازی منبع داده از لایه ارائه حل می‌کند. در مرحله استخراج (Extract)، این ابزار یک اتصال زنده با فایل منبع، پوشه، پایگاه داده SQL یا وب API برقرار می‌کند. به‌جای واردکردن مستقیم داده‌های خام به شبکه صفحه گسترده، آن‌ها را در یک موتور پردازش پس‌زمینه بارگذاری می‌کند.[2]

فرآیند ETL داده‌های خام اولیه را از لایه نهایی ارائه جدا می‌کند.

این جداسازی به این معناست که داده‌های اصلی هرگز تغییر نمی‌کنند. ابزار Power Query منبع را به‌عنوان یک ورودی فقط‌خواندنی (read-only) می‌خواند و از داده‌های خام در برابر حذف یا بازنویسی تصادفی محافظت می‌کند؛ خطری که در دستکاری دستی صفحات گسترده بسیار رایج است.[4]

مرحله تبدیل (Transform) جایی است که اتوماسیون واقعی رخ می‌دهد. درحالی‌که کاربر در رابط گرافیکی Power Query Editor برای حذف ستون‌ها، تغییر نوع داده‌ها یا ادغام جداول کلیک می‌کند، موتور پردازشی هر اقدام را به‌عنوان یک مرحله متوالی در پنل Applied Steps ثبت می‌کند.[2]

این مراحل اساساً با ماکروهای سنتی VBA در اکسل تفاوت دارند. ماکروها دقیقاً کلیدهای فشرده‌شده و ارجاعات سلولی را ثبت می‌کنند، که در صورت تغییر ساختار داده‌ها، آن‌ها را بسیار شکننده و آسیب‌پذیر می‌سازد. اما مراحل Power Query عملیات ساختاری هستند (مانند حذف یک ستون با نامی مشخص یا فیلترکردن مقادیر خالی) که صرف‌نظر از تعداد ردیف‌های مجموعه‌داده جدید، به‌صورت پویا اعمال می‌شوند.[3]

برخلاف ماکروهای سنتی، Power Query تغییرات ساختاری را ثبت می‌کند که با تغییر حجم داده‌ها سازگار می‌شوند.

در پشت این رابط گرافیکی، Power Query این کلیک‌ها را به زبان فرمول‌نویسی M ترجمه می‌کند. زبان M یک زبان تابعی و حساس به حروف بزرگ و کوچک است که به‌طور خاص برای دستکاری داده‌ها طراحی شده است. اگرچه کاربران حرفه‌ای می‌توانند برای اجرای منطق‌های شرطی پیچیده مستقیماً کد M بنویسند، اما ویرایشگر بصری بخش اعظم تبدیل‌های استاندارد در گزارش‌گیری را به‌طور خودکار مدیریت می‌کند.[2]

مرحله بارگذاری (Load) تعیین می‌کند که داده‌های پاک‌سازی‌شده در نهایت کجا قرار گیرند. این داده‌ها می‌توانند برای مشاهده فوری در یک جدول استاندارد اکسل قرار گیرند، یا مستقیماً در Power Pivot Data Model بارگذاری شوند.[3]

بارگذاری در Data Model به‌ویژه از این جهت قدرتمند است که محدودیت سخت‌گیرانه ۱,۰۴۸,۵۷۶ ردیفی اکسل را دور می‌زند. کاربر می‌تواند Power Query را به پایگاه داده‌ای با ۱۰ میلیون ردیف متصل کند، داده‌ها را بر اساس ماه و منطقه تجمیع کرده و تنها نتایج خلاصه‌شده را در صفحه گسترده قابل‌مشاهده بارگذاری کند.[4]

تأثیر عملی این معماری، کاهش چشمگیر تأخیر در گزارش‌گیری است. همان‌طور که تحلیل MakeUseOf نشان داد، یک فرآیند گزارش‌گیری ماهانه که پیش‌تر ساعت‌ها بازسازی دستی زمان می‌برد، تنها به یک کلیک روی دکمه Refresh All کاهش یافت. کوئری به‌سادگی به فایل منبع جدید متصل می‌شود، دقیقاً همان مراحل تبدیل را اعمال کرده و جدول خروجی را به‌روزرسانی می‌کند.[1]

پس از ساخت یک کوئری، به‌روزرسانی گزارش تنها به یک کلیک نیاز دارد.

مهم‌ترین نکته قابل‌توجه در استفاده از Power Query، شکنندگی مسیر فایل‌ها است. از آنجا که کوئری به یک اتصال ثابت به داده‌های منبع متکی است، انتقال فایل منبع به یک پوشه جدید یا تغییر نام آن، پایپ‌لاین را تا زمانی که مرحله منبع به‌روزرسانی نشود، از کار می‌اندازد.[4]

علاوه بر این، داده‌های به‌شدت بدون ساختار (مانند فایل‌های PDF یا قالب‌های اکسل با سلول‌های ادغام‌شده فراوان) برای تجزیه صحیح ممکن است به کدهای پیچیده M نیاز داشته باشند. ابزار Power Query در پردازش داده‌های جدولی عالی عمل می‌کند، اما برای عملکرد بهینه بدون نیاز به اسکریپت‌نویسی پیشرفته، به ورودی‌های تمیز و قابل‌خواندن برای ماشین نیاز دارد.[2]

با وجود این موانع جزئی، گذر از دستکاری دستی به ETL خودکار یک تکامل ضروری است. با در نظر گرفتن آماده‌سازی داده‌ها به‌عنوان یک برنامه تکرارپذیر به‌جای یک کار دستی خسته‌کننده، Power Query کاربران را آزاد می‌گذارد تا به‌جای صرف وقت برای فرمت‌بندی، روی تحلیل اعداد تمرکز کنند.[4]

اصطلاحات کلیدی

استخراج، تبدیل، بارگذاری (ETL)
یک فرآیند یکپارچه‌سازی داده که داده‌ها را از یک منبع فراخوانی کرده، آن‌ها را پاک‌سازی و فرمت‌بندی می‌کند و در یک سیستم مقصد بارگذاری می‌نماید.
زبان فرمول‌نویسی M
زبان برنامه‌نویسی تابعی که در پس‌زمینه توسط Power Query برای اجرای تبدیل داده‌ها استفاده می‌شود.
مدل داده (Data Model)
یک موتور پس‌زمینه در اکسل که مجموعه‌داده‌های بزرگ را فشرده و ذخیره می‌کند و امکان ایجاد ارتباط بین چندین جدول را بدون اشغال فضای شبکه صفحه گسترده فراهم می‌سازد.
تابع VLOOKUP
یک تابع سنتی در اکسل که برای جستجوی یک مقدار در یک ستون و بازگرداندن مقدار متناظر آن از ستونی دیگر استفاده می‌شود و اغلب با قابلیت ادغام در Power Query جایگزین می‌گردد.

پرسش‌های متداول

آیا استفاده از Power Query هزینه اضافی دارد؟

خیر. ابزار Power Query به‌صورت بومی در اکسل برای ویندوز (نسخه ۲۰۱۶ و جدیدتر) و Microsoft 365 تعبیه شده است و از طریق دکمه Get Data در تب Data قابل دسترسی است.

آیا برای استفاده از آن باید برنامه‌نویسی بلد باشم؟

خیر. بخش اعظم کارهای مربوط به پاک‌سازی داده‌ها با کلیک روی دکمه‌ها در رابط کاربری Power Query Editor انجام می‌شود که به‌طور خودکار کدهای زیربنایی را تولید می‌کند.

اگر فایل داده‌های منبع من ستون‌های جدیدی بگیرد چه اتفاقی می‌افتد؟

ابزار Power Query در برابر ستون‌های جدید مقاوم است. مگر اینکه در یکی از مراحل صراحتاً به ستون جدید ارجاع داده شده باشد، موتور پردازشی به‌سادگی آن را نادیده گرفته و داده‌ها را دقیقاً مانند قبل پردازش می‌کند.

بررسی عمیق دیدگاه‌ها

تحلیل‌گران داده

متخصصانی که Power Query را به‌عنوان یک پایه الزامی برای کارهای مدرن داده در نظر می‌گیرند.

تحلیل‌گران داده استدلال می‌کنند که کپی‌پیست دستی در اکسل یک جریان کاری منسوخ است. آن‌ها تأکید دارند که توانایی Power Query در ایجاد مراحل قابل‌حسابرسی و تکرارپذیر، ماهیت «جعبه سیاه» صفحات گسترده سنتی را از بین می‌برد؛ جایی که اغلب غیرممکن است بفهمیم یک عدد نهایی چگونه از داده‌های خام محاسبه شده است. تحلیل‌گران معتقدند با اعمال یک جداسازی دقیق بین داده‌های منبع و لایه ارائه، Power Query اصول ضروری مهندسی نرم‌افزار را به گزارش‌گیری‌های روزمره تجاری وارد می‌کند.

کاربران عادی اکسل

کاربران روزمره‌ای که اغلب گذر به پایپ‌لاین‌های خودکار را ترسناک می‌دانند.

کاربران عادی اغلب در برابر پذیرش Power Query مقاومت می‌کنند زیرا رابط کاربری آن تفاوت چشمگیری با شبکه استاندارد اکسل دارد. آن‌ها استدلال می‌کنند که برای کارهای موردی، نوشتن یک VLOOKUP سریع یا حذف دستی ردیف‌ها بسیار سریع‌تر از تنظیم یک اتصال رسمی داده به نظر می‌رسد، حتی اگر این کار بدهی فنی بلندمدتی ایجاد کند. منحنی یادگیری مرتبط با درک انواع داده‌ها و مسیرهای اتصال، همچنان مانعی برای کاربرانی است که عادت دارند اکسل را صرفاً یک دفتر کل دیجیتال ساده در نظر بگیرند.

حامیان اتوماسیون 60%کاربران سنتی صفحات گسترده 40%
حامیان اتوماسیون
استدلال می‌کنند که تمام کارهای تکراری صفحات گسترده باید به پایپ‌لاین‌های Power Query تبدیل شوند تا خطای انسانی از بین برود.
کاربران سنتی صفحات گسترده
به دلیل آشنایی با رابط کاربری قدیمی اکسل، دستکاری دستی و ماکروهای VBA را برای کارهای مرتبط با داده ترجیح می‌دهند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • مدیران فناوری اطلاعات سازمانی که سیاست‌های امنیتی اتصال داده‌ها را مدیریت می‌کنند.
  • مدیران پایگاه داده که ترجیح می‌دهند فرآیند ETL به‌جای صفحات گسترده کاربران نهایی، در سمت سرور انجام شود.

منابع

پوشش منابع

4 منبع

2 دیدگاه شناسایی‌شده

حامیان اتوماسیون 60%کاربران سنتی صفحات گسترده 40%
  1. [1]MakeUseOfحامیان اتوماسیون

    I rebuilt the same Excel report every month for 3 years — Power Query turned it into one refresh button

    مطالعه در MakeUseOf →
  2. [2]Microsoft Learn

    What is Power Query?

    مطالعه در Microsoft Learn →
  3. [3]Microsoft Support

    About Power Query in Excel

    مطالعه در Microsoft Support →
  4. [4]تیم سردبیری کوهستانحامیان اتوماسیون

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

اخبار راهنماها با پوشش کامل منابع و تحلیل دیدگاه‌ها، هر روز و رایگان.