• مسابقه Power BI
    • اولین مسابقه Power BI
    • دومین مسابقه Power BI
    • سومین مسابقه Power BI
    • چهارمین مسابقه Power BI
  • جدیدترین مطالب آموزشی
  • دوره‌های رایگان
  • تحلیل داده نرم افزاری (فنّی)
  • تحلیل داده غیرفنّی
  • دوره‌های آفلاین
  • سبد خرید
  • ارتباط با ما
    • تماس
    • درخواست مشاوره
    • اینستاگرام
    • تلگرام
    • آپارات
    • یوتیوب
  • حساب کاربری

سبد خرید شما خالی است.

گروه تحلیلگری
  • مسابقات Power BI
    • اولین مسابقه Power BI ایران
    • دومین مسابقه Power BI ایران
    • سومین مسابقه Power BI ایران
    • چهارمین مسابقه Power BI ایران
  • مطالب آموزشی
    • تمام مطالب آموزشی
    • اکسل (Excel)
    • پاور‌بی‌آی (Power BI)
    • پاورکوئری (Power Query)
    • دکس (DAX)
  • مسیرهای یادگیری
    • مسیر یادگیری تحلیل داده (فنی)
    • مسیر یادگیری غیرفنّی تحلیلگر داده
  • دوره‌های آموزشی
    • دوره‌های رایگان
    • مهارت‌های غیرفنّی تحلیلگر داده
    • اکسل (Excel)
    • پاور‌بی‌آی (Power BI)
    • پاورکوئری (Power Query)
    • زبان اس‌کیو‌ال (SQL)
    • تحلیل داده با پایتون (Python)
    • سبد خرید
  • ارتباط با ما
    • تماس
    • درخواست مشاوره
    • اینستاگرام
    • تلگرام
    • آپارات
    • یوتیوب
0
حساب کاربری

مقالات

فیلتر جدول با جدول دیگر در Power Query

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

قبل تر در مورد فیلتر کردن در Power Query به بحث پرداخته ایم.

به منظور  بررسی فیلتر جدول با مقادیر جدول دیگر در Power Query به پیاده سازی یک سناریو می پردازیم. همان طور که خوب می دانید جدول DimDate یا همان بعد تاریخ یکی از مهمترین جداولی است که باید در هر پروژه ای وجود داشته باشد. این جدول تعداد زیادی ردیف دارد. به طور مثال جدول بعد تاریخ ما از سال 1320 تا سال 1420 را در خود جای داده است. پس حساب کنید 100 سال و هر سال 365 روز که حدود 36000 رکورد را در بر می گیرد.

شما می توانید با ترفند هایی این جدول را فیلتر کنید و فقط سال های مورد نیاز خود را بارگذاری کنید. مثلا می توانید بگویید 100 سال زمان به درد من نمی خورد. من عملیات فیلترینگ را روی جدول انجام داده و سال های بین 1390 تا 1410 را فیلتر می کنم. فیلتر جدول با مقادیر جدول دیگر Power Queryبا این کار 100 سال را به 20 سال کاهش می دهیم و تعداد رکورد ها را کاهش می دهیم. همیشه بر این نکته تاکید داشتیم که تا جای امکان از بارگذاری ستون ها و ردیف های اضافی در مدل خود خودداری کنید.

اما هدف من این نیست که جدول را با این روش فیلتر کنم. این سناریو را در نظر بگیرید که یک جدول فروش داریم که با جدول تاریخ ما در ارتباط است. من می خواهم تنها تاریخ هایی از جدول DimDate را در مدل بارگذاری کنم که در جدول فروش وجود دارند. پس نیاز دارم جدول DimDate را بر اساس مقادیر تاریخ سفارش در جدول فروش فیلتر کنم.

خب بیایید به پیاده سازی این سناریو بپردازیم. ابتدا من با این مشکل مواجهم که ستون تاریخ من شمسی و از نوع رشته است. پس با استفاده از عملیات Replace یک ستون جدید ایجاد می کنم و علامت اسلش (/) را از تاریخ های جدول فروش حذف می کنم.

سپس بر روی ستون تاریخ کلیک راست کرده و گزینه Duplicate Column را انتخاب می کنم تا یک کپی از ستون را در اختیار من قرار دهد. سپس با عملیات Replace علامت های مورد نظر را حذف می کنم و نام آن را به نام دلخواه تغییر می دهم.

فیلتر جدول با مقادیر جدول دیگر Power Query

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

فیلتر جدول با مقادیر جدول دیگر Power Query

در جدول DimDate نیز باید تاریخ های بدون اسلش داشته باشیم. اگر این ستون را نداریم با همین روش به جدول خود اضافه می کنیم. جدول DimDate را در تصویر مشاهده می کنید.

فیلتر جدول با مقادیر جدول دیگر Power Query

حال می خواهیم کمترین و بیشترین مقدار تاریخ را از جدول فروش استخراج کنیم. برای این منظور یک Blank Query ایجاد می کنیم. کافی است بر روی New Source کلیک کنید تا گزینه Blank Query در دسترس شما قرار گیرد.

فیلتر جدول با مقادیر جدول دیگر Power Query

حال با استفاده از تابع List.Min می توان کمترین مقدار تاریخ در جدول فروش را استخراج کرد. همچنین با تابع Int می توان خروجی را به عدد صحیح تبدیل کرد. خروجی مورد نظر مطابق تصویر خواهد بود.

فیلتر جدول با مقادیر جدول دیگر Power Query

حال با استفاده از تابع List.Max بیشترین مقدار موجود در ستون تاریخ سفارش را نیز استخراج می کنیم و آن را به عدد صحیح تبدیل می کنیم. خروجی مورد نظر مطابق تصویر خواهد بود.

فیلتر جدول با مقادیر جدول دیگر Power Query

حال به جدول DimDate می رویم. ستون تاریخ (ستون تاریخ که به صورت عدد صحیح است) را انتخاب می نماییم. توجه کنید که نوع این ستون نیز باید به نوع عدد صحیح تغییر یافته باشد. حال بر روی زبانه کنار ستون کلیک می کنیم و Numbers Filter را انتخاب می نماییم و گزینه Between را انتخاب می کنیم.

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

فیلتر جدول با مقادیر جدول دیگر Power Query

خب! به کد ایجاد شده در تصویر که به صورت اتوماتیک ایجاد شده دقت نمایید.

فیلتر جدول با مقادیر جدول دیگر Power Query

خب معما حل گشته و بسیار آسان به نظر می رسد. کافی است دو مقدار ایجاد شده (کمترین و بیشترین تاریخ) را جایگزین این دو مقدار ثابت می کنیم. پس به تصویر زیر که آخرین مرحله از کار ما است توجه کنید.

فیلتر جدول با مقادیر جدول دیگر Power Query

به پایان این سناریوی جذاب رسیدیم. جدول تاریخ ما بر اساس کمترین و بیشترین مقدار موجود در جدول فروش فیلتر شد. حال جدول تاریخ ما تنها 459 ردیف دارد که با هر به روز رسانی تنها تاریخ های جدید جدول فروش به آن اضافه می شود. بیایید این موضوع را تست کنیم.

یک ردیف با تاریخ جدید به جدول فروش اضافه می کنیم.

فیلتر در Power BI

حدس می زنید چه تغییری در جدول تاریخ ایجاد شود؟ آفرین درست حدس زدید. 31 ردیف به جدول تاریخ ما اضافه می شود و جدول ما 490 رکورد در بر خواهد داشت.

تنها یک نکته را به خاطر بسپارید. بر روی 2 کوئری خود کلیک راست کنید و گزینه Enable Load را برای آن ها غیر فعال کنید تا از بارگذاری آن ها در مدل جلوگیری کنید. در واقع شما به این 2 کوئری در مدل خود هیچ نیازی ندارید و فقط برای فیلتر کردن جدول تاریخ خود از آن استفاده می کنید.

فیلتر جدول با مقادیر جدول دیگر Power Query

شما می توانید همین کار را برای سال انجام دهید و سال های موجود را به طور کامل در جدول بارگذاری کنید.

در این مطلب به بررسی نحوه فیلتر جدول بر اساس مقادیر جدول دیگر در power Query پرداختیم. امیدوارم از این مطلب نهایت استفاده را ببرید و با نظرات خود ما را همراهی کنید.

برچسب ها: ترفندهای Power BI
درباره حسین وثوقی

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

نوشته های بیشتر از حسین وثوقی
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • چهارمین مسابقه بزرگ Power BI ایران (طراحی رزومه)

    890 بازدید

  • تبدیل فایل صورت وضعیت پرتفوی سهام به Power BI

    1.75k بازدید

  • نمونه کار پاوربی‌آی Power BI در زمینه مدیریت مصرف انرژی

    591 بازدید

  • نمونه کار تحلیل داده در Power BI با موضوع اقتصاد ایران و جهان، آقای احسان جعفری

    593 بازدید

  • نمونه کار پاور بی آی با موضوع اقتصاد ایران و جهان، آقای محمدرضا سلیمی

    479 بازدید

  • نمونه پروژه Power BI اقتصاد ایران و جهان، آقای هادی علوی

    404 بازدید

guest
تعداد ماههای سال به عدد
guest
9 نظر
قدیمی ها
جدید ها بیشترین رای
Inline Feedbacks
View all comments
سجادیان
سجادیان

سلام مهندس جان ممنون ،خیلی مفید بود واقعا
👏👏👏

0
پاسخ
حسین وثوقی
حسین وثوقی
نویسنده
در پاسخ به  سجادیان

سلام جناب سجادیان ممنون از همراهیتون

0
پاسخ
یوسف حسنی
یوسف حسنی

ممنون خیلی آموزنده بود

0
پاسخ
حسین وثوقی
حسین وثوقی
نویسنده
در پاسخ به  یوسف حسنی

سلام.
ممنون از لطفتون

0
پاسخ
sahar
sahar

با سلام و احترام
اگر در یک داشبورد Power Bi روی یک فیلد خاص فیلتر داشته باشیم و بخواهیم که همان فیلد خاص با استفاده از URL در یک داشبورد دیگر فیلتر شود،
چگونه این کار انجام میشود.
بااحترام

0
پاسخ
پوریا بغدادی
پوریا بغدادی
مدیر سایت
در پاسخ به  sahar

سلام
فکر نمی کنم شدنی باشه.

0
پاسخ
Sahar
Sahar
در پاسخ به  پوریا بغدادی

سلام و درود
من دیروز این سوال رو پرسیدم
و خیلی search کردم تا متوجه شدم.
شدنی هست و بسیار جذاب.
درصورتی امکانپذیر هست که شما به داشبورد دوم نیز دسترسی داشته باشید و با یک فیلد خاص مه بصورت URLتعریف میکنید میتوانید داشبورد دوم را بصورت دلخواه فیلتر شده ببینید.

0
پاسخ
پوریا بغدادی
پوریا بغدادی
مدیر سایت
در پاسخ به  Sahar

سلام مجدد
ممنون از به اشتراک گذاری دانشتان
ما بطور پیش فرض Cloud را در نظر نمی گیریم (چون در ایران زیاد استفاده نمی شود) و من خودم هم از کلاود خیلی خیلی کم استفاده می کنم لذا تصور ما از سوالاتی که پرسیده می شود این هست که در مورد PBIRS مطرح شده.
در یک کلام قابلیت های خیلی جذاب بیشتر در Service ارائه می شوند نه Local.
https://docs.microsoft.com/en-us/power-bi/collaborate-share/service-url-filters

0
پاسخ
حمیدرضا محمدیان
حمیدرضا محمدیان

سلام
این موضوع واقعا مسئله ی من بود.
ممنون از توضیحات کاملتون.

0
پاسخ
جستجو
جستجو برای:
دسته بندی مطالب
  • Charts
  • DAX
  • Excel
  • Power BI
  • Power Query
  • تحلیل داده
  • هوش تجاری
پکیج های آموزشی
  • Data Analysis
  • Excel
  • Power BI
  • Power Query
  • Python
  • SQL
درباره گروه تحلیلگری

معتقدیم آموزش شروع یک تعهد بلند مدت است. این را از مشتریان ما سوال کنید.

اطلاعات تماس
  • تهران، خیابان دکتر فاطمی غربی، کوچه پروین
  • 42 12 600 - 0919 فقط تلگرام و پیامک
پیوندها
  • آموزش رایگان و اصولی اکسل (Excel)
  • دوره رایگان آموزش پاور بی آی (Power BI)
  • آموزش رایگان پاورکوئری (Power Query)
  • آمار و تحلیل داده با پایتون
  • دومین مسابقه‌ Power BI ایران
دسته بندی محصولات
Data Analysis Excel Power BI Power Query Python SQL
wpDiscuz

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت