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

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

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

مقالات

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

هنگام کار کردن با زبان DAX، مانند هر زبان دیگری با Error های مختلفی روبرو خواهیم شد که اجرای محاسبات را متوقف می کنند. در این مطلب قصد داریم به بررسی خطاهای رایج در زبان DAX بپردازیم.

مورد اول: اشتباه در تایپ نام ستون

برای بررسی خطاهای رایج در زبان DAX از پایگاه داده AdventureWorksDW بهره گرفته ایم. از این پایگاه داده 2 جدول کالا و فروش را در مدل بارگذاری نمودیم. تصویر مدل را مشاهده می کنید.

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

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

حال طبق تصویر زیر یک مژر جدید ایجاد می کنیم. با انتخاب New Measure از تب Home یک مژر جدید ایجاد می کنیم.

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

حال می توانید نام مژر را تایپ نموده و بعد از آن فرمول خود را بنویسید.

اگر می خواهید در مورد Measure در Power BI بیشتر بدانید مطالب زیر را مطالعه نمایید

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

آموزش Power BI صفر تا سکو : قسمت هفتم ( نوشتن Measure )

Calculated Column یا Measure؟ مساله این است!

برای این منظور باید ستون تعداد (OrderQuantity) را در ستون قیمت (UnitPrice) ضرب کنیم. این عمل را انجام دادیم اما با خطای زیر مواجه شدیم.

Column ‘Quantity’ in table ‘Sales’ cannot be found or may not be used in this expression.

چرا که ستون Quantity در جدول Sales وجود ندارد. در واقع ستون مد نظر ما OrderQuantity بوده است که به اشتباه نوشته شده است. در تصویر زیر کد نوشته شده و خطای ایجاد شده را مشاهده می نمایید.

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

با تصحیح نام ستون خطا برطرف خواهد شد.

مورد دوم: عدم تجمیع

در ادامه بررسی خطاهای رایج در زبان DAX به مورد دوم می رسیم. قصد داریم یک Measure ایجاد کنیم و میزان فروش را محاسبه نماییم. برای این منظور باید در جدول فروش (Sales)، تعداد فروش هر کالا (OrderQuantity) را در قیمت آن کالا (UnitPrice) ضرب نماییم. در تصویر زیر دو ستون تعداد و قیمت را که هر دو در جدول فروش ذخیره شده اند را مشاهده می نمایید.

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

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

A single value for column ‘OrderQuantity’ in table ‘Sales’ cannot be determined. This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count, or sum to get a single result.

در تصویر زیر کد نوشته شده و خطای ایجاد شده را مشاهده می نمایید.

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

دلیل این خطا چیست؟ ما در جدول فروش 60000 ردیف داریم. برای هر ردیف تعداد و قیمت ثبت شده است. منظور ما کدام ردیف است؟ این خطا به ما می گوید که نمی تواند تشخیص دهد کدام ردیف مد نظر شماست؟! اما به شما یک پیشنهاد می دهد. تجمیع کن تا خطا برطرف شود. در واقع در نوشتن مژر بدون استفاده از تابع تجمیعی به جواب مورد نظر نمی رسیم. کافی است این فرمول را در یک تابع تجمیعی مثل SUMX یا هر تابع تجمیعی دیگری قرار دهیم تا خطا برطرف شود.

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

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

مورد سوم: استفاده از ستون جدول دیگر

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

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

حال یک مژر جدید ایجاد می نماییم و مطابق آنچه که در مورد اول آموختیم تعداد کالای فروش رفته را در قیمت ضرب می نماییم. با خطای زیر روبرو می شویم.

A single value for column ‘ListPrice’ in table ‘Product’ cannot be determined. This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count, or sum to get a single result.

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

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

در واقع خطای ایجاد شده به ما می گوید که ستونی با نام ListPrice نمی شناسد. راه حل چیست؟!! آفرین! استفاده از تابع RELATED. وقتی در جداول سمت چند هستید با استفاده از تابع RELATED می توانید به ستون های جدول سمت یک دسترسی پیدا کنید.بررسی خطاهای رایج در زبان DAXکافیست ستون جدول کالا را RELATED احاطه کنیم. خطا رفع می شود و نتیجه مطابق زیر در یک Card قابل مشاهده خواهد بود. نتیجه با محاسبه قبل یکی است چرا که کالا ها با قیمت اصلی خود به فروش رفته اند. در جدول زیر کد صحیح و نتیجه آن را مشاهده می نمایید.

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

مورد چهارم: اشتباه در تایپ نام Measure

این خطا زمانی ایجاد می شود که نام یک Measure را اشتباه بنویسیم. فرض کنید 2 مژر ایجاد کردیم یکی برای محاسبه فروش و یکی برای محاسبه هزینه.

TotalSales = SUMX(Sales,Sales[OrderQuantity] * Sales[UnitPrice])

TotalCost = SUMX(Sales,Sales[OrderQuantity]*Sales[ProductStandardCost])

حال می خواهیم این دو مژر را از هم کم کنیم و سود را محاسبه نماییم. ما به اشتباه مژر محاسبه فروش را TosalSales تایپ نمودیم که با خطا مواجه می شویم.

The value for ‘TosalSales’ cannot be determined. Either ‘TosalSales’ doesn’t exist, or there is no current row for a column named ‘TosalSales’.

در تصویر زیر کد ناصحیح و خطای ایجاد شده را مشاهده می نمایید.

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

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

بررسی های Error های رایج در DAX

در این مطلب به بررسی خطاهای رایج در زبان DAX هنگام کار با Power BI پرداختیم. مطلب را مطالعه نمایید و با نظرات خود ما را در ادامه مسیر همراهی نمایید.

مورد پنجم: استفاده از توابعی مانند SUM و AVERAGE بر روی ستون های رشته ای

توابع SUM و AVERAGE، تنها بر روی ستون های عددی عمل می کنند. در صورتی که بخواهید از این توابع بر روی ستون های رشته ای استفاده کنید با خطا مواجه خواهید شد. به طور مثال سعی می کنیم عمل میانگین را بر روی ستون نام مشتریان پیاده سازی کنیم.

توابع تجمیعی در Power BI

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

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

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

    3.71k بازدید

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

    2.49k بازدید

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

    3.55k بازدید

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

    2.22k بازدید

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

    1.55k بازدید

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

    1.84k بازدید

عضویت
به دوستتان خبر دهید.
guest
تعداد ماههای سال به عدد
guest
0 نظر
قدیمی ها
جدید ها بیشترین رای
Inline Feedbacks
View all comments
جستجو
جستجو برای:
دسته بندی مطالب
  • Charts
  • DAX
  • Excel
  • Power BI
  • Power Query
  • تحلیل داده
  • هوش تجاری
پکیج های آموزشی
  • Data Analysis
  • Excel
  • Power BI
  • Power Query
  • Python
  • SQL
درباره گروه تحلیلگری

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

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

ورود

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

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