میخواهیم سعی کنیم ستون محاسبهشده در Power BI، اندازه گیری در Power BI و Power bi calculated columns در مقایسه با measure را درک کنیم. برای درک تفاوت بین ستونهای محاسبه شده و اندازه گیریها در Power BI، ابتدا باید نحوه عملکرد آنها را جداگانه درک کنیم.
Calculated column در Power BI چیست؟
- Power BI calculated column ستونی است که سطر به سطر در data model محاسبه می شود. آنها فضای محاسباتی را اشغال می کنند و حجم فایل را افزایش می دهند.
calculated column، ستونی است مانند هر ستون دیگری که در جداول ایجاد شده است.
- Calculated columns برای هر سطر در یک جدول، بلافاصله پس از زدن کلید "enter" برای تکمیل فرمول، ارزیابی می شوند.
- Power BI calculated columns اغلب زمانی استفاده می شوند که بخواهیم نتیجه را فیلتر کنیم به جای اینکه بخواهیم فقط یک نتیجه محاسبه کنیم.
مثال: total به عنوان ستون محاسبه شده
جدول زیر را در مورد محصولات فروخته شده در نظر بگیرید. در اینجا ما مقدار کل هر محصول را با استفاده از یک فرمول ساده محاسبه می کنیم.
روی New column کلیک کنید تا یک ستون محاسبه شده در جدول داده ایجاد شود. این فرمول را قرار دهید:
Total Amount = Product_table[Price]* Product_table[Quantity]
می بینیم که زمینه evaluation ستون محاسبه شده برای هر سطر یا به عبارت دیگر، محاسبه سطر به ردیف انجام می شود. و نتیجه محاسبه هر سطر ذخیره شده در ستون جدید (Total Amount). این نوع محاسبه سطر به سطر در اصطلاحات DAX زمینه ردیف نامیده می شود. نتیجه ستون محاسبه شده مانند سایر ستون ها در حافظه ذخیره می شود. این بدان معناست که هرچه میزان حافظه محاسبه شده شما بیشتر باشد، مصرف حافظه بیشتری نیز انجام میشود و همچنین زمان بیشتری برای به روز رسانی دادهها نیاز خواهد بود.
measure در Power bi چیست؟
- روش دیگری برای تعریف محاسبات در مدل DAX وجود دارد. اندازهگیریها برای کل محاسبهشده مانند مجموع، میانگین و غیره استفاده میشوند.
- اندازه گیری ها در زمان query ایجاد میشوند بنابراین در پایگاههای داده ذخیره نمیشوند. به جرات میتوان گفت که آنها از هیچ فضای حافظه یا رم برای اهداف ذخیره سازی استفاده نمی کنند.
- measure یک فرمول است که در زمینهای که از آن استفاده می شود ارزیابی می شود. معیارهای محاسبه شده زمانی ارزیابی می شوند که از آنها در یک تصویر استفاده کنیم.
- به عبارت دیگر، یک measure بر اساس تعامل کاربر با گزارش محاسبه می شود. نتایج اقدامات در حین تازه سازی بارگذاری نمی شود، بلکه در محل محاسبه می شود.
- اقدامات باید در یک جدول تعریف شود. برای پیاده سازی عبارت DAX، به اندازه گیری نیاز دارد. ما به راحتی میتوانیم اندازه را از یک جدول به جدول دیگر بدون تأثیر بر عملکرد آن منتقل کنیم زیرا به جدول تعلق ندارد.
مثال: مجموع Sales Amount
یک مورد بسیار ساده که می توانیم به عنوان مثال استفاده کنیم، مجموع مبلغ فروش است. برای محاسبه یک اندازه گیری، در جدول داده ها، بر روی اندازه های جدید کلیک کنید و عبارت DAX زیر را قرار دهید:
Measure = SUM(Product_table[Total Amount])
می بینیم که یک اندازه گیری محاسبه شده در صفحه فیلدها ایجاد می شود. Aggregation را می توان با تعدادی از توابع DAX مانند Sum, Average, SUMX, Substitute و غیره انجام داد.
نحوه مشاهده مقادیر اندازه گیری Power BI
اندازهگیری در fly محاسبه می شود. بنابراین میتوانیم با قرار دادن آن در گزارش، ارزش اندازهگیری را ببینیم. برای این:
به صفحه گزارش بروید. یک کارت تصویر از تصویرسازیها انتخاب کنید. سپس measure را روی فیلد داده بکشید تا مجسم شود.
گزارش بالا مقدار اندازه گیری شده مجموع کل را نشان می دهد. اگر یک slicer اضافه کنیم، مقادیر مختلف را روی گزارش نشان می دهد.
در اینجا یک slicer از تصاویر اضافه می کنیم که مقدار را به صورت زیر برش می دهد:
گزارش فوق، محاسبه اندازه گیری مجموع کل محصولات انتخاب شده (یعنی ماوس) را نشان می دهد.
Power bi calculated columns در مقایسه با measure
در اینجا تفاوت های مختلفی بین Power bi calculated columns و measures وجود دارد:
- حتی اگر هر دو یکسان به نظر می رسند اما تفاوت زیادی وجود دارد، مقدار یک calculated column در حین به روز رسانی داده ها محاسبه می شود و از ردیف فعلی به عنوان زمینه آن در Power BI استفاده می کند. اما Power BI Measure بر روی تجمیع داده های تعریف شده توسط زمینه فعلی عمل می کند.
- یک calculated column به تعامل کاربر در گزارش بستگی ندارد، اما در مورد Measure ، به فیلتر اعمال شده در گزارش مانند انتخاب slicers ، ردیف، ستون در جدول محوری، فیلترهای اعمال شده در نمودار بستگی دارد.
- درک این نکته مهم است که ستون محاسبه شده Power bi از RAM استفاده می کند، به این معنی که هر چه ستون بیشتری داشته باشید، مدل داده شما بزرگتر خواهد بود. اما Measures در زمان query ارزیابی می شوند و عمدتا از CPU استفاده می کنند.
- یک calculated column نتایج را بهعنوان محاسبات سطر به سطر یا زمینه ردیف ارزیابی میکند، که در آن measure بر اساس همه فیلترها یا زمینه فیلتر محاسبه میشود.
- Measure و calculated columns هردو از عبارات Power bi DAX استفاده می کنند. اما تفاوت در زمینه ارزیابی هاست. یک اندازه گیری در cell ، که در گزارش یا در یک DAX query ارزیابی شده است، ارزیابی می شود. اما یک calculated column در سطح ردیف در جدولی که به آن تعلق دارد محاسبه می شود.
انتخاب بین Calculated column و Measure
- زمانی که هر ردیف نیاز به ارزیابی در Power BI دارد، می توانیم از یک calculated column کنیم.
مثال: مجموع هزینه های تحویل را محاسبه کنید
Total Delivery charges = Product_table[Quantity] * Product_table[Delivery Charges]
مثال بالا، نشان می دهد که calculated column در یک ستون جدید با داده های هر سطر نمایش داده می شود.
- می توانیم از Measure برای aggregation مانند SUM، SUMX، AVERAGE و غیره استفاده کنیم.
مثال: میانگین مبلغ کل
Average of Total Amount = AVERAGE(Product_table[Total Amount])
در مثال بالا، measure برای aggregation محاسبه شده است. همچنین در جدول دادهها نشان داده نمی شود. اما میتوانیم از آن در گزارشهای دادههای field استفاده کنیم.