قالببندی محاسبات Formatting Calculation در Tableau
این مقاله نحوه ایجاد و قالببندی محاسبات در Tableau را شرح میدهد. اجزای اساسی محاسبات را فهرست کرده و syntax مناسب برای هر یک را توضیح میدهد.
بلوکهای سازنده محاسبات
چهار جزء اساسی برای محاسبات در Tableau وجود دارد:
- توابع: دستوراتی که برای تبدیل مقادیر یا اعضا در یک فیلد استفاده میشوند.
- توابع به آرگومانها یا قطعات خاصی از اطلاعات نیاز دارند. بسته به تابع، آرگومانها میتوانند فیلد، لیترال، پارامتر یا توابع تو در تو باشند.
- فیلدها: ابعاد (Dimension) یا اندازهها (Measure) از منبع داده شما.
- عملگرها: نمادهایی که یک عملیات را نشان میدهند.
- عبارات لیترال: مقادیر ثابتی که به صورت ثابت کدگذاری شدهاند، مانند “High” یا 1500.
لازم نیست همه محاسبات شامل هر چهار مؤلفه باشند. علاوه بر این، محاسبات میتوانند شامل موارد زیر باشند:
- پارامترها: متغیرهای جایگزین که میتوانند در محاسبات وارد شوند تا جایگزین مقادیر ثابت شوند.
- نظران: نکاتی در مورد یک محاسبه یا بخشهای آن، که در محاسبه لحاظ نشدهاند.
مثال calculation
برای مثال، محاسبه زیر را در نظر بگیرید که ۱۴ روز به یک تاریخ ([بازدید اولیه]) اضافه میکند. محاسبهای مانند این میتواند برای یافتن خودکار تاریخ برای پیگیری دو هفتهای مفید باشد.
اجزای این محاسبه را میتوان به صورت زیر تقسیم کرد:
- تابع: DATEADD، که به سه آرگومان نیاز دارد.
- date_part (‘day’)
- interval (14)
- date ([Initial Visit]).
- فیلد: [Initial Visit]
- عملگرها: n/a
- عبارات Literal:
- String literal: ‘day’
- Numeric literal: 14
در این مثال، ثابت 14 که به صورت ثابت در کد وجود دارد، میتواند با یک پارامتر جایگزین شود که به کاربر اجازه میدهد انتخاب کند چند روز بعد از آن، به دنبال قرار ملاقات بعدی باشد.
Calculation Syntax
Components | Syntax | Example |
Functions | از نحوه قالببندی توابع Tableau (به ترتیب حروف الفبا) یا توابع Tableau (بر اساس دستهبندی) استفاده کنید. | SUM(expression) |
Fields | یک فیلد در یک محاسبه اغلب توسط براکت [ ] احاطه شده است. | [Category] |
Operators | + , - , * , / , % , == , = , > , < , >= , <= , != , <> , ^ , AND , OR , NOT , ( ) . |
[Price]*(1-[discount]) |
Literal expressions | لیترالهای عددی به صورت عدد نوشته میشوند.
لیترالهای رشتهای با علامت نقل قول نوشته میشوند. لیترالهای تاریخ با نماد # نوشته میشوند. لیترالهای بولی به صورت true یا false نوشته میشوند. لیترالهای تهی به صورت null نوشته میشوند. برای اطلاعات بیشتر به سینتکس عبارتهای Literal مراجعه کنید. |
1.3567
|
Parameters | یک پارامتر در یک محاسبه، مانند یک فیلد، توسط براکت [ ] احاطه شده است. | [Bin Size] |
Comments | برای وارد کردن توضیح در یک محاسبه، دو اسلش (/) تایپ کنید. توضیحات چند خطی را میتوان با تایپ کردن /* برای شروع توضیح و */ برای پایان دادن به آن اضافه کرد. | SUM([Sales]) / SUM([Profit])
|
سینتکس توابع
توابع اجزای اصلی یک محاسبه هستند و میتوانند برای اهداف مختلف مورد استفاده قرار گیرند.
هر تابع در Tableau به یک نحو خاص نیاز دارد. به عنوان مثال، محاسبه زیر از دو تابع، LEN و LEFT، و همچنین چندین عملگر منطقی (IF، THEN، ELSE، END و >) استفاده میکند.
IF LEN([Name])> 5 THEN LEFT([Name],5) ELSE [Name] END
- تابع LEN یک آرگومان واحد میگیرد، مانند LEN([Name]) که تعداد کاراکترها (یعنی طول) را برای هر مقدار در فیلد Name برمیگرداند.
- تابع LEFT دو آرگومان میگیرد، یک فیلد و یک عدد، مانند LEFT([Name], 5) که پنج کاراکتر اول از هر مقدار در فیلد Name را از سمت چپ برمیگرداند.
- عملگرهای منطقی IF، THEN، ELSE و END با هم کار میکنند تا یک تست منطقی ایجاد کنند.
این محاسبه طول یک نام را ارزیابی میکند و اگر بیش از پنج کاراکتر باشد، فقط پنج کاراکتر اول را برمیگرداند. در غیر این صورت، کل نام را برمیگرداند.
در ویرایشگر محاسبه، توابع به رنگ آبی هستند.
از پنجره مرجع Calculation Editor استفاده کنید
میتوانید در هر زمان نحوه استفاده و قالببندی یک تابع خاص را جستجو کنید. برای باز کردن لیست توابع در Tableau:
- Analysis > Create Calculated Field را انتخاب کنید.
- در Calculation Editor که باز میشود، روی نماد گسترش (مثلث) واقع در لبه سمت راست ویرایشگر کلیک کنید.
لیستی از توابع برای مرور شما ظاهر میشود. وقتی یک تابع را از لیست انتخاب میکنید، بخش سمت راست با اطلاعاتی در مورد نحو مورد نیاز آن تابع (1)، توضیحات آن (2) و یک یا چند مثال (3) بهروزرسانی میشود.
استفاده از چندین تابع در یک محاسبه
شما میتوانید بیش از یک تابع را در یک محاسبه استفاده کنید. به عنوان مثال:
ZN(SUM([Order Quantity])) - WINDOW_AVG(SUM([Order Quantity]))
سه تابع در محاسبه وجود دارد: ZN، SUM و WINDOW_AVG. تابع ZN و تابع WINDOW_AVG با عملگر تفریق (-) از هم جدا شدهاند.
یک تابع همچنین میتواند بخشی از یک تابع دیگر (یا تو در تو) باشد، همانطور که در مورد بخش ZN(SUM([Order Quantity])) در مثال بالا وجود دارد. در این حالت، مجموع مقدار سفارش قبل از تابع ZN محاسبه میشود زیرا درون پرانتز قرار دارد.
نحوه نوشتن فیلد
فیلدها را میتوان در محاسبات خود وارد کرد. اغلب، نحو یک تابع نشان میدهد که یک فیلد باید در کجای محاسبه وارد شود. به عنوان مثال: SUM(expression)
.
نام فیلدها باید در یک محاسبه، زمانی که نام فیلد شامل فاصله است یا منحصر به فرد نیست، داخل براکت [ ] قرار گیرد. به عنوان مثال، [دستهبندیهای فروش].
نوع تابعی که استفاده میکنید، نوع فیلدی را که استفاده میکنید تعیین میکند. به عنوان مثال، با تابع SUM، میتوانید یک فیلد عددی وارد کنید، اما نمیتوانید یک فیلد تاریخ وارد کنید. فیلدهایی که انتخاب میکنید در محاسبات خود بگنجانید، به هدف محاسبه نیز بستگی دارد. به عنوان مثال، اگر میخواهید نسبت سود را محاسبه کنید، محاسبه شما از فیلدهای فروش و سود از منبع داده شما استفاده خواهد کرد:
SUM([Sales])/SUM([Profit])
برای افزودن یک فیلد به یک محاسبه، یکی از موارد زیر را انجام دهید:
- آن را از پنجره دادهها یا نما بکشید و در ویرایشگر محاسبه رها کنید.
- در ویرایشگر محاسبه، نام فیلد را تایپ کنید. توجه: ویرایشگر محاسبه سعی میکند نام فیلدها را به صورت خودکار تکمیل کند.
فیلدها در محاسبات Tableau به رنگ نارنجی هستند.
نحوه استفاده از عملگرها
برای ایجاد محاسبات، باید عملگرهای پشتیبانی شده توسط Tableau را درک کنید. این بخش در مورد عملگرهای اساسی موجود و ترتیب (اولویت) انجام آنها بحث میکند.
عملگرها در محاسبات Tableau به رنگ سیاه هستند.
+ (جمع)
عملگر + در صورت اعمال روی اعداد به معنای جمع و در صورت اعمال روی رشتهها به معنای الحاق است. در صورت اعمال روی تاریخها، میتوان از آن برای اضافه کردن تعداد روز به یک تاریخ استفاده کرد.
به عنوان مثال:
7 + 3
Profit + Sales
'abc' + 'def' = 'abcdef'
#April 15, 2024# + 15 = #April 30, 2024#
– (تفریق)
عملگر – وقتی روی اعداد اعمال میشود به معنای تفریق و اگر روی یک عبارت اعمال شود به معنای نفی است. وقتی روی تاریخها اعمال میشود، میتواند برای کم کردن تعداد روز از یک تاریخ استفاده شود. بنابراین، میتوان از آن برای محاسبه اختلاف روز بین دو تاریخ نیز استفاده کرد.
به عنوان مثال:
7 - 3
Profit - Sales
-(7+3) = -10
#April 16, 2024# - 15 = #April 1, 2024#
#April 15, 2024# - #April 8, 2024# = 7
* (ضرب)
عملگر * به معنی ضرب عددی است.
برای مثال: 5 * 4 = 20
/ (تقسیم)
عملگر / به معنی تقسیم عددی است.
به عنوان مثال: 20 / 4 = 5
% (پیمانه)
عملگر % باقیمانده یک عملیات تقسیم را برمیگرداند. پیمانه فقط میتواند روی اعداد صحیح عمل کند.
به عنوان مثال: 9 % 2 = 1. (زیرا 2 چهار بار با باقیمانده 1 در 9 قرار میگیرد.)
==، =، >، <، >=، <=، !=، <> (مقایسهها)
اینها عملگرهای مقایسهای پایهای هستند که میتوانند در عبارات استفاده شوند. معانی آنها به شرح زیر است:
- == یا = (مساوی)
> (بزرگتر از)
< (کوچکتر از)
>= (بزرگتر یا مساوی)
<= (کوچکتر یا مساوی)
!= یا <> (نامساوی)
هر عملگر دو عدد، تاریخ یا رشته را مقایسه میکند و TRUE، FALSE یا NULL را برمیگرداند.
^ (توان)
این نماد معادل تابع POWER است. یک عدد را به توان مشخص شده میرساند.
به عنوان مثال: 6^3 = 216
AND
این یک عملگر منطقی است. یک عبارت یا یک بولی باید در دو طرف آن ظاهر شود.
به عنوان مثال:IIF(Profit =100 AND Sales =1000, “High”, “Low”)
برای اطلاعات بیشتر به AND در توابع Logical منطقی مراجعه کنید.
OR
این یک عملگر منطقی است. یک عبارت یا یک مقدار بولی باید در دو طرف آن ظاهر شود.
برای مثال: IIF(Profit =100 OR Sales =1000, “High”, “Low”)
برای اطلاعات بیشتر به OR در توابع Logical منطقی مراجعه کنید.
NOT
این یک عملگر منطقی است. میتوان از آن برای منفی کردن یک مقدار بولی یا یک عبارت دیگر استفاده کرد. به عنوان مثال،
IIF(NOT(Sales = Profit),”Not Equal”, “Equal”)
سایر عملگرها
CASE، ELSE، ELSEIF، IF، THEN، WHEN و END نیز عملگرهایی هستند که برای توابع منطقی استفاده میشوند.
اولویت عملگرها
همه عملگرها در یک محاسبه به ترتیب خاصی ارزیابی میشوند. به عنوان مثال، 2*1+2 برابر با 4 است و برابر با 6 نیست، زیرا ضرب قبل از جمع انجام میشود (عملگر * همیشه قبل از عملگر + ارزیابی میشود).
اگر دو عملگر اولویت یکسانی داشته باشند (مانند جمع و تفریق (+ یا -)، در محاسبه از چپ به راست ارزیابی میشوند. از پرانتز میتوان برای تغییر ترتیب اولویت استفاده کرد.
PRECEDENCE | OPERATOR |
---|---|
1 | – (negate) |
2 | ^ (power) |
3 | *, /, % |
4 | +, – |
5 | ==, =, >, <, >=, <=, !=, <> |
6 | NOT |
7 | AND |
8 | OR |
پرانتز
در صورت نیاز میتوان از پرانتز برای اعمال اولویت استفاده کرد. عملگرهایی که درون پرانتز ظاهر میشوند، قبل از عملگرهای خارج از پرانتز ارزیابی میشوند، از داخلیترین پرانتز شروع شده و به سمت خارج حرکت میکنند.
برای مثال، (1 + (2*2+1)*(3*6/3) ) = 31 زیرا عملگرهای داخل داخلیترین پرانتز ابتدا انجام میشوند. محاسبه به ترتیب زیر انجام میشود:
- (2*2+1) = 5
- (3*6/3) = 6
- (1+ 5*6) = 31
سینتکس عبارتهای Literal در Tableau
این بخش سینتکس مناسب برای استفاده از عبارات Literal یا تحتاللفظی در محاسبات Tableau را شرح میدهد. یک عبارت Literal نشاندهنده یک مقدار ثابت است که به صورت موجود نمایش داده میشود. وقتی از توابع استفاده میکنید، گاهی اوقات میخواهید از عبارات Literal برای نمایش اعداد، رشتهها، تاریخها و موارد دیگر استفاده کنید.
به عنوان مثال، ممکن است تابعی داشته باشید که ورودی آن یک تاریخ باشد. به جای تایپ “1 مه 2005″، که به عنوان یک رشته تفسیر میشود، #1 مه 2005# را تایپ میکنید. این معادل استفاده از یک تابع تاریخ برای تبدیل آرگومان از یک رشته به یک تاریخ است (به توابع تاریخ مراجعه کنید).
شما میتوانید از عبارات Literal عددی، رشتهای، تاریخ، بولی(boolean) و تهی (null) در محاسبات Tableau استفاده کنید. هر نوع و نحوه قالببندی آنها در زیر توضیح داده شده است.
عبارات Literal در محاسبات Tableau به رنگ سیاه و خاکستری هستند.
Literal عددی
لیترال عددی به صورت یک عدد نوشته میشود. برای مثال، برای وارد کردن عدد یک به عنوان یک لیترال عددی، عدد ۱ را وارد کنید. اگر میخواهید عدد 0.25 را به عنوان یک لیترال عددی وارد کنید،0.25 را وارد کنید.
Literal رشته ای
یک لیترال String را میتوان با استفاده از ‘علامت نقل قول ‘ یا “علامت نقل قول دوتایی” نوشت.
اگر رشته شما دارای علامت نقل قول تکی یا دوتایی است، برای حروف رشتهای بیرونی از گزینه دیگر استفاده کنید.
به عنوان مثال، برای وارد کردن رشته “cat” به عنوان یک حرف رشتهای، “cat” را تایپ کنید. برای “cat” عبارت “cat” را تایپ کنید. اگر میخواهید رشته “She’s my friend” را به عنوان یک حرف رشتهای تایپ کنید، برای حروف رشتهای از علامت نقل قول دوتایی استفاده کنید، مانند “She’s my friend”.
Literal تاریخ
تاریخهای لیترال با نماد پوند (#) نشان داده میشوند. برای وارد کردن تاریخ “۲۲ آگوست ۲۰۰۵” به عنوان تاریخ لیترال، تاریخ با فرمت ISO، #2005-08-22# را وارد کنید.
Literal بولی
لیترالهای Boolean به صورت true یا false نوشته میشوند. برای وارد کردن “true” به عنوان یک لیترال بولی، true را وارد کنید.
Literal تهی
لیترالهای Null به صورت Null نوشته میشوند. برای وارد کردن “Null” به عنوان لیترال تهی، Null را وارد کنید.
افزودن پارامترها به یک Calculation
پارامترها متغیرهایی هستند که میتوانند در محاسبات وارد شوند تا جایگزین مقادیر ثابت شوند. وقتی از یک پارامتر در یک محاسبه استفاده میکنید، میتوانید یک کنترل پارامتر را در یک view یا داشبورد نمایش دهید تا کاربران بتوانند به صورت پویا مقدار را تغییر دهند.
پارامترها در محاسبات Tableau به رنگ بنفش هستند.
افزودن Comments به یک Calculation
میتوانید نظراتی به یک محاسبه اضافه کنید تا در مورد آن یا بخشهایی از آن یادداشتبرداری کنید. نظرات در محاسبه لحاظ نمیشوند.
برای افزودن نظرات به یک محاسبه، دو کاراکتر اسلش (//) تایپ کنید.
برای مثال:
SUM([Sales])/SUM([Profit]) //My calculation
در این مثال، //My calculation
یک نظر است.
یک نظر از دو اسلش (//) شروع میشود و تا انتهای خط ادامه مییابد. برای ادامه محاسبه، باید یک خط جدید ایجاد کنید.
یک نظر چند خطی را میتوان با شروع توضیح با یک اسلش و به دنبال آن یک ستاره (/*) و پایان دادن به آن با یک ستاره و به دنبال آن یک اسلش (*/) نوشت. به عنوان مثال:
SUM([Sales])/SUM([Profit])
/* This calculation is
used for profit ratio.
Do not edit */
نظرات در محاسبات Tableau به رنگ خاکستری هستند.
درک انواع دادهها در محاسبات
اگر فیلدهای محاسباتی ایجاد میکنید، باید بدانید که چگونه از انواع دادههای مختلف در محاسبات استفاده و آنها را ترکیب کنید. بسیاری از توابعی که هنگام تعریف یک محاسبه در دسترس شما هستند، فقط زمانی کار میکنند که روی انواع دادههای خاص اعمال شوند.
به عنوان مثال، تابع DATEPART() فقط میتواند نوع داده date/datetime را به عنوان آرگومان بپذیرد. میتوانید DATEPART(‘year’,#2024-04-15#) را وارد کنید و انتظار نتیجه معتبری داشته باشید: 2024. نمیتوانید DATEPART(‘year’,,”Tom Sawyer”) را وارد کنید و انتظار نتیجه معتبری داشته باشید. در واقع، این مثال یک خطا برمیگرداند زیرا “Tom Sawyer” یک رشته است، نه یک date/datetime.
توجه: اگرچه Tableau تلاش میکند تا تمام محاسبات را به طور کامل اعتبارسنجی کند، اما برخی از خطاهای نوع داده تا زمانی که پرس و جو در پایگاه داده اجرا نشود، قابل شناسایی نیستند. این مشکلات به جای اینکه در کادر محاورهای محاسبه باشند، به صورت دیالوگهای خطا در زمان پرس و جو ظاهر میشوند. برای یادگیری تبدیل از یک نوع داده به نوع دیگر، به بخش تبدیل نوع مراجعه کنید.
انواع داده پشتیبانی شده توسط Tableau
رشته / String
دنبالهای از صفر یا چند کاراکتر. به عنوان مثال، “Wisconsin”، “ID-44400” و “Tom Sawyer” همگی رشته هستند. رشتهها با علامت نقل قول تکی یا دوتایی شناخته میشوند. خود کاراکتر نقل قول را میتوان با تکرار آن در یک رشته گنجاند. به عنوان مثال، ‘O”Hanrahan’.
تاریخ/زمان تاریخ
یک تاریخ یا یک زمان تاریخ. به عنوان مثال “23 ژانویه 1972” یا “23 ژانویه 1972 ساعت 12:32:00 صبح”. اگر میخواهید تاریخی که به سبک دستنویس نوشته شده است به عنوان یک تاریخ/زمان تاریخ تفسیر شود، علامت # را در دو طرف آن قرار دهید. به عنوان مثال، “23 ژانویه 1972” به عنوان یک نوع داده رشتهای در نظر گرفته میشود اما #January 23, 1972# به عنوان یک نوع داده تاریخ/زمان تاریخ در نظر گرفته میشود.
عدد
مقادیر عددی در Tableau میتوانند اعداد صحیح یا اعداد اعشاری باشند.
در مورد اعداد اعشاری، نتایج برخی از تجمیعها ممکن است همیشه دقیقاً مطابق انتظار نباشد. به عنوان مثال، ممکن است متوجه شوید که تابع SUM مقداری مانند -1.42e-14 را برای فیلدی از اعداد که میدانید مجموع آنها باید دقیقاً برابر با 0 باشد، برمیگرداند. این اتفاق به این دلیل میافتد که استاندارد اعشاری 754 موسسه مهندسان برق و الکترونیک (IEEE) الزام میکند که اعداد در قالب دودویی ذخیره شوند، به این معنی که اعداد گاهی اوقات با سطوح دقت بسیار دقیقی گرد میشوند. میتوانید با قالببندی عدد برای نمایش ارقام اعشاری کمتر، این حواسپرتی بالقوه را از بین ببرید.
عملیاتی که مقادیر اعشاری را برای برابری آزمایش میکنند، میتوانند به همین دلیل غیرقابل پیشبینی رفتار کنند. چنین مقایسههایی میتوانند هنگام استفاده از عبارات سطح جزئیات به عنوان ابعاد، در فیلتر کردن دستهبندی، ایجاد گروههای موقت، ایجاد مجموعههای IN/OUT و با ترکیب دادهها رخ دهند.
توجه: بزرگترین عدد صحیح ۶۴ بیتی علامتدار ۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۷ است. هنگام اتصال به یک منبع داده جدید، هر ستونی که نوع داده آن روی Number (whole) تنظیم شده باشد، میتواند مقادیر تا این حد را در خود جای دهد؛ برای مقادیر بزرگتر، از آنجا که Number (whole) از ممیز شناور استفاده نمیکند، Tableau “Null” را نمایش میدهد. وقتی نوع داده روی Number (decimal) تنظیم شود، مقادیر بزرگتر را میتوان در آن جای داد.
Boolean
فیلدی که حاوی مقادیر TRUE یا FALSE است. وقتی نتیجه مقایسه ناشناخته باشد، یک مقدار ناشناخته ایجاد میشود. به عنوان مثال، عبارت ۷ > Null مقدار unknown را برمیگرداند. مقادیر بولی ناشناخته به طور خودکار به Null تبدیل میشوند.
برای خرید لایسنس نرم افزار Tableau ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
بدون دیدگاه