تبدیل یک فیلد به فیلد تاریخ (Date Field) در تبلو
هر پایگاهداده، فیلدهای تاریخ (Date Field) را به شیوهای کمی متفاوت ذخیره میکند. Tableau تا حد امکان تلاش میکند فیلدهای تاریخ را بهدرستی تفسیر کند، اما گاهی ممکن است یک فیلد بهصورت رشته متنی (Text String) یا فیلد عددی وارد Tableau شود. اگر این اتفاق رخ دهد، چند مرحله وجود دارد که میتوان برای رفع مشکل انجام داد.
نکته: اطلاعات زیر درباره تغییر نوع داده یک فیلد به نوع تاریخ (Date) است. برای قالببندی یک فیلد تاریخ (Date Field) موجود و کنترل نحوه نمایش آن در Visualization، به بخش «Custom Date Formats» مراجعه کنید.
بررسی فیلدهای تاریخ (Date Field)
ممکن است یک فیلد تاریخ بهصورت رشته متنی نمایش داده شود و دارای آیکون نوع داده Abc باشد که نشاندهنده مقادیر متنی یا String است.
وقتی تاریخها بهصورت رشته متنی تفسیر شوند، تمام قابلیتها و امکانات مربوط به کار با فیلدهای تاریخ را از دست میدهید؛ مانند:
- Drill Down روی تاریخها
- استفاده از محاسبات تاریخ (Date Calculations)
نوع داده فیلد را تغییر دهید
اولین گام برای حل مشکل تفسیر یک فیلد تاریخ این است که مطمئن شوید نوع داده روی Date (تاریخ) یا Date & Time (تاریخ و زمان) تنظیم شده است. در بخش Data Source یا Data Pane، روی آیکون نوع دادهٔ فیلد تاریخ کلیک کنید و نوع داده را به Date یا Date & Time تغییر دهید.
دادهها را در نمای View یا بخش Data Source بررسی کنید. اگر مقدارهای Null زیادی مشاهده کردید، نوع داده را دوباره به String برگردانید و سپس برای رفع مشکل، یک محاسبه (Calculation) با استفاده از تابع DATEPARSE ایجاد کنید.
ایجاد یک محاسبه با استفاده از تابع DATEPARSE
تاریخها در طیف تقریباً بینهایتی از فرمتها ذخیره میشوند. برخی فیلدهای تاریخ، سال را قبل از ماه قرار میدهند، برخی دیگر بخشهای تاریخ را با نقطه از هم جدا میکنند، و برخی نیز ترکیبی از فرمتها را استفاده میکنند. زمانی که Tableau نتواند یک فیلد تاریخ را تفسیر کند، ممکن است به این دلیل باشد که آن فرمت خاص قابل تبدیل یا شناسایی نیست.
تابع DATEPARSE به شما اجازه میدهد بهطور دقیق مشخص کنید هر بخش از فیلد شما مربوط به کدام قسمت از تاریخ است. در واقع، شما یک نقشه (map) ایجاد میکنید که Tableau بتواند از آن برای تبدیل رشته (string) به یک فیلد تاریخ استفاده کند. این نقشه «فرمت» نامیده میشود.
نکته: این تابع از طریق کانکتورهای زیر در دسترس است: اتصالهای غیرقدیمی Excel و فایل متنی، Amazon EMR Hadoop Hive، Cloudera Hadoop، Google Sheets، Hortonworks Hadoop Hive، MapR Hadoop Hive، MySQL، Oracle، PostgreSQL و Tableau extracts. برخی فرمتها ممکن است برای همه اتصالات در دسترس نباشند.
DATEPARSE در نسخههای Hive پشتیبانی نمیشود. فقط Denodo، Drill و Snowflake پشتیبانی میشوند.
ایجاد محاسبه DATEPARSE
فرمت فعلی فیلد تاریخ (Date Field) خود را بررسی کنید. توجه کنید که ماه، سال، ساعت و روز در کجای فیلد نمایش داده شدهاند. شما به این اطلاعات برای استفاده از تابع DATEPARSE نیاز خواهید داشت.
A. روز ماه
B. ماه
C. سال
D. ساعت، دقیقه، ثانیه، میلی ثانیه، دوره
روی فیلد تاریخ خود در بخش Dimensions راستکلیک کنید و گزینه Create > Calculated Field را انتخاب کنید.
در پنجره باز شده، تابع DATEPARSE را بنویسید. تابع DATEPARSE دو بخش دارد: فرمت (format) و رشته (string). رشته همان فیلدی است که میخواهید آن را تبدیل کنید و باید از نوع دادهٔ متنی (Text یا String) باشد.
فرمت، راهنمایی است که Tableau از آن برای تفسیر رشته بهعنوان تاریخ استفاده میکند. هر بخش از یک رشته تاریخ یا زمان، نماد متناظر خود را دارد، همانطور که در جدول زیر نشان داده شده است. این فرمت باید دقیقاً همان شکلی باشد که تاریخ نمایش داده شده است. برای مثال، اگر بهجای کد سال دو رقمی (“26”) از کد سال تکرقمی یا متفاوت (“Y”) استفاده شود، ممکن است نتیجهٔ محاسبه مقدار Null برگرداند.
نکته: استثنا در این قانون این است که بخشهای متنی طولانی تاریخ (مثل “September”) میتوانند با چهار علامت نمایش داده شوند (“September” = “MMMM”).
فرمت باید شامل تمام فاصلهها، خط تیرهها و سایر نمادهای غیرالفبایی/عددی باشد تا رشته بهدرستی تفسیر شود.
نمادهای فیلد تاریخ (Date Field)
| Date Part | Symbol | Example Output |
|---|---|---|
| Year | yy
y, yyyy Y |
26
2026 2026 (used for Week of Year based calendars) |
| Quarter of year | Q
QQQ QQQQ |
2
02 Q2 2nd quarter |
| Month | M
MM MMM MMMM |
9
09 Sep September |
| Week of year | w, ww | 47 |
| Day of week | E, EE, EEE
EEEE EEEEE |
Mon
Monday M |
| Day of month | d
dd |
1, 15
01, 15 |
| Day of year (1-365) | D | 23, 143 |
| Hour (1-12) | h
hh |
8
08 |
| Hour (0-23) | H
HH |
8
08 |
| Minute | m
mm |
8
08 |
| Second in a minute | s
ss |
5
05 |
| Fractional second | S
SS SSS SSSS |
2
23 235 2350 |
| Milliseconds in day | A | 34532 |
| Period (am/pm marker) | a, aa, aaa | AM, am, PM |
| Time Zone | z, zz, zzz
zzzz Z, ZZ, ZZZ ZZZZ |
PDT
Pacific Daylight Time -0800 PST-08:00 |
نکته: برخی از قالبهای تاریخ توسط همه پایگاههای داده و انواع فایلها پشتیبانی نمیشوند.
قالب خود را با رشتهای که در Tableau نمایش داده میشود بررسی کنید. اگر نمادها و قالببندی درست باشد، روی OK کلیک کنید تا فیلد محاسباتی جدید ایجاد شود. این فیلد محاسباتی در نمای شما مانند یک فیلد تاریخ عمل خواهد کرد.
استخراجهای Hyper
برای منابع داده استخراجی (.hyper)، نمادها توسط کنسرسیوم یونیکد تعریف میشوند. برای اطلاعات بیشتر، به بخش «قالب نحوی در تابع DATEPARSE برای منابع داده استخراجی» مراجعه کنید تا مجموعهای از انواع فیلدها و نمادهایی را که میتوان با تابع DATEPARSE در استخراجهای .hyper استفاده کرد، مشاهده کنید.
ملاحظات مربوط به زبان/محل (Locale)
تابع DATEPARSE برای تفسیر و سپس نمایش رشتههایی که میخواهید به تاریخ/زمان تبدیل کنید، به تنظیمات منطقهای (locale) سیستم شما متکی است. به طور دقیقتر، locale بر این موضوع تأثیر میگذارد که آیا یک قالب خاص قابل شناسایی هست یا نه. این یعنی اگر یک قالب توسط locale پشتیبانی نشود، ممکن است مقدار NULL یا هیچ مقداری برنگردانده شود.
برای مثال، فرض کنید رشته زیر را در دادههای خود دارید:
12Sep2026:9:8:8.6546
مقادیر خروجی تابع DATEPARSE برای این رشته بسته به locale متفاوت است. در locale انگلیسی یک مقدار مشخص برگردانده میشود، اما در locale ژاپنی هیچ مقداری برگردانده نمیشود. در این حالت، هیچ مقداری برنمیگردد چون locale ژاپنی «Sep» را به عنوان ماه شناسایی نمیکند.
| English locale | Japanese locale |
|---|---|
| #9/12/2026 9:08:09 AM# | – |






بدون دیدگاه