در Power BI کدام روش Import یا DirectQuery پیشنهاد می شود؟

در Power BI کدام روش Import یا DirectQuery پیشنهاد می شود؟

نوشته شده توسط: مائده مقدم
۲۵ دی ۱۴۰۰
زمان مطالعه: 12 دقیقه
۳
(۲)

مقدمه 

در این مقاله به توضیح این که کدام روش Import یا DirectQuery در Power BI پیشنهاد می شود می پردازیم.

در روش Import، داده ها از منبع داده به Power BI منتقل شده و فشرده می شود. زمانی که حجم داده زیاد باشد، این مرحله بارگذاری داده که شامل انتقال و فشرده سازی داده است، خیلی زمان می برد.
برای حل این مشکل، توسعه دهندگان پاور بی آی روش DirectQuery را پیشنهاد داده اند. در این روش داده ها به محیط Power BI منتقل نمی شوند و در نتیجه هیچ فشرده سازی زمانبری هم بر روی داده اعمال نمی شود. در واقع در این روش فقط ساختار داده منتقل می شود و داده ها در همان منبع داده باقی می مانند و هر موقع که لازم بود، پاور بی آی به منبع داده وصل می شود و داده ها را می خواند. لازم به ذکر است که در صورت اتصال به SSAS این روش اتصال “Connect Live” نام می گیرد.
در این مقاله در مورد این موضوع صحبت می کنیم که چه زمانی می توانید از DirectQuery استفاده کنید، نحوه استفاده از این روش چگونه است و مزایا و معایب استفاده از آن چیست؟

اول از همه باید خدمت تون عرض کنیم که با DirectQuery (Connect Live) فقط می توانید به یک تعداد محدودی از منابع داده ای وصل شوید. این منابع داده عبارتند از:

  • SQL Server database
  • SQL Server Analysis Services (“classic” SSAS and tabular)
  • Oracle database
  • Teradata database
  • PostgreSQL
  • SAP HANA
  • SAP Business Warehouse Message Server
  • SAP Business Warehouse Server
  • Azure SQL Database
  • Azure SQL Data Warehouse (now called Azure Synapse Analytics)
  • Amazon Redshift
  • AtScale cubes
  • Azure HDInsight Spark
  • Denodo
  • Exasol
  • Essbase
  • HDInsight Interactive Query
  • Impala
  • Snowflake
  • Spark

دوره آموزشی Power BI نیک آموز

قبل از اینکه وارد بحث نحوه اتصال به روش دایرکت کوئری بشیم، بهتر که بدانید که دایرکت کوئری با روش های متداول بارگذاری داده تفاوت هایی دارد مانند:

  • داده را بارگذاری نمی کنید و در عوض مستقیم به سرور دیتابیس متصل می شوید و با داده موجود در دیتابیس کار می کنید.
    از آنجایی که داده دانلود نشده است، برای کار کردن حتما باید به دیتابیس وصل باشید و نمی تونید آفلاین کار کنید.
    خیلی سریع است.
    به ازا هر ویژالی که روی صفحه قرار می دهید، داده بارگذاری می شود.
    به همه داده های موجود در منبع داده دسترسی دارید.
    هر وقت که از اسلایسر یا فیلتر استفاده کنید، داده به روز رسانی می شود.
    بعد از اینکه داده ها را به روش DirectQuery (and Connect Live) به مدل اضافه کردید، می تونید منابع داده دیگری مثلا اکسل و … را هم به مدل اضافه کنید. حتی می توانید داده های دیگری را به روش Import به مدل اضافه کنید.
    می توانید داده های خیلی بزرگ را ویژال کنید. داده هایی که قبل از آن حتی به طور کامل در پاور بی آی بارگذاری نمیشدند.

دلایلی که باید از دایرکت کوئری استفاده کرد:

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

اتصال به Microsoft SQL Server به روش DirectQuery

برای اتصال به Microsoft SQL Server به روش DirectQuery مراحل زیر طی کنید.

۱- برنامه Power BI Desktop را باز کنید.
۲- تب Home را در ریبون پاور بی آی انتخاب کنید و بعد هم بر روی Sql Server کلیک کنید.

اتصال به Microsoft SQL Server به روش DirectQuery

 

۳- پنجره ای مشابه با تصویر زیر باز می شود. در قسمت Server نام سرور اس کیو ال سرور را بنویسید. در قسمت Database نام دیتابیس را بنویسد. این قسمت اختیاری است و می توانید نام دیتابیس را وارد نکنید. در انتها نیز Data Connectivity mode را از نوع DirectQuery انتخاب کنید. این قسمت بسیار مهم است. در واقع با انتخاب این گزینه نحوه اتصال به منبع داده را از نوع DirectQuery انتخاب می کنید. گزینه Ok را کلیک کنید.

اتصال به Microsoft SQL Server به روش DirectQuery

۴- در صفحه بعد باید نحوه احراز هویت را مشخص کنید.

اتصال به Microsoft SQL Server به روش DirectQuery

۵- بر روی گزینه Connect کلیک کنید. Power BI به سرور متصل می شود و با توجه به سطح دسترسی شما، لیستی از جداول را برای شما نمایش می دهد.
۶- بر روی چک باکس کنار هر کدام از جداولی که نیاز دارید کلیک کنید. من به دیتابیس AdventureWorksDW2017 وصل شدم و جداول DimCustomer و DimDate را انتخاب کردم.

اتصال به Microsoft SQL Server به روش DirectQuery

۷- گزینه Load را انتخاب کنید. Power BI لیستی از جداولی که قرار است به آن وصل شوید را مشابه تصویر زیر نمایش می دهد.

اتصال به Microsoft SQL Server به روش DirectQuery

۸- در نهایت هم پنجره پاور بی آی باز می شود و جداول انتخاب شده در قسمت Fields نمایش داده می شوند.

این روش خیلی مشابه اتصال به SQL Server به روش Import بود. اما یک سری تفاوت های ریزی دارد از جمله:

  • فاز بارگذاری داده را ندارید.
    هر وقت که از یک ویژال استفاده کنید، کمی بیشتر طول میکشد.
    در واقع صرفا متادیتا منتقل می شود.

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

مزایا

  • از آنجاییکه داده ها بارگزاری نمی شوند زمان بیشتری در اختیار خواهید داشت.
    با به روز رسانی گزارش ها، فیلدها هم به روز رسانی می شوند.

معایب

  • نمی توانید از استور پراسیچر استفاده کنید.
  • همه جداول باید از یک دیتابیس باشند مگر این که همزمان از دو روش Import و Direct Query استفاده کنید.
  • زمان به روز رسانی هر ویژال بستگی به این دارد که چقدر طول می کشد تا کوئری مربوط به آن اجرا شود.
  • حداکثر یک میلیون رکورد را می توانید به پاور بی آی بیارید. البته این تعداد سطر است. می توانید Summarize و Group by کنید.
  • ارتباط دو طرفه ندارید.
  • DAX های پیچیده نخواهید داشت.
  • از توابع هوشمندی زمان (DAX Time Intelligence) نمی توانید استفاده کنید.
  • برخی امکانات سرویس Power BI مانند Quick Insights در دسترس نیست.
  • از کوئری های پیچیده SQL نمی توانید استفاده کنید.
  • Date/Time در سطح ثانیه است و کمتر از آن پشتیبانی نمی شود.
  • از جداول محاسباتی (Calculated Table) نمی توانید استفاده کنید.

و در انتها بهتر است که به چند نکته اشاره کنیم:

  • گزارش هایی که به این روش تولید شده اند را می توانید در Power BI Service هم منتشر کنید.
    محدودیت اندازه دیتاست ۱ گیگا بایتی را در روش دایرکت کوئری ندارید.
    ممکن است Power BI جهت جلوگیری از بار اضافی بر روی سروی و فراهم کردن تجربه کاربری بهتر، داده ها را کش کند. اگر که براتون مهم که به روز ترین داده را داشته باشید حتما از گزینه Refresh در پاور بی آی دسکتاپ استفاده کنید و مطمئن شوید که داده ها کش نشده باشد.

نکته پایانی و بسیار مهم این که ترکیب منبع داده in-memory و روش دایرکت کوئری، راه حل ایده آلی برای منابع داده پیچیده و بزرگ است.

چه رتبه ای می‌دهید؟

میانگین ۳ / ۵. از مجموع ۲

اولین نفر باش

title sign
دانلود مقاله
در Power BI کدام روش Import یا DirectQuery پیشنهاد می شود؟
فرمت PDF
7 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
مائده مقدم
مقالات
1 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
مائده مقدم
پروفایل نویسنده
title sign
دیدگاه کاربران

وبینار رایگان ؛ 3 راه جلوگیری از هک شدن SQL Server  یک شنبه 23 اردیبهشت ساعت 15
ثبت نام رایگان
close-image