• مطالب آموزشی
    • تمام مطالب آموزشی
    • Excel
    • Power BI
    • DAX
  • دوره های آموزشی
    • کلاس اکسل پیشرفته
    • کلاس داشبورد با Power BI
    • کلاس DAX و مدلسازی داده‎
    • Power BI Report Server
    • گالری تصاویر
  • پکیج های آموزشی
    • اکسل
    • Power BI
    • SQL
    • سبد خرید
  • معرفی
  • تماس
  • اینستاگرام
  ورود
گروه تحلیلگری
  • مطالب آموزشی
    • تمام مطالب آموزشی
    • Excel
    • Power BI
    • DAX
  • دوره های آموزشی
    • کلاس اکسل پیشرفته
    • کلاس داشبورد با Power BI
    • کلاس DAX و مدلسازی داده‎
    • Power BI Report Server
    • گالری تصاویر
  • پکیج های آموزشی
    • اکسل
    • Power BI
    • SQL
    • سبد خرید
  • معرفی
  • تماس
  • اینستاگرام
0
ثبت نام / ورود

وبلاگ

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

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

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

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

 

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

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

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

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

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

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

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

تابع DIVIDE

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

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

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

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

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

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

تابع IF

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

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

 Error Handling در Power BI

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

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

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

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

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

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

تابع ISERROR

تابع ISERROR، تابعیست که به شما اطلاع می دهد آیا خطایی اتفاق افتاده است یا خیر؟ همان طور که مشاهده می کنید در ۲ جا، مقدار 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 است. با این ۲ تابع می توانید به همان نتیجه دلخواه برسید. کافی است فرمول را در ورودی اول وارد کنیم و برای ورودی دوم بگوییم مقدار مورد انتظار در صورت خطا چه باشد.

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

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

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

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

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

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

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

= VALUE(‘Values'[Value])

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

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

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

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

 

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

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

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

    2.23k بازدید

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

    1.42k بازدید

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

    2.24k بازدید

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

    1.13k بازدید

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

    684 بازدید

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

    948 بازدید

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

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

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

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

0
پاسخ
moslem
moslem

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

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

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

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

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

اطلاعات تماس
  • تهران، خیابان مطهری، ابتدای خیابان سنایی، کوچه بیست و یکم
  • 543 30 910 - 021
پیوندها
  • آموزش Power BI
  • آموزش SQL
  • آموزش اکسل
دسته بندی محصولات
Excel Power BI SQL
نماد الکترونیک
wpDiscuz

ورود

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

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