مقدماتی در آشنایی با DAX

عبارات تحلیل داده  یا DAX که مخفف Data Analysis Expressions  می‌باشد، ممکن است در ابتدا کمی ترسناک به نظر برسد ولی نام این زبان فرمول نویسی نباید شما را فریب دهد. اصول اولیه زبان فرمول نویسی dax و استفاده از توابع آن بسیار ساده هستند و فهم آنها بسیار آسان است. در ابتدا باید گفت که  فرمول نویسی Dax یک زبان برنامه نویسی نیست، بلکه یک زبان فرمول نویسی است و به راحتی می توانید از توابع آن استفاده کنید. شما میتوانید با استفاده از Dax محاسبات مورد نظر خود را بر روی ستون های محاسباتی و مقیاس ها(فیلدهای محاسباتی) در پاور پیوت انجام دهید. Dax شامل تعدادی از فرمول های موجود در اکسل به همراه توابعی دیگر که برای کار با داده های ارتباطی و انجام محاسبات پویا مورد استفاده قرار میگیرند، میشود.

DAX یک زبان فرمول نویسی است که در مدل های جدولی Power BI Desktop ، SQL Server Analysis Services،   و Power Pivot مورد استفاده قرار میگیرد. فرمول های DAX شامل توابع، عملگرها و مقادیر برای انجام محاسبات و کوئری­های پیشرفته بر روی داده های موجود در جداول مرتبط و ستون ها در مدل های داده­ ای جدولی هستند.

dax

این مقاله مقدمه­ای برای مهمترین مفاهیم در DAX ارائه می­دهد و تمام قابلیت­های مورد استفاده آن در محصولات مختلف را بیان می­کند. قابل ذکر است که برخی از این قابلیت ها ممکن است برای محصولات یا موارد خاص مورد استفاده نباشد.

 

کوئری ها

کوئری های DAX را می­توان در محیطSSMS و ابزارهای متن باز مانندDAX Studio  ایجاد و راه اندازی کرد. برخلاف فرمول های محاسباتی DAX، که می­تواند فقط در مدل­های داده­ای  جدولی ایجاد شود، کوئری های DAX بر روی مدل های تحلیلی چند بعدی قابل اجرا می­باشد.

 

توابع

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

فراوانی توابع

از توابع DAX می­ توان به موارد زیر اشاره کرد:

  • توابع تاریخ و زمان

CALENDAR, CALENDARAUTO, DATE, DATEDIFF, DATEVALUE, DAY, EDATE , EOMONTH , HOUR , MINUTE, MONTH, NOW, SECOND, TIME, TIMEVALUE, TODAY, WEEKDAY, WEEKNUM, YEAR, YEARFRAC

  • توابع فیلتر

ADDMISSINGITEMS, ALL, ALLEXCEPT, ALLNOBLANKROW, ALLSELECTED, CALCULATE, CALCULATETABLE, CROSSFILTER function, DISTINCT, EARLIER, EARLIEST, FILTER, FILTERS, HASONEFILTER, HASONEVALUE, ISCROSSFILTERED, ISFILTERED, KEEPFILTERS, RELATED, RELATEDTABLE, SELECTEDVALUE, SUBSTITUTEWITHINDEX, USERELATIONSHIP, VALUES

  • توابع اطلاعات

CONTAINS, CUSTOMDATA, ISBLANK, ISERROR, ISEVEN, ISINSCOPE, ISLOGICAL, ISNONTEXT, ISNUMBER, ISONORAFTER, ISTEXT, LOOKUPVALUE, USERNAME

  • توابع منطقی

AND, FALSE, IF, IFERROR, NOT, OR, SWITCH, TRUE

  • توابع ریاضی و مثلثاتی

ABS, ACOS, ACOSH, ASIN, ASINH, ATAN, ATANH, CEILING, COMBIN, COMBINA, COS, COSH, CURRENCY, DEGREES, DIVIDE, EVEN, EXP, FACT, FLOOR, GCD, INT, ISO.CEILING, LCM, LN, LOG, LOG10, INT, MROUND, ODD, PI, POWER, PRODUCT, PRODUCTX, QUOTIENT, RADIANS, RAND, RANDBETWEEN, ROUND, ROUNDDOWN, ROUNDUP, SIGN, SQRT, SUM, SUMX, TRUNC

  • توابع آماری

ADDCOLUMNS, APPROXIMATEDISTINCTCOUNT, AVERAGE, AVERAGEA, AVERAGEX, BETA.DIST, BETA.INV, CHISQ.INV, CHISQ.INV.RT, CONFIDENCE.NORM, CONFIDENCE.T, COUNT, COUNTA, COUNTAX, COUNTBLANK, COUNTROWS, COUNTX, CROSSJOIN, DATATABLE function, DISTINCTCOUNT, EXPON.DIST, GENERATE, GENERATEALL, GEOMEAN, GEOMEANX, MAX, MAXA, MAXX, MEDIAN, MEDIANX, MIN, MINA, MINX, NORM.DIST, NORM.INV, NORM.S.DIST, NORM.S.INV (DAX) , PERCENTILE.EXC, PERCENTILE.INC, PERCENTILEX.EXC, PERCENTILEX.INC, POISSON.DIST, RANK.EQ, RANKX, ROW, SAMPLE, SELECTCOLUMNS, SIN, SINH, STDEV.P, STDEV.S, STDEVX.P, STDEVX.S, SQRTPI, SUMMARIZE, T.DIST, T.DIST.2T, T.DIST.RT, T.INV, T.INV.2t, TAN, TANH, TOPN, VAR.P, VAR.S, VARX.P, VARX.S, XIRR, XNPV

  • توابع متنی

BLANK, CODE, CONCATENATE, CONCATENATEX, EXACT, FIND, FIXED, FORMAT, LEFT, LEN, LOWER, MID, REPLACE, REPT, RIGHT, SEARCH, SUBSTITUTE, TRIM, UNICHAR, UPPER, VALUE

 

نوع داده

DAX می تواند محاسبات را برای هفت نوع داده انجام دهد:

  • Integer
  • Real
  • Currency
  • Date (datetime)
  • TRUE/FALSE (Boolean)
  • String
  • BLOB (binary large object)

کجا از فرمولهای DAX استفاده کنیم؟

به طور مثال شما می توانید فرمول ها را در Power Pivot یا در ستون های محاسبه شده یا در محدوده محاسبه ایجاد کنید.

ستون محاسبه شده:

ستون محاسبه ستونی است که شما به یک جدول پویای موجود اضافه می کنید. به جای افزودن یا وارد کردن مقادیر در ستون، یک فرمول DAX ایجاد می کند که مقادیر ستون را تعریف می کند. اگر شما جدول Power Pivot را در PivotTable یا PivotChart قرار دهید، ستون محاسبه شده را می توان به عنوان هر ستون داده دیگر مورد استفاده قرار داد.

power-pivot

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

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

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

پاسخ دهید