خانه هوش تجاری پرکاربرد ترین توابع زبان DAX در هوش تجاری ۲۰۲۴ هوش تجاری Power BI نوشته شده توسط: تیم فنی نیک آموز تاریخ انتشار: ۱۸ تیر ۱۴۰۳ آخرین بروزرسانی: ۲۸ آبان ۱۴۰۳ زمان مطالعه: 16 دقیقه ۴ (۳) توابع زبان DAX برای آنهایی که با فرمولهای اکسل کار کردهاند، بسیار سادهاند. DAX یکی از ابزارهای قدرتمند در دنیای هوش تجاری است که به کاربران اجازه میدهد تحلیل های پیچیدهای را در Power BI ، Excel Power Pivot و SQL Server Analysis Services انجام دهند. با استفاده از این توابع، کاربران میتوانند مدلهای دادهای پیچیده تری بسازند، تحلیلهای دقیق تری انجام دهند و گزارشهای مؤثر تری ارائه کنند. در این مقاله، به بررسی انواع توابع DAX خواهیم پرداخت و کاربردهای مختلف آنها را با مثالهای کد و تصاویر توضیح خواهیم داد تا آنهایی که هیچ چیزی از فرمول نویسی نمیدانند هم بهسادگی با این توابع تحلیل کنند. مشاهده و خرید کاملترین دوره Power bi از نیک آموز زبان 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]) به این تصویر و فرمول بالا توجه کنید. در بخش بعدی، به معرفی هر یک از المان های آن میپردازیم: A. نام معیار، که همان Total Sales است. B. علامت مساوی (=) که شروع فرمول را نشان میدهد و نتیجه محاسباتی را برمیگرداند. C. تابع DAX SUM که مجموع اعداد در ستون Sales Amount را محاسبه میکند. D. پرانتز () که یک عبارت را در بر میگیرد و شامل یک یا چند آرگومان است. اکثر توابع به حداقل یک آرگومان نیاز دارند تا یک مقدار را به یک تابع منتقل میکند. E. جدول مرجع، Sales. F. ستون مرجع، [SalesAmount]، در جدول Sales. با این آرگومان، تابع SUM میداند که بر روی کدام ستون باید مجموع اعداد را انجام دهد. برای درک بهتر یک فرمول DAX، هر یک از عناصر را به زبانی که در روزمره صحبت میکنید، تجزیهوتحلیل کنید. بهعنوان مثال، میتوانید این فرمول را به این شکل خوانایی بدهید: «برای معیاری به نام Total Sales، جمع (SUM) ارقام موجود در ستون [Sales Amount] در جدول Sales را محاسبه کن.» این معیار به صورت یک ستون اضافه شده به گزارش، مقادیر را با جمعزدن مقادیر فروش برای هر یک از سایر فیلدهای ما محاسبه و برمیگرداند؛ بهعنوان مثال، فروش موبایلها در آمریکا. توابع پایه و ستون های محاسباتی توابع زبان DAX فرمولهای پیش نویس شدهای هستند که امکان انجام محاسبات و پردازشهای پیچیده را با اعداد، تاریخها، زمان ها، متن و سایر مقادیر فراهم میآورند. این توابع به شما کمک میکنند تا به سادگی محاسبات پیچیده تری مانند تجمیع، فیلتر کردن و تبدیل دادهها را انجام دهید. فیلد های محاسباتی ستونها و فیلدهای محاسباتی به شما این امکان را میدهند که دادههای جدیدی را براساس محاسبات دلخواه ایجاد کنید که بهطور خودکار، محاسبات خاصی را انجام داده و نتیجه را در گزارشها و داشبوردها نمایش میدهند. این ابزارها به شما این امکان را میدهند که مدل داده خود را با دقت بیشتری سازماندهی و مدیریت کنید. با اینکه این توابع و فیلدها ممکن است در ابتدا کمی پیچیده به نظر برسند، اما با پیشرفت مهارتهای فرمول نویسی با توابع زبان DAX، میتوانید مدلهای خود را بهبود بخشیده و گزارش ها و داشبورد های بیشتری ارائه دهید. درنهایت، موجودیتهای محاسباتی و فیلدهای محاسباتی باید بادقت براساس سینتکس صحیحی تعریف شوند تا به درستی کار و نتایج مطلوب را تولید کنند. ویرایشگر DAX در Power BI Desktop با ویژگی پیشنهادها، به شما کمک میکند تا فرمول هایی با سینتکس صحیح ایجاد کنید و عملکرد مطلوب را بهدست آورید. آشنایی با انواع توابع زبان DAX توابع زبان DAX به پنج دسته اصلی تقسیم میشوند: توابع تاریخ و زمان، توابع اطلاعات، توابع منطقی، توابع ریاضی و مثلثاتی و توابع متنی. در ادامه، به بررسی هر یک از این دسته ها به همراه توضیحات، کد های نمونه، مثال ها و کاربرد های آنها میپردازیم. توابع تاریخ و زمان (Date and Time Functions) توابع تاریخ و زمان در DAX به ما کمک میکنند تا با دادههای تاریخ و زمان کار کنیم. این توابع برای تحلیلهای زمانی، محاسبات تاریخ های خاص و ساخت تاریخهای سفارشی بسیار مفید هستند. تابع DATE تابع Date در توابع زبان DAX ، یک تاریخ مشخص را براساس سال، ماه و روز میسازد. DATE(2023, 7, 3) برای ساخت تاریخ دقیق از اجزای تاریخ برای استفاده در تحلیل های زمانی، میتوانید از این تابع کمک بگیرید. تابع YEAR این تابع از توابع زبان DAX میتواند یک عدد ۱ تا ۴ رقمی باشد و سال مربوط به تاریخ دادهشده را برمیگرداند. اگر برای استخراج سال از تاریخ به دسته بندی یا فیلتر دادهها براساس سال نیاز دارید، از این تابع استفاده کنید. تابع 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 را مشاهده میکنید: تابع 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) کاربرد: استخراج کاراکترهای سمت چپ از یک متن برای تحلیل یا نمایش بخشی از متن. تابع RIGHT این تابع، کاراکترهای سمت راست یک رشته را برمیگرداند و درست در خلاف جهت تابع قبلی عمل میکند. RIGHT([ProductName], 3) کاربرد: استخراج کاراکترهای سمت راست از یک متن برای تحلیل یا نمایش بخشی از متن. تابع LEN این تابع از توابع زبان DAX طول یک رشته متنی را برمیگرداند. LEN([ProductName]) کاربرد: اندازه گیری طول متن برای تحلیل یا محدودیتهای داده. تابع UPPER این تابع تمامی کاراکترهای یک رشته را به حروف بزرگ تبدیل میکند. UPPER([ProductName]) کاربرد: تبدیل متن به حروف بزرگ برای یکسان سازی نمایش متن. تابع LOWER این تابع تمامی کاراکترهای یک رشته را به حروف کوچک تبدیل میکند. LOWER([ProductName]) کاربرد این تابع، تبدیل متن به حروف کوچک برای یکسان سازی نمایش متن است. مثلاً Installment AND Review را به installment and review تبدیل میکند. استفاده از توابع زبان DAX میتواند به تحلیلهای پیچیده تر و گزارش دهی دقیق تر در Power BI و سایر ابزارهای مرتبط کمک کند. این توابع با ترکیب و پردازش دادهها، اطلاعات ارزشمندی را برای تصمیم گیریهای تجاری فراهم میکنند. سخن پایانی آشنایی با توابع زبان DAX و استفاده مؤثر از آنها میتواند تحلیل دادهها را به سطح بالاتری برساند و به کاربران کمک کند، تا با دادهها به شکل کار آمدتری کار کنند. توابع DAX نه تنها امکان انجام محاسبات پیچیده را فراهم میآورند، بلکه به کاربران اجازه میدهند تا دادهها را به شیوهای ساختارمند و دقیق تحلیل کنند. با تسلط بر این توابع، میتوان به بینشهای ارزشمندی دست یافت که تصمیم گیریهای تجاری را بهبود میبخشند و کسب و کارها را به سمت موفقیت هدایت میکنند. نیک آموز در بخش نظرات، مشتاق خواندن دیدگاه و تجربه شما است؛ پس همین حالا آن را با ما در میان بگذارید. چه رتبه ای میدهید؟ میانگین ۴ / ۵. از مجموع ۳ اولین نفر باش معرفی نویسنده مقالات 402 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز معرفی محصول حمیدرضا حداد دوره آموزش تخصصی DAX 1.190.000 تومان مقالات مرتبط ۳۰ آبان هوش تجاری power bi چیست و چرا تجزیه و تحلیل دادهها در کسب و کار اهمیت دارد؟ ۰۶ آبان هوش تجاری گذشته، حال و آینده معماری داده نگین فاتحی ۲۴ مهر هوش تجاری اشتباهات مصورسازی داده ها و راهکارهای عملی و ساده برای اجتناب از آنها نگین فاتحی ۰۹ مهر هوش تجاری dbt در ETL و ELT چیست و چه مزایایی دارد؟ نگین فاتحی دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ