پرکاربردترین توابع زبان DAX در هوش تجاری ۲۰۲۴

پرکاربردترین توابع زبان DAX در هوش تجاری ۲۰۲۴

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۱۸ تیر ۱۴۰۳
آخرین بروزرسانی: ۱۹ تیر ۱۴۰۳
زمان مطالعه: 15 دقیقه
۵
(۲)

توابع زبان DAX برای آن‌هایی که با فرمول‌های اکسل کار کرده‌اند، بسیار ساده‌اند. DAX یکی از ابزارهای قدرتمند در دنیای هوش تجاری است که به کاربران اجازه می‌دهد تحلیل‌های پیچیده‌ای را در Power BI ، Excel Power Pivot و SQL Server Analysis Services انجام دهند. با استفاده از این توابع، کاربران می‌توانند مدل‌های داده‌ای پیچیده‌تری بسازند، تحلیل‌های دقیق‌تری انجام دهند و گزارش‌های مؤثرتری ارائه کنند. در این مقاله، به بررسی انواع توابع DAX خواهیم پرداخت و کاربردهای مختلف آن‌ها را با مثال‌های کد و تصاویر توضیح خواهیم داد تا آن‌هایی که هیچ چیزی از فرمول‌نویسی نمی‌دانند هم به‌سادگی با این توابع تحلیل کنند.

دوره آموزش تخصصی DAX نیک آموز

زبان DAX چیست؟

زبان Data Analysis Expressions یا DAX یک زبان فرمول‌نویسی است که در Microsoft Power BI , SQL SSAS و Excel Power Pivot برای انجام تحلیل‌های پیچیده و محاسبات، مورد استفاده قرار می‌گیرد. DAX ترکیبی از توابع اکسل و عملیات پایگاه داده است که به کاربران این امکان را می‌دهد که با داده‌ها به شکلی قدرتمند و انعطاف‌پذیر تعامل داشته باشند.

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

اهمیت و کاربرد DAX در هوش تجاری

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

اگر از ابزار Power BI استفاده می‌کنید، احتمالاً ایجاد گزارش در آن برایتان به‌سادگی آب خوردن است؛ اما اگر نیاز باشد که درصد رشد در بین دسته‌‌بندی‌های محصول را در بازه‌های زمان مختلف آنالیز کنید، چه؟ یا مثلاً بخواهید رشد سال به سال را در مقایسه با روند بازار محاسبه کنید؟ توابع DAX این قابلیت و بسیاری از قابلیت‌های مهم دیگر را نیز فراهم می‌کنند. یادگیری نحوه ایجاد فرمول‌های مؤثر DAX به شما کمک می کند بیشترین بهره را از داده‌های خود ببرید. هنگامی که اطلاعات موردنیاز خود را دریافت کردید، می‌توانید شروع به حل مشکلات واقعی کسب‌وکار کنید که بر سود شما تأثیر می‌گذارد.

نحوه عملکرد توابع زبان DAX در هوش تجاری چگونه است؟

DAX از توابع و فرمول‌هایی تشکیل شده است که برروی داده‌ها اعمال می‌شوند تا نتایج موردنظر به‌دست آید. اگر با فرمول‌های اکسل آشنایی داشته باشید، یادگیری توابع زبان DAX برایتان ساده‌تر خواهد بود. اما اگر چنین دانشی را ندارید هم جای نگرانی وجود ندارد؛ چراکه در این مطلب، به‌خوبی خواهید آموخت با توابع زبان DAX کار کنید. این زبان به شما اجازه می‌دهد تا محاسبات پیچیده‌ای مانند ایجاد مقادیر محاسباتی جدید، فیلترکردن داده‌ها و ترکیب داده‌ها از منابع مختلف را انجام دهید. این عملیات می‌تواند به‌طور همزمان برروی مقادیر زیادی از داده‌ها اعمال شود و نتایج سریع و دقیقی را به‌همراه داشته باشد.

مفاهیم پایه در توابع زبان DAX

پیش از آن که وارد تابع‌نویسی با Dax شویم و فرمول‌ها را معرفی کنیم، لازم است با برخی مفاهیم آشنا شویم. در این بخش، به معرفی مفاهیم پایه‌ای در دکس، یعنی دستورات، توابع و متن‌های محیطی، می‌پردازیم که برای ایجاد فرمول‌های پیچیده و محاسباتی در Power BI و محیط‌های مشابه، به آن نیاز داریم.

دستورات (Syntax)

قبل از اینکه به ایجاد فرمول‌های خود بپردازیم، نیاز است که به ساختار دستوری توابع زبان DAX نگاهی بیندازیم. ساختار نحوی یا همان سینتکس، شامل عناصر مختلفی است که یک فرمول را تشکیل می‌دهند و نحوه نوشتن آن را مشخص می‌کنند. به‌عنوان مثال، فرمول ساده‌ای از یک معیار به شرح زیر است:

 

TotalSales=SUM(Sales[SalesAmount])Total Sales = 
SUM(Sales[SalesAmount])TotalSales=SUM(Sales[SalesAmount])

 

دستورات (Syntax) در Dax

 

به این تصویر و فرمول بالا توجه کنید. در بخش بعدی، به معرفی هر یک از المان‌های آن می‌پردازیم:

 

مفاهیم پایه در توابع زبان DAX - دستورات (Syntax)

 

  1. A. نام معیار، که همان Total Sales است.
  2. B. علامت مساوی (=) که شروع فرمول را نشان می‌دهد و نتیجه محاسباتی را برمی‌گرداند.
  3. C. تابع DAX SUM که مجموع اعداد در ستون Sales Amount را محاسبه می‌کند.
  4. D. پرانتز () که یک عبارت را دربرمی‌گیرد و شامل یک یا چند آرگومان است. اکثر توابع به حداقل یک آرگومان نیاز دارند تا یک مقدار را به یک تابع منتقل می‌کند.
  5. E. جدول مرجع، Sales.
  6. F. ستون مرجع، [SalesAmount]، در جدول Sales. با این آرگومان، تابع SUM می‌داند که برروی کدام ستون باید مجموع اعداد را انجام دهد.

برای درک بهتر یک فرمول DAX، هر یک از عناصر را به زبانی که در روزمره صحبت می‌کنید، تجزیه‌وتحلیل کنید. به‌عنوان مثال، می‌توانید این فرمول را به این شکل خوانایی بدهید: «برای معیاری به نام Total Sales، جمع (SUM) ارقام موجود در ستون [SalesAmount] در جدول Sales را محاسبه کن.»

این معیار به‌صورت یک ستون اضافه‌شده به گزارش، مقادیر را با جمع‌زدن مقادیر فروش برای هر یک از سایر فیلدهای ما محاسبه و برمی‌گرداند؛ به‌عنوان مثال، فروش موبایل‌ها در آمریکا.

توابع پایه و ستون‌ های محاسباتی

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

 

مفاهیم پایه در توابع زبان DAX - توابع پایه و ستون‌ های محاسباتی

 

فیلدهای محاسباتی 

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

با اینکه این توابع و فیلدها ممکن است در ابتدا کمی پیچیده به نظر برسند، اما با پیشرفت مهارت‌های فرمول‌نویسی با توابع زبان DAX، می‌توانید مدل‌های خود را بهبود بخشیده و گزارش‌ها و داشبوردهای بیشتری ارائه دهید.

درنهایت، موجودیت‌های محاسباتی و فیلدهای محاسباتی باید بادقت براساس سینتکس صحیحی تعریف شوند تا به‌درستی کار و نتایج مطلوب را تولید کنند. ویرایشگر DAX در Power BI Desktop با ویژگی پیشنهادها، به شما کمک می‌کند تا فرمول‌هایی با سینتکس صحیح ایجاد کنید و عملکرد مطلوب را به‌دست آورید.

آشنایی با انواع توابع زبان DAX

توابع زبان DAX به پنج دسته اصلی تقسیم می‌شوند: توابع تاریخ و زمان، توابع اطلاعات، توابع منطقی، توابع ریاضی و مثلثاتی و توابع متنی. در ادامه، به بررسی هر یک از این دسته‌ها به‌همراه توضیحات، کدهای نمونه، مثال‌ها و کاربردهای آن‌ها می‌پردازیم.

توابع تاریخ و زمان (Date and Time Functions)

توابع تاریخ و زمان در DAX به ما کمک می‌کنند تا با داده‌های تاریخ و زمان کار کنیم. این توابع برای تحلیل‌های زمانی، محاسبات تاریخ‌های خاص و ساخت تاریخ‌های سفارشی بسیار مفید هستند.

  • تابع DATE 

 تابع Date در توابع زبان DAX ، یک تاریخ مشخص را براساس سال، ماه و روز می‌سازد.

 

DATE(2023, 7, 3)

 

برای ساخت تاریخ دقیق از اجزای تاریخ برای استفاده در تحلیل‌های زمانی، می‌توانید از این تابع کمک بگیرید. 

  • تابع YEAR

این تابع از توابع زبان DAX می‌تواند یک عدد ۱ تا ۴ رقمی باشد و سال مربوط به تاریخ داده‌شده را برمی‌گرداند. 

اگر برای استخراج سال از تاریخ به دسته‌بندی یا فیلتر داده‌ها براساس سال نیاز دارید، از این تابع استفاده کنید. 

 

مفاهیم پایه در توابع زبان DAX - تابع YEAR

 

  • تابع MONTH

این تابع از توابع زبان DAX ، ماه تاریخ داده شده را برمی‌گرداند. برای استخراج ماه از تاریخ برای تحلیل‌های ماهانه هم می‌توانید از این تابع استفاده کنید. در تصویر بالا کنار تابع سال، نمونه‌ای از تابع Month را نیز می‌بینید. واضح است که اعداد صحیح منفی در این تابع پشتیبانی نمی‌شوند و مقادیر معتبر بین ۱-۱۲ هستند. یادتان باشد که این اعداد، به ترتیب‌ تقویم میلادی درج می‌شوند؛ یعنی ۱ نشان‌دهنده ژانویه، ۲ نشان‌دهنده فوریه، و به همین ترتیب تا ۱۲ که نماینده دسامبر است. اگر یک عدد صحیح بزرگ‌تر از ۱۲ وارد کنید، تاریخ با افزودن مقدار ماه به سال محاسبه می‌شود. به‌عنوان مثال، اگر DATE (2008, 18, 1) داشته باشید، تابع مقدار datetime معادل ۱ ژوئن ۲۰۰۹ را برمی‌گرداند؛ زیرا ۱۸ ماه به ابتدای سال ۲۰۰۸ اضافه می‌شود و مقدار ژوئن ۲۰۰۹ به‌دست می‌آید.

 

DATE (2008, 18, 1)

 

  • تابع DAY

این تابع، روز تاریخ داده شده را برمی‌گرداند و مقادیر معتبر در آن اعداد صحیح بین ۱-۳۱ هستند. بنابراین، اگر عددی اعشاری در این تابع وارد کنید، به‌طور خودکار به بالا گرد می‌شود. اگر یک عدد صحیح بزرگ‌تر از آخرین روز ماه داده‌شده وارد کنید، تاریخ با افزودن مقدار روز به ماه محاسبه می‌شود. به‌عنوان مثال، در فرمول DATE(2008, 3, 32)، تابع DATE مقدار datetime معادل ۱ آوریل ۲۰۰۸ را برمی‌گرداند؛ زیرا ۳۲ روز به ابتدای مارس اضافه می‌شود که مقدار ۱ آوریل را به‌وجود می‌آورد.

 

DATE(2008, 3, 32)

 

توابع اطلاعات (Information Functions)

از میان توابع زبان DAX ، توابع اطلاعات به ما کمک می‌کنند تا نوع یا وضعیت داده‌ها را بررسی کنیم. این توابع برای بررسی خالی‌بودن مقادیر، نوع داده‌ها و شرایط خاص، بسیار مفید هستند.

  • تابع ISBLANK

این تابع بررسی می‌کند که آیا مقدار خالی (blank) است یا خیر.

 

ISBLANK([Sales])

 

کاربرد این تابع، بررسی مقادیر خالی در ستون‌ها برای شناسایی داده‌های ناقص یا مشکلات داده است. به‌طور مثال، اگر از یک ابزار شخص ثالث خروجی اکسل گرفته باشید و برخی سلول‌ها در آن خالی باشند و بخواهید سلول‌های خالی را مثلاً با مقدار ۰ پرکنید، می‌توانید از تابع ISBLANK استفاده کنید. 

  • تابع ISNUMBER

این تابع بررسی می‌کند که آیا مقدار عددی است یا خیر.

 

ISNUMBER([ProductPrice])

 

فرض کنید که به‌عنوان تحلیلگر داده، خروجی‌های مختلفی را از تیم‌های مختلف دریافت و آن‌ها را ادغام کرده‌اید، اما برخی تیم‌ها، میزان فروش را با عدد و برخی دیگر، به‌صورت کیفی و با کلمات توصیفی پرکرده‌اند. یا مثلاً برخی به عدد و دیگران به حروف مقادیر را نوشته‌اند. در این شرایط، می‌توانید از تابع ISNUMBER کمک بگیرید تا با خروجی True/False به شما نشان بدهد آیا در سلول‌های موردنظر شما عدد درج شده یا خیر. 

  • تابع ISERROR

این تابع بررسی می‌کند که آیا یک فرمول یا تابع، خطا تولید می‌کند یا خیر.

 

ISERROR([Calculation])

 

کاربرد این تابع، شناسایی و مدیریت خطاها در محاسبات است. مثلاً اگر در ستون B بایستی ضریب ۳ مقادیر ستون A را درج می‌کرده‌اید اما برخی سلول‌ها اشتباه پر شده‌اند، با کمک این تابع می‌توانید آن‌ها را تشخیص دهید. 

توابع منطقی (Logical Functions)

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

  • تابع IF

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

 

IF([Sales] > 1000, "High", "Low")

 

کاربرد: دسته‌بندی داده‌ها براساس شرط مشخص؛ مانند تقسیم‌بندی فروش به بالا و پایین.

  • تابع AND

این تابع بررسی می‌کند که آیا همه شرایط درست هستند یا خیر.

 

AND([Sales] > 500, [Profit] > 100)

 

برای بررسی چندین شرط به‌صورت هم‌زمان برای اطمینان از صحت چندین معیار می‌توانید از این تابع استفاده کنید. در تصویر زیر، به‌کارگیری هم‌زمان دو تابع IF و AND را مشاهده می‌کنید:

 

تابع AND در توابع زبان dax

 

  • تابع OR

این تابع بررسی می‌کند که آیا حداقل یکی از شرایط درست است یا خیر. در مثال زیر، دو شرط برای تابع تعریف شده است. اگر فروش بیش از ۵۰۰ یا اینکه سود بیش از ۱۰۰ باشد، تابع OR مقادیر را True درنظر می‌گیرد:

 

OR([Sales] > 500, [Profit] > 100)

 

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

  • تابع NOT

این تابع، نتیجه یک شرط را معکوس می‌کند. مثلاً در مثال زیر می‌بینید که درون پرانتز، شرطی تعریف شده است (فروش بیش از ۵۰۰). اما با قرارگرفتن NOT در ابتدای تابع، هر فروشی که بیشتر از ۵۰۰ نباشد، نمایش داده می‌شود. 

 

NOT([Sales] > 500)

 

کاربرد این تابع از توابع زبان DAX در معکوس‌کردن نتیجه یک شرط برای بررسی حالت‌های مختلف است. 

توابع ریاضی و مثلثاتی (Math and Trig Functions)

توابع ریاضی و مثلثاتی در DAX برای انجام محاسبات عددی و تحلیلی استفاده می‌شوند. این توابع برای محاسبه میانگین، مجموع و سایر عملیات ریاضی مفید هستند.

  • تابع SUM

این تابع، جمع مقادیر یک ستون را محاسبه می‌کند.

 

SUM([Sales])

 

کاربرد: محاسبه جمع مقادیر فروش برای تحلیل عملکرد فروش.

  • تابع AVERAGE

این تابع، میانگین مقادیر یک ستون را محاسبه می‌کند.

 

AVERAGE([Sales])

 

کاربرد: محاسبه میانگین فروش برای ارزیابی عملکرد میانگین.

  • تابع MIN

این تابع، کمترین مقدار یک ستون را برمی‌گرداند.

 

MIN([Sales])

 

کاربرد: شناسایی کمترین مقدار در داده‌ها برای تحلیل نقاط ضعف.

  • تابع MAX

این تابع بیشترین مقدار یک ستون را برمی‌گرداند.

 

MAX([Sales])

 

کاربرد: شناسایی بیشترین مقدار در داده‌ها برای تحلیل نقاط قوت.

  • تابع ROUND

این تابع از توابع زبان DAX یک عدد را به تعداد مشخصی از ارقام اعشار گرد می‌کند.

 

ROUND([Sales], 2)

 

کاربرد: گردکردن مقادیر برای نمایش دقیق‌تر یا تطابق با نیازهای گزارش‌دهی.

توابع متنی (Text Functions)

توابع متنی به ما امکان می‌دهند تا با رشته‌های متنی کار کنیم. این توابع برای ترکیب، استخراج و دستکاری متن‌ها بسیار مفید هستند.

  • تابع CONCATENATE

این تابع، دو رشته متنی را به‌هم متصل می‌کند.

 

CONCATENATE("Hello", "World")

 

کاربرد: اتصال دو متن به‌هم برای ساختن رشته‌های جدید.

  • تابع LEFT

این تابع کاراکترهای سمت چپ یک رشته را برمی‌گرداند.

 

LEFT([ProductName], 3)

 

مفاهیم پایه در توابع زبان DAX

 

کاربرد: استخراج کاراکترهای سمت چپ از یک متن برای تحلیل یا نمایش بخشی از متن.

  • تابع RIGHT

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

 

RIGHT([ProductName], 3)

 

کاربرد: استخراج کاراکترهای سمت راست از یک متن برای تحلیل یا نمایش بخشی از متن.

  • تابع LEN

این تابع از توابع زبان DAX طول یک رشته متنی را برمی‌گرداند.

 

LEN([ProductName])

 

توابع زبان DAX

 

کاربرد: اندازه‌گیری طول متن برای تحلیل یا محدودیت‌های داده.

  • تابع UPPER

این تابع تمامی کاراکترهای یک رشته را به حروف بزرگ تبدیل می‌کند.

 

UPPER([ProductName])

 

کاربرد: تبدیل متن به حروف بزرگ برای یکسان‌سازی نمایش متن.

  • تابع LOWER

این تابع تمامی کاراکترهای یک رشته را به حروف کوچک تبدیل می‌کند.

 

LOWER([ProductName])

 

کاربرد این تابع، تبدیل متن به حروف کوچک برای یکسان‌سازی نمایش متن است. مثلاً Installment AND Review را به installment and review تبدیل می‌کند. 

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

نتیجه‌ گیری: آشنایی با توابع زبان DAX

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

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۲

اولین نفر باش

title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
309 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
معرفی محصول
دوره آموزش تخصصی DAX
حمیدرضا حداد

دوره آموزش تخصصی DAX

1.190.000 تومان 714.000 تومان
title sign
دیدگاه کاربران

ثبت‌نام دوره‌های آنلاین تابستانه نیک‌آموز شروع شد 🏄
مشاهده سرفصل و رزرو رایگان
close-image