• مسابقه 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 BI

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

بررسی خطاهای رایج در زبان DAX

 برخی از خطا ها مثل خطای تقسیم عدد بر صفر اجرای کد را با خطا مواجه نمی کنند. اما بهتر است آن ها را مدیریت نموده و از ایجاد آن ها جلوگیری کنیم (Error Handling).

 

خطای تقسیم عدد بر صفر

جدولی با 2 ستون ایجاد نمودیم و اعدادی را به عنوان نمونه در این 2 ستون وارد کردیم. در تصویر زیر این جدول را مشاهده می کنید.

توابع مدیریت خطا در Power BI

حال می خواهیم این 2 ستون را به سادگی بر هم تقسیم کنیم. یک ستون محاسباتی (Calculated Column) ایجاد کرده و به راحتی با علامت / عمل تقسیم را انجام می دهیم. اما همان طور که مشاهده می کنید با خطای تقسیم بر صفر مواجه می شویم. این خطا اجرای کد را متوقف نمی کند ولی با علامت ∞ (infinity) به ما نشان می دهد که یک خطای ریاضی اتفاق افتاده است.

= ‘Values'[A]/’Values'[B]

توابع مدیریت خطا در Power BI

توابع مدیریت خطا در DAX

تابع DIVIDE

یکی از توابع مدیریت خطا در Power BI، تابع DIVIDE می باشد. همان طور که در تصویر مشاهده می کنید تابع DIVIDE، دو ورودی اجباری و یک ورودی اختیاری دارد. ورودی اول، صورت کسر، ورودی دوم مخرج کسر و ورودی سوم مقدار دلخواه برای نمایش در صورت مواجهه با خطای ریاضی، است.

DIVIDE(<numerator>, <denominator> [ ,<alternateresult>])

توابع مدیریت خطا در Power BI

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

= DIVIDE(‘Values'[A] , ‘Values'[B])

توابع مدیریت خطا در Power BI

تابع IF

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

پس کافیست این شرط را بنویسیم.

 Error Handling در Power BI

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

= IF(‘Values'[B] = 0 , 99999, ‘Values’ [A] / ‘Values’ [B])

توابع مدیریت خطا در Power BI

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

= IF(‘Values’ [B] <> 0, ‘Values’ [A] / ‘Values’ [B])

توابع مدیریت خطا در Power BI

تابع ISERROR

تابع ISERROR، تابعیست که به شما اطلاع می دهد آیا خطایی اتفاق افتاده است یا خیر؟ همان طور که مشاهده می کنید در 2 جا، مقدار True نمایش داده می شود که نشان دهنده خطا است.

= ISERROR(‘Values'[A]/’Values'[B])

توابع مدیریت خطا در Power BI

حال می توانیم با ترکیب IF و ISERROR به نتیجه مورد نظر خود دست پیدا کنیم.

= IF(ISERROR(‘Values'[A]/’Values'[B]),99999,’Values'[A]/’Values'[B])

توابع مدیریت خطا در Power BI

تابع IFERROR

تابع IFERROR ترکیبی از تابع IF و ISERROR است. با این 2 تابع می توانید به همان نتیجه دلخواه برسید. کافی است فرمول را در ورودی اول وارد کنیم و برای ورودی دوم بگوییم مقدار مورد انتظار در صورت خطا چه باشد.

= IFERROR(‘Values'[A]/’Values'[B],99999)

توابع مدیریت خطا در Power BI

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

در این مطلب با نحوه کار با توابع مدیریت خطا در Power BI آشنا شدیم. حال به بررسی مثال دیگری می پردازیم.

خطا در تبدیل نوع داده ها (Data Type) به یکدیگر

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

حال با یک فرمول ساده سعی می کنیم ستونی ایجاد کنیم و آن را به صورت عددی در نظر بگیریم. تابع VALUE تابعی است که این کار را برای ما انجام می دهد.

= VALUE(‘Values'[Value])

بعد از اجرای فرمول با خطایی مواجه می شوید که می گوید امکان تبدیل A به عدد را ندارد و خب حق هم دارد!

حال می توانید با استفاده از تابع IFERROR این موضوع را مدیریت کنید.

= IFERROR(VALUE(‘Values'[Value]),99999)

در واقع می گویید اگر توانستی تبدیل به عدد کنی تبدیل کن و اگر نتوانستی 99999 را نمایش بده! نتیجه این کد به صورت زیر قابل نمایش است. همان طور که مشاهده می کنید Data Type این ستون به صورت عددی تبدیل شده است.

 

درباره حسین وثوقی

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

نوشته های بیشتر از حسین وثوقی
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • کاربرد پارامتر در پاوربی آی
    کاربرد پارامتر و تحلیل حساسیت در پاور بی آی

    4.07k بازدید

  • استفاده از متغیر و تابع EARLIER در زبان DAX

    2.71k بازدید

  • پانزده تابع DAX که باید حتما یاد بگیرید

    3.89k بازدید

  • تابع IF و SWITCH در زبان DAX

    2.49k بازدید

  • رنگ بندی شرطی با زبان DAX
    رنگ بندی شرطی با زبان DAX

    1.8k بازدید

  • مفهوم Context و انواع آن در زبان DAX
    مفهوم Context و انواع آن در زبان DAX

    2.08k بازدید

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

سلام
اراتمندم
عالی مثل همیشه
تشکر

1
پاسخ
حسین وثوقی
حسین وثوقی
نویسنده
در پاسخ به  mr.mahlouji

سلام لطف دارید شما
ممنون از همراهیتون

0
پاسخ
moslem
moslem

بسیار عالی پاینده باشید

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

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

0
پاسخ
ساسان
ساسان

ساتم وقتتون بخیر باشه.بنده هنگام publish گزارش به سرور این خطا را دریافت میکنم .میتوانید بهم کمک کنید ؟
(Unexpected error encountered)

1
پاسخ
جستجو
جستجو برای:
دسته بندی مطالب
  • 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)
  • کانال تحلیلگری در «بله»
دسته بندی محصولات
Data Analysis Excel Power BI Power Query Python SQL
wpDiscuz

ورود

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

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