Power Bi یک ابزار مایکروسافت است که به ما بستری میدهد تا به راحتی گزارشها و داشبوردها را با استفاده از دادهها ایجاد کنیم.
این دادهها میتوانند از هر منبعی مانند پایگاهداده بهدست آیند.
این ابزار قابلیتهای متعددی را برای دستکاری دادهها و تصاویر نیز فراهم میکند و یکی از موفقترین ابزارهای مایکروسافت برای تجسم دادهها در گزارشهای فرم یا داشبورد است.
DAX توانایی اضافی و مهمی را برای power BI فراهم میکند که استفاده و یادگیری آن بسیار آسان است.
DAX توابع زیادی مانند ()SUM() ،Cal و غیره را برای دستکاری دادهها فراهم میکند.
این توانایی، تقاضای زیادی دارد و در سراسر جهان استفاده میشود.
در این مقاله سعی داریم که به معرفی توابع dax و ویژگیهای هر کدام بپردازیم و عملکرد و کاربرد هر تابع را بررسی کنیم.
1# DAX چیست؟
DAX (Data Analysis Expressions) بیان تجزیه و تحلیل دادهها است.
DAX یک زبان تابعی است که حاوی یک کد کاملاً اجرا شده در داخل تابع است و برای تجزیه و تحلیل یا تولید دادههای جدید بر اساس دادههای موجود استفاده میشود.
این زبان نحوی ترکیبی از توابع، ثابتها و عملگرهایی است که در یک عبارت برای محاسبه مقادیر یا نتایج موردنظر استفاده میگردد.
این زبان برای کار با جداول طراحی شده است؛ به همین دلیل است که فقط دو نوع داده عددی و غیرعددی دارد.
نوع داده عددی به اعداد صحیح، اعشاری و ارز و نوع دیگر به رشته و اشیا باینری اشاره دارد.
این زبان فقط در راهاندازی POWER BI استفاده میشود و به استخراج معنای بهتر دادههای خام برای تبدیل آنها به اطلاعات معنیدار کمک میکند.
DAX از همان روز اول راهاندازی POWER BI تنظیم نشده است و در بهبودهای POWER BI راهاندازی شد و از طریق بخش وبلاگ آنها معرفی شده و سپس برای کاربران به وجود آمد تا نتایج مفید را دریافت کنند.
توابع dax در power bi نقش مهمی برای دستکاری دادهها بر اساس نیاز ما در هر زمان با توابع ساده ایفا میکنند.
این توابع در فرمولهای زبان DAX برحسب ساختار تعریفشده مورداستفاده قرار میگیرند.
2# توابع DAX
بیشترین استفاده از توابع dax در مرجع Power BI است که اطلاعات دقیقی از جمله نحو، پارامترها، مقادیر بازگشتی و مثالهایی را برای بیش از 250 تابع مورد استفاده در فرمولهای بیان تجزیه و تحلیل داده (DAX) ارائه میکند.
کتابخانه DAX شما را قادر میسازد از بسیاری از ویژگی های پیشرفته Power BI استفاده کنید.
به عنوان مثال با توابع DAX، میتوانید دادههای خود را به صورت پویا با استفاده از دستورات select ،join ،filter و بسیاری دیگر دستکاری کنید.
به این ترتیب کاربران میتوانند به داشبورد Power BI شما ورودی بدهند و بهصورت پویا دادههایی از جمله ستونهای محاسبه شده، جدولها و اندازهگیریها را تولید کنند.
یک عبارت DAX به خوبی نوشتهشده میتواند تاخیر شما را کاهش دهد و با استفاده از منابع محدود، پردازش داده را کامل کند.
3# توابع dax در Power BI کجا استفاده میشوند؟
برای استفاده از فرمولهای DAX در Power BI چهار راه وجود دارد:
- ستون محاسبه شده
- اندازهگیریهای محاسبه شده
- اقدامات جدید سریع محاسبه شده
- جدول محاسبه شده
1-3# ستونهای محاسبهشده
شما میتوانید یک ستون در جدول دادههای خود در فیلد اضافه کنید که محتوای آن ستون با استفاده از فرمولهای DAX تعریف شده و برای عملیات ردیفی استفاده میشود.
پس از اعمال فرمول DAX برای ردیفهای جدول، همان فرمول بهطور خودکار برای کل ستونهای انتخابشده اعمال میشود.
برای ایجاد یک ستون محاسبه شده دو راه وجود دارد:
- انتخاب ستون New از روبان
- برای هر محتوایی در فیلد، روی (…) کلیک راست کرده یا از منوی نمایشدادهشده، New Column را انتخاب کنید.
هنگامی که روی ستون جدید کلیک میکنید، نوار فرمول در بالای صفحه گزارش خود، آماده ایجاد یک ستون جدید و واردکردن فرمول DAX است.
2-3# اندازهگیریهای محاسبهشده
میتوانید اندازههای مربوط به فیلد خود را در جدول اضافه کنید که محتوای آن اندازهگیری، با فرمولهای DAX تعریف میشود.
این ساختار عمدتاً برای توابع جمعی مانند Sum ,Avg ,Min ,Max و غیره استفاده میشود.
دو روش برای محاسبه اندازه جدید وجود دارد:
- انتخاب اندازه جدید از روبان
- برای هر محتوایی در فیلد، روی (…) کلیک راست کرده یا اندازهگیری جدید را از منوی نمایش داده شده انتخاب کنید.
هنگامی که روی اندازهگیری جدید کلیک میکنید، نوار فرمول در بالای صفحه گزارش شما آماده است تا یک اندازهگیری جدید ایجاد کنید و فرمول DAX را وارد کنید.
3-3# اندازهگیری سریع محاسبهشده
شما همچنین میتوانید از اقدامات سریع برای انجام سریع محاسبات استفاده کنید.
محاسبه مشترک DAX از قبل ارائه شده است، فقط با یک کلیک و میتوانید یک اندازهگیری ایجاد کنید.
سه راه برای ایجاد اقدامات سریع وجود دارد:
- انتخاب اندازهگیری سریع جدید از روبان
- روی هر محتوایی در فیلد کلیک راست کرده یا (…) را انتخاب کنید و از منوی نمایش داده شده، اندازهگیری سریع جدید را انتخاب کنید.
- روی هر مقداری در Values از آن تصویر، فلش کشویی را انتخاب کنید یا فلش کشویی را انتخاب کنید و New quick measure را از منو انتخاب کنید.
هنگامی که اندازهگیری سریع جدید را باز میکنید، پنجره اندازهگیری سریع نمایش داده میشود، محاسبهای را که باید انجام دهید و فیلدهایی را برای انجام محاسبه انتخاب کنید.
برای مشاهده، یک فیلد محاسبه را انتخاب کنید تا لیست محاسبات اندازهگیری سریع موجود را ببینید.
4-3# جدول محاسبه شده
میتوانید جداول جدیدی را روی دادههایی که قبلاً در فیلد موجود است، اضافه کنید.
تفاوت اصلی بین این روشها، نوع محاسبات در زمینه آنها و خروجیهایی است که آنها تولید میکنند.
4# روش نوشتن فرمول DAX
فرمولهای توابع dax بصری و آسان برای خواندن هستند.
این باعث میشود که درک اصول اولیه DAX آسان شود تا بتوانید نسبتاً سریع شروع به نوشتن فرمولهای خود کنید.
بیایید به بلوکهای سازنده نحو مناسب DAX بپردازیم.
- نام اندازهگیری یا ستون محاسبهشده
- عملگر برابر (“=”) شروع فرمول را نشان میدهد
- یک تابع DAX
- باز کردن (و بستن) پرانتز (” () “)
- ارجاعات ستون و یا جدول
- توجه داشته باشید که هر پارامتر بعدی در یک تابع با کاما (“”) جدا میشود.
توابع dax همچنین میتوانند در داخل یکدیگر قرار بگیرند تا چندین عملیات را به طور مؤثر انجام دهند که روش میتواند زمان زیادی را هنگام نوشتن فرمولهای DAX صرفهجویی کند.
بهعنوان مثال برای اجرای فرمولهای پیچیده، اغلب نیاز است که چندین دستور IF تو در تو داشته باشید یا از تابع IFERROR برای قراردادن تابع دیگری استفاده کنید؛ به طوری که هرگونه خطا در فرمول با مقداری که شما مشخص میکنید نشان داده شود.
5# انواع توابع DAX پرکاربرد
برخی توابع dax که بر حسب انواع آن دستهبندی شدهاند در ادامه آمده است:
1-5# توابع DAX تاریخ و زمان
این توابع به شما کمک میکند تا محاسباتی را بر اساس تاریخ و زمان ایجاد کنید.
بسیاری از توابع در DAX مشابه توابع تاریخ و زمان اکسل هستند.
با این حال، اکثر توابع DAX که از نوع داده تاریخ استفاده میکنند و میتوانند مقادیری را از یک ستون بهعنوان آرگومان بگیرند.
اسامی و شرح عملکرد برخی از این توابع بهشرح زیر است:
- DATE تاریخ مشخص شده را در قالب تاریخ زمان برمیگرداند.
- DATEVALUE یک تاریخ را بهصورت متن به تاریخ در قالب datetime تبدیل میکند.
- HOUR ساعت را بهصورت عددی از 0 (12:00 صبح) تا 23 (11:00 بعد از ظهر) برمیگرداند.
- TODAY تاریخ فعلی را برمیگرداند.
- WEEKDAY عددی از 1 تا 7 را نشان میدهد که روز هفته یک تاریخ را مشخص میکند.
سایر توابع مهم توابع روز و زمان نیز به صورت زیر هستند:
- DAY روز ماه (عددی از 1 تا 31) را برمیگرداند.
- CALENDAR جدولی را با یک ستون به نام “تاریخ” که شامل مجموعهای از تاریخهای پیوسته است، برمیگرداند.
- CALENDARAUTO جدولی را با یک ستون منفرد به نام “تاریخ” که شامل مجموعهای از تاریخها بههمپیوسته است برمیگرداند.
- DATEDIFF تعداد مرزهای فاصله بین دو تاریخ را برمیگرداند.
- MINUTE دقیقه را به عنوان یک عدد از 0 تا 59، با توجه به مقدار تاریخ و زمان، برمیگرداند.
- MONTH ماه را بهصورت عددی از 1 (ژانویه) تا 12 (دسامبر) برمیگرداند.
- مقدار زمانی را بهصورت عددی از 0 تا 59 برمیگرداند.
- TIME ساعتها، دقیقهها و ثانیههای داده شده را بهعنوان اعداد به زمان در قالب تاریخ زمان تبدیل میکند.
- TIMEVALUE یک زمان را در قالب متن به زمان در قالب تاریخ زمان تبدیل میکند.
- UTCNOW تاریخ و زمان فعلی UTC را برمیگرداند.
- UTCTODAY تاریخ فعلی UTC را برمیگرداند.
- WEEKNUM شماره هفته را برای تاریخ و سال داده شده باتوجهبه مقدار return_type برمیگرداند.
- YEAR سال یک تاریخ را بهصورت یک عدد صحیح چهاررقمی در محدوده 1900-9999 برمیگرداند.
- EDATE تاریخی را برمیگرداند که تعداد ماههای مشخص شده قبل یا بعد از تاریخ شروع است.
- EOMONTH تاریخ را در قالب تاریخ آخرین روز ماه، قبل یا بعد از تعداد مشخصی از ماهها برمیگرداند.
2-5# توابع DAX اطلاعاتی
توابع اطلاعاتی برای ارائه اطلاعات خاصی در مورد مقادیر دادههای موجود در ردیفها و ستونها استفاده میشود.
این توابع شرایط دادهشده در یک تابع برای مقدار دادهشده را ارزیابی میکند و TRUE یا FALSE برمیگرداند.
برای مثال، اگر مقدار ارزیابی شده حاوی خطا باشد، تابع ISERROR TRUE را برمیگرداند.
لیست زیر به این توابع اشاره دارد:
- CONTAINS: این تابع بسته به مقادیر ستونهای ارجاعشده، true یا false را برمیگرداند. اگر همه مقادیر وجود داشته باشد، مقدار true و در غیر اینصورت false را برمیگرداند.
- CUSTOMDATA: این تابع رشته اتصال را میخواند و محتوای ویژگی CustomData آن را برمیگرداند.
- ISBLANK: این تابع پس از بررسی مقدار ورودی، true را برای خالی و false را برای هر مقدار دیگری برمیگرداند.
- USERNAME: این تابع دامنه و نام کاربری شما را که در حین راهاندازی اتصال به سیستم ارسال کردهاید، برمیگرداند.
از سایر توابع اطلاعاتی میتوان موارد زیر را یاد کرد:
- ISERROR
- ISEVEN
- ISINSCOPE
- ISLOGICAL
- ISNONTEXT
- ISNUMBER
- ISODD
- ISONORAFTER
- ISTEXT
- LOOKUPVALUE
3-5# توابع DAX منطقی
توابع منطقی برای ارزیابی منطقی یک عبارت یا آرگومان استفاده میشوند و در صورت وجود یا عدم وجود شرط، TRUE یا FALSE را برمیگردانند.
- AND: اگر هر دو آرگومان موجود در عبارت ورودی معتبر باشند، این تابع true را برمیگرداند، در غیر اینصورت false را برمیگرداند.
- IF: این تابع شرط دادهشده را بررسی میکند و بر اساس آن شرط درست یا نادرست را به شرط برآورده شدن اولین آرگومان برمیگرداند.
- NOT: این تابع مقدار عبارت ورودی را به همتای مقابل خود تغییر میدهد.
این بدان معناست که از درست به نادرست و بالعکس تغییر میکند.
- OR: اگر هر یک از آرگومان های موجود در عبارت ورودی معتبر باشد، این تابع true را برمیگرداند، در غیر اینصورت false را برمیگرداند.
- SWITCH: این تابع عبارت ورودی را با لیستی از مقادیر مطابقت میدهد و یکی از نتایج مختلف ممکن را برمیگرداند.
سایر توابع منطقی مهم به شرح زیر است:
- TRUE
- IFERROR
- IN
- FALSE
4-5# توابع DAX ریاضی و مثلثاتی
از توابع ریاضی و تریگ برای انجام انواع توابع ریاضی بر روی مقادیر ارجاع شده استفاده میشود.
در زیر، فهرستی از تمام توابع ریاضی و تریگ موجود آمده است که مفیدترین توابع dax در Power BI هستند.
- ABS: این تابع قدر مطلق عدد ورودی داده شده را با استفاده از نحو زیر برمیگرداند.
- ACOS: این تابع مقدار کسینوس معکوس یک عدد ورودی داده شده را برمیگرداند که بر حسب رادیان از 0 (صفر) تا پی است.
- CEILING: این تابع نزدیکترین مقدار گردآوری (عدد صحیح) ورودی دادهشده را با استفاده از نحو زیر برمیگرداند.
- COMBIN: این تابع تعداد ترکیبهای ممکن را برای تعداد آیتمهای داده شده در ورودی برمیگرداند.
- CURRENCY: این تابع آرگومان را ارزیابی میکند و نتیجه را بهعنوان نوع داده ارز برمیگرداند.
توابع مهم دیگر در ریاضیات و مثلثات به شرح زیر است:
- ACOSH
- ASIN
- ASINH
- ATAN
- ATANH
- DEGREES
- DIVIDE
- EVEN
- EXP
- FACT
- FLOOR
- COMBINA
- COS
- COSH
5-5# توابع DAX آماری
این توابع محاسبات آماری و تجمعی را بر روی مقادیر داده در یک عبارت DAX در Power BI انجام میدهند.
لیست توابع dax آماری موجود، در زیر آورده شده است.
- ADDCOLUMNS: این تابع جمع ستونهای محاسبهشده جدول دادهشده را انجام میدهد.
- AVERAGE: این تابع میانگین حسابی تمام اعداد یک ستون ورودی را با استفاده از نحو زیر محاسبه و برمیگرداند.
- AVERAGEA: این تابع همچنین میانگین حسابی مقادیر ستون را برمیگرداند؛ اما متن و مقادیر غیرعددی را نیز مدیریت میکند.
سایر توابع مهم در بخش آماری به شرح زیر است:
- AVERAGEX
- DIST
- INV
- COUNT
- COUNTA
- COUNTAX
- GEOMEAN
- GEOMEANX
- MAX
- MAXA
- MIN
- MINA
- MINX
6-5# توابع DAX متنی
توابع DAX متنی در Power BI بسیار شبیه توابع رشتهای اکسل هستند.
این توابع مقادیر رشته را ارزیابی میکنند.
- BLANK: این تابع به سادگی یک خالی برمیگرداند و با استفاده از نحو زیر کار میکند.
- CODE: این تابع یک مقدار (کد) عددی مربوط به اولین کاراکتر در رشته متن ورودی را برمیگرداند.
- CONCATENATE: این تابع دو رشته متن ورودی را به هم میپیوندد و یک رشته متن را با استفاده از نحو زیر برمیگرداند.
- EXACT: این تابع دو رشته متن را با هم مقایسه میکند و اگر دقیقاً یکسان باشند مقدار واقعی را برمیگرداند.
- FIND: این تابع نقطه شروع یک رشته متنی را در یک رشته متن ورودی دیگر برمیگرداند.
سایر توابع مهم متن به شرح زیر است:
- FIXED
- FORMAT
- LEFT
- LEN
- LOWER
- MID
- REPLACE
- REPT
- RIGHT
- SEARCH
- SUBSTITUTE
- TRIM
- UNICHAR
- UPPER
- VALUE
علاوه بر توابع بالا چند نوع دیگر از توابع dax هستند که در کاربردهای مختلف مورد استفاده قرار میگیرند. و
ما در اینجا فقط به معرفی کوتاه از آنها بسنده میکنیم:
1) توابع جدول
فرمولهای جدول DAX برای Power BI برای اعمال عملیات و شرایط در کل جداول استفاده میشود.
خروجی توابع جدول بهعنوان ورودی در عبارات یا آرگومانهای دیگر در فرمول DAX استفاده میشود و نتایج این توابع، روابط بین ستونهای آن جدول را حفظ میکنند.
2) توابع فیلتر
نوع و مقدار فیلتر از توابع dax از پیچیدهترین و قدرتمندترینها هستند و تفاوت زیادی با توابع اکسل دارند.
توابع جستجو با استفاده از جداول و روابط مانند پایگاهداده کار میکنند.
توابع فیلترکردن به شما امکان میدهند که زمینه داده را برای ایجاد محاسبات پویا دستکاری کنید.
3) توابع هوش زمانی
توابع اطلاعات زمانی برای ارزیابی مقادیر در یک دوره ثابت مانند روز، هفته، ماه، سهماهه، سال و غیره استفاده میشوند.
6# اهمیت توابع dax
توابع DAX در Power BI مهم هستند؛ زیرا به کاربران امکان میدهند محاسبات پیچیده و تجزیهوتحلیل دادهها را بهراحتی انجام دهند.
با DAX، کاربران میتوانند معیارها و ستونهای محاسبه شدهای ایجاد کنند که دادهها را به روشی کارآمدتر و مؤثرتر خلاصه و تجزیهوتحلیل میکنند.
همچنین به کاربران اجازه میدهند تا محاسبات پیچیدهای را ایجاد کنند که با توابع استاندارد در اکسل امکانپذیر نیست.
سخن آخر
توابع dax نقش حیاتی در افزایش قابلیتهای Power BI برای تجزیهوتحلیل و تجسم دادهها دارند.
با تسلط بر DAX، تحلیلگران داده میتوانند پتانسیل کامل Power BI را باز کنند و بینش ارزشمندی را از دادههای خود به دست آورند.
ازآنجاییکه سازمانها همچنان بر تصمیمگیری مبتنی بر داده تکیه میکنند، مهارت در DAX برای متخصصان داده که به دنبال پیشرفت شغلی خود در زمینه تجزیهوتحلیل هستند، ارزش فزایندهای پیدا کرده است.
با تمرین و یادگیری مداوم، تحلیلگران داده میتوانند از قدرت DAX برای ایجاد بینش و ارزش معنادار برای سازمان خود استفاده کنند.
نظرتون درباره این مقاله چیه؟
ما رو راهنمایی کنید تا اون رو کامل تر کنیم و نواقصش رو رفع کنیم.
توی بخش دیدگاه ها منتظر پیشنهادهای فوق العاده شما هستیم.