خانه / آموزش Power BI بابازاده / درس شصت و یکم – مقایسه ستون محاسباتی و measure

درس شصت و یکم – مقایسه ستون محاسباتی و measure

مقایسه ستون محاسباتی و measure

ستون محاسباتی به ازای هر ردیف جدول حساب می شود و نتیجه در سلول آن ردیف قرار می گیرد. به این حالت اصطلاحاً row context می گویند یعنی محاسبات سطر به سطر انجام می شود.

ستون محاسباتی از Ram فضا میگیرد برای اینکه دیتای خود را نگهداری کند.

ستون محاسباتی filter context را به خوبی متوجه نمی شود.

Measure می تواند filter tontext را متوجه شود.

Filter context مجموعه ای از فیلترها که برروی محاسبات یک مژر اعمال می شود.

به تمامی فیلترهای صفحه و فیلترهای موجود در نوار filters و فیلترهایی که در کد مژر نوشته شده filter context می گویند که روی مژر تاثیر می گذارد.

Measure ذاتا بصورت داینامیک می باشد یعنی در لحظه با توجه به فیلترها در ویژوال حساب می شود.

Measure از cpu استفاده می کند و ram زیادی استفاده نمی کند.

در درس گذشته یک ستون محاسباتی بنام SaleAndTax ساختیم که دو ستون sale و tax را با هم جمع میکرد. در اینجا همین کار را با طراحی measure و با استفاده از تابع sumx انجام می دهیم.

measure

برای مقایسه این دو روش از ویژوال table استفاده کرده و در value این دو مقدار را قرار می دهیم. همانطور که می بینید نتیجه هر دو یکسان است اما نحوه محاسبات اینها با یکدیگر متفاوت می باشد. در ستون وسط که توسط مژر انجام شده محاسبات هفت بار انجام شده ( در قسمت total مژر یکبار دیگر محاسبه می شود )، ولی در ستون سوم که توسط ستون محاسباتی انجام شده تعداد دفعات محاسبات خیلی زیاد می باشد چون برای هر کشور باید برای همه رکوردها محاسبات را انجام دهد. بنابراین استفاده از مژر باعث می شود محاسبات در زمان کمتری انجام شود.

table

بنابراین زمانی که می خواهید محاسباتی نظیر sum و average انجام دهید بهتر است از measure استفاده کنید. زمانی از ستون محاسباتی استفاده کنید که می خواهید از نتایج تولید شده در آن ستون محاسباتی بخواهید در اسلایسر از آن استفاده کنید یعنی بهتر است ستون محاسباتی متنی باشد که بتوانید از آن ستون در اسلایسر استفاده کنید.

برای مثال در جدول DimProduct یک ستون محاسباتی ایجاد می کنیم که همه محصولات را از لحاظ رنگ به سه دسته شاد، روشن و تیره تقسیم کنیم. برای نوشتن شرط داخل زبان Dax از تابع switch استفاده می کنیم.

در switch باید یک عبارت بنویسید اگر این عبارت مقدار یک را تولید کرد تابع هم نتیجه یک را برمیگرداند، اگر مقدار دو را تولید کرد تابع نتیجه دو را برمیگرداند و به همین ترتیب هر چند تا شرط که بخواهید می توانید اعمال کنید.

در این مثال چون چندین شرط را می خواهیم بررسی کنیم باید از switch true استفاده کنیم.

اگر رنگ برابر زرد بود یا رنگ برابر قرمز بود، نتیجه خروجی را رنگ شاد بنویس. ( رشته ها را درون ” ” بگذارید)

عملگر or که دو تا شرط می گیرد را با کارکتر || نشان می دهیم که اگر فقط یکی از شرطها برقرار باشد نتیجه true را برمیگرداند.

سپس شرطهای بعدی را بنویسید.

اگر رنگ برابر آبی یا سفید بود، نتیجه خروجی را رنگ روشن بنویس. و در غیر اینصورت نتیجه خروجی را “رنگ تیره” بنویس.

switch true

بنابراین توانستیم به کمک ستون محاسباتی یک ستون متنی با سه دسته بندی ایجاد کنیم که در اسلایسر مورد استفاده قرار دهیم.

calculated column

بنابراین سعی کنید در محاسباتی که قرار است از جاهای مختلف فیلتر بگیرد از measure استفاده کنید و جاهایی که می خواهید مقادیری تولید کنید که در اسلایسر قرار دهید و از طریق آنها فیلتر کنید از ستون محاسباتی استفاده کنید.

درباره‌ی المیرا فرمانی

Avatar

همچنین ببینید

line chart

ویژگی های نسخه power bi report server may2020-بخش سوم

دو مورد از ویژگیهای جدید ورژن may2020 عبارت است از Dual axis for line charts و Rectangle select for visuals که در اینجا توضیح می دهیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

معادله امنیتی (فقط عدد بنویسید) *