آموزش DAX در Power Bi قسمت سوم

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

در قسمت های قبل با مفاهیم و پایه های زبان DAX، آشنا شدیم، نحوه عملکرد روابط و مدل سازی داده را با هم بررسی کردیم. حال نوبت به آشنایی با نحوه نوشتن کد های DAX می رسد.

Syntax

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

همان طور که در تصویر مشاهده می کنید Sales[Quantity] در واقع به ستون Quantity از جدول Sales اشاره دارد.

dax series 2 - آموزش DAX در Power Bi قسمت سوم

توجه کنید که اگر نام جدول شما با شماره آغاز می شود، یا نام آن دارای Space بوده و همچنین اگر از نام های رزرو شده در نام گذاری جدول استفاده شده باشد، باید نام جدول را در علامت کوتیشن قرارد دهید. در جدول زیر به ستون Quantity از جدول Order Details اشاره شده است.

dax series 4 - آموزش DAX در Power Bi قسمت سوم

برای نوشتن مژر اکیدا از نوشتن نام جدول خودداری نمایید. به تصویر زیر توجه کنید. در تصویر زیر به مژر TotalQuantity اشاره شده است.

dax series 5 - آموزش DAX در Power Bi قسمت سوم

در صورتی که تمایل دارید در کدهای خود از Comment استفاده کنید، از علامت های – – یا // استفاده نمایید. کامنت گذاری در کد ها باعث خوانایی کد خواهد شد. توجه کنید که با استفاده از علامت – – کدهای آن خط به صورت سبز رنگ در خواهد آمد و این قسمت ها تاثیری در کد های شما نخواهد گذاشت. به تصاویر زیر توجه کنید.

dax series 6 - آموزش DAX در Power Bi قسمت سوم

اگر تمایل دارید چند خط از کد خود را کامنت گذاری کنید یا از چرخه اجرا خارج کنید باید در ابتدای قسمت مورد نظر از علامت */ و در انتهای آن از /* استفاده کنید.

dax series 7 - آموزش DAX در Power Bi قسمت سوم

DAX Data Type

Power BI از انواع مختلفی از Data Type ها پشتیبانی می کند. برای ذخیره اعداد صحیح از نوع داده ای Integer بهره می گیرد. برای اعداد اعشاری از نوع داده Decimal استفاده می کند. همچنین برای ذخیره تاریخ میلادی از نوع داده ای DateTime استفاده می شود. توجه کنید که این نوع داده برای ذخیره نمایش تاریخ میلادی استفاده می شود. برای ذخیره تاریخ شمسی باید از نوع ذخیره رشته ای (String) استفاده شود.

در Power BI از نوع داده ای String برای ذخیره رشته و متن استفاده می شود، همچنین برای ذخیره اطلاعاتی مانند عکس از نوع داده ای Binary در نظر گرفته می شود. Power BI از نوع داده Boolean یا TRUE/FALSE نیز پشتیبانی می کند.

dax series 8 - آموزش DAX در Power Bi قسمت سوم

توجه کنید که اگر در یک ستون اطلاعات ترکیبی وارد کنید، نوع ستون به نوع عمومی تر تغییر حالت می دهد. در واقع اگر شما عدد صحیح و رشته را در یک ستون وارد کنید، نوع داده به رشته تغییر می کند، یا اگر عدد صحیح و عدد اعشاری را با هم در یک ستون وارد کنید، نوع داده به اعشاری تغییر حالت می دهد.

اپراتور ها

عملگر های ریاضی در زبان DAX

در زبان DAX می توانید از عملگرهای ریاضی مانند جمع (+)، ضرب (*)، منها (-) و تقسیم (/) استفاده کنید. این عملگرها می تواند بین اعداد یا ستون ها مورد استفاده قرار بگیرد.

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

Amount = Sales[OrderQuantity] * Sales[UnitPrice]

dax series 9 - آموزش DAX در Power Bi قسمت سوم

یا به طور مثال می خواهید دو ستون Freight و TaxAmount را جمع کنید. دقت کنید که برای جمع دو ستون و ایجاد ستون جدید لازم نیست از تابع  SUM استفاده کنید.

dax series 10 - آموزش DAX در Power Bi قسمت سوم

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

عملگر های مقایسه ای در زبان DAX

برای مقایسه نیز می توانید از عملگر برابر (=)، نابرابر (<>)، بزرگتر (<)، کوچکتر (>)، بزرگتر مساوی (=<)، کوچکتر مساوی (=>) استفاده نمایید.

دقت کنید که باید مقادیر رشته ای در دبل کوتیشن قرار بگیرند. به مثال زیر توجه کنید.

Product[CategoryName] = “Bikes”

Product[CategoryName] <> “Bikes”

Sales[Quantity] = 1

Sales[Quantity] > 1

Sales[Quantity] < 1

Sales[UnitPrice] = 100
Sales[UnitPrice] >= 1

Sales[UnitPrice] <= 1

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

dax series 11 - آموزش DAX در Power Bi قسمت سوم

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

DAX comparison operations do not support comparing values of type Text with values of type Integer. Consider using the VALUE or FORMAT function to convert one of the values.

البته در این مورد خطا واضح به نظر می رسد اما مثال زیر را در نظر بگیرید.

dax series 12 - آموزش DAX در Power Bi قسمت سوم

با وجود اینکه ستون Quantity عددی است و این ستون با مقدار عددی ۱ مقایسه شده است با خطا مواجه شدیم، چرا که اگر چه ظاهر این ستون عددی به نظر می رسد اما به صورت Text ذخیره شده است. اگر نوع داده ای این ستون را به صورت عددی تغییر دهیم، خطا رفع خواهد شد.

dax series 13 - آموزش DAX در Power Bi قسمت سوم

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



6b77990865d588b48d7f55a013cdd7ec?s=300&d=mm&r=g - آموزش DAX در Power Bi قسمت سوم

حسین وثوقی

دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...
0 0 رای
Article Rating
عضویت
به دوستتان خبر دهید.
guest
8 Comments
قدیمی ها
جدید ها بیشترین رای
Inline Feedbacks
View all comments
سجادیان
سجادیان
2 ماه و گذشته

مهندس جان عالی
ممنون بابت مطالب مفیدتون

statis
statis
2 ماه و گذشته

با سلام
ضمن تشکر از آموزش‌های مفید شما
من متوجه تفاوت استفاده از علامت — و */ نشدم
اولی برای یک خط کامنت گذاری است دومی برای چند خط؟؟؟؟

statis
statis
2 ماه و گذشته
در پاسخ به  حسین وثوقی

سلام
بسیار ممنون از پاسخ گویی شما.

mehdi
mehdi
2 ماه و گذشته

ممنون از شما
اونجایی که با — کامنت میگذاریم. نرم افزار از کجا میفهمه که کامنت تموم شده و بقیه ش فرمول ماست؟؟ چون ما علامتی نمیگذاریم که بگیم تا اینجا کامنته مثلا

8
0
عالی میشه اگر نظر بدید.x
()
x