ستونهای محاسباتی (Calculated Columns) در Power BI به شما اجازه میدهند با استفاده از زبان DAX دادههای جدیدی را از دادههای موجود ایجاد کنید. این قابلیت برای تحلیلهای پیشرفته، ایجاد دستهبندی، محاسبه مقادیر سفارشی و افزایش قدرت مدل دادهها بسیار کاربردی است. در این مقاله با مفهوم، نحوه ایجاد، تفاوت آن با Measures و نکات بهینهسازی ستونهای محاسباتی آشنا میشویم.
وقتی با دادهها در Power BI کار میکنید، گاهی لازم است دادههای جدیدی بر اساس ستونهای موجود بسازید. بهجای تغییر منبع داده یا ایجاد جداول کمکی، میتوانید از DAX Calculated Columns استفاده کنید. این ستونها در مدل داده ذخیره میشوند و میتوان از آنها در ویژوالها، فیلترها و محاسبات دیگر استفاده کرد.
DAX Calculated Column چیست؟
یک ستون محاسباتی ستونی است که درون مدل داده ایجاد میشود و مقدار آن برای هر سطر با استفاده از یک فرمول DAX محاسبه میگردد. این ستونها در جداول داده قرار میگیرند و مانند ستونهای معمولی قابل استفاده هستند.
نحوه ایجاد Calculated Column
برای ایجاد یک ستون محاسباتی در Power BI Desktop:
- جدول موردنظر را انتخاب کنید.
- از منوی Modeling روی New Column کلیک کنید.
- فرمول DAX موردنظر را بنویسید.
- ستون جدید ایجاد و در مدل داده ذخیره میشود.
مثال:
FullName = Sales[FirstName] & " " & Sales[LastName]
این فرمول ستون جدیدی به نام FullName ایجاد میکند که نام و نام خانوادگی را ترکیب میکند.
تفاوت Calculated Column با Measure
ویژگی | Calculated Column | Measure |
---|---|---|
محل ذخیره | در مدل داده (افزایش حجم) | ذخیرهسازی فقط فرمول |
سطح محاسبه | در سطح ردیف | در سطح تجمیع (Aggregation) |
کاربرد | فیلترها، دستهبندیها، ایجاد روابط | محاسبات پویا در ویژوالها |
تأثیر بر کارایی | ممکن است حجم مدل را افزایش دهد | سبکتر و سریعتر |
کاربردهای رایج Calculated Columns
- ایجاد دستهبندیهای سفارشی (مثلاً تقسیم مشتریان به گروههای سنی)
- محاسبه شاخصهای ثابت مثل قیمت نهایی بر اساس تخفیف
- ترکیب دادهها (Concatenation)
- ایجاد کلیدهای ترکیبی برای روابط بین جداول
بهترین شیوهها برای تعریف Calculated Columns
- قبل از ایجاد ستون محاسباتی، بررسی کنید آیا میتوان همان نتیجه را با Measure به دست آورد.
- ستونهای محاسباتی را فقط برای دادههایی که نیاز به ذخیرهسازی دارند ایجاد کنید.
- از توابع بهینه DAX استفاده کنید تا بار پردازشی کاهش یابد.
- ستونهای غیرضروری را حذف کنید تا حجم مدل کم شود.
مثال پیشرفته
فرض کنید میخواهید بر اساس مقدار فروش، مشتریان را دستهبندی کنید:
CustomerSegment =
IF(
Sales[TotalSales] > 5000,
"VIP",
"Regular"
)
با این ستون میتوانید مشتریان VIP را به راحتی در گزارشها جدا کنید.
سوالات متداول (FAQ)
۱. آیا Calculated Columns همیشه بهتر از Measures هستند؟
خیر، Measures سبکتر و برای محاسبات پویا مناسبتر هستند.
۲. آیا ایجاد زیاد ستون محاسباتی باعث کندی میشود؟
بله، چون هر ستون محاسباتی فضای ذخیرهسازی و زمان پردازش را افزایش میدهد.
۳. آیا میتوان از Calculated Column در روابط جداول استفاده کرد؟
بله، یکی از کاربردهای مهم این ستونها همین است.
تماس و مشاوره با لاندا
اگر میخواهید درک عمیقی از DAX و Calculated Columns پیدا کنید و مدلهای داده بهینهتری در Power BI بسازید، تیم توسعه فناوری اطلاعات لاندا با دورهها و مشاورههای تخصصی آماده است تا گزارشهای شما را سریعتر و هوشمندتر کند.
همین الان با یک تماس ✆ مشاوره رایگان خود را از لاندا دریافت کنید.
نظری داده نشده