تبدیل یک فیلد به فیلد تاریخ (Date Field) در Tableau

تبدیل یک فیلد به فیلد تاریخ (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 تغییر دهید.

تبدیل یک فیلد به فیلد تاریخ (Date Field) در Tableau

داده‌ها را در نمای View یا بخش Data Source بررسی کنید. اگر مقدارهای Null زیادی مشاهده کردید، نوع داده را دوباره به String برگردانید و سپس برای رفع مشکل، یک محاسبه (Calculation) با استفاده از تابع DATEPARSE ایجاد کنید.

تبدیل یک فیلد به فیلد تاریخ (Date Field) در Tableau

ایجاد یک محاسبه با استفاده از تابع 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 نیاز خواهید داشت.

تبدیل یک فیلد به فیلد تاریخ (Date Field) در Tableau

A. روز ماه

B. ماه

C. سال

D. ساعت، دقیقه، ثانیه، میلی ثانیه، دوره

 

روی فیلد تاریخ خود در بخش Dimensions راست‌کلیک کنید و گزینه Create > Calculated Field را انتخاب کنید.

در پنجره باز شده، تابع DATEPARSE را بنویسید. تابع DATEPARSE دو بخش دارد: فرمت (format) و رشته (string). رشته همان فیلدی است که می‌خواهید آن را تبدیل کنید و باید از نوع دادهٔ متنی (Text یا String) باشد.

تبدیل یک فیلد به فیلد تاریخ (Date Field) در Tableau

فرمت، راهنمایی است که 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

QQ

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 کلیک کنید تا فیلد محاسباتی جدید ایجاد شود. این فیلد محاسباتی در نمای شما مانند یک فیلد تاریخ عمل خواهد کرد.

تبدیل یک فیلد به فیلد تاریخ (Date Field) در Tableau

استخراج‌های 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#

ایجاد یک محاسبه با استفاده از تابع DATE

اگر تابع DATEPARSE برای داده‌هایی که با آن کار می‌کنید در دسترس نباشد، یا فیلدی که می‌خواهید تبدیل کنید از نوع داده عددی باشد، می‌توانید به جای آن از تابع DATE استفاده کنید.

تابع DATE یک عدد، رشته (string) یا عبارت تاریخ را به نوع داده تاریخ تبدیل می‌کند. وقتی یک محاسبه با استفاده از تابع DATE ایجاد می‌کنید، Tableau یک فیلد جدید در منبع داده شما ایجاد می‌کند که به شما اجازه می‌دهد با داده‌های تاریخ خود به عنوان یک فیلد تاریخ کار کنید. برای اینکه تابع DATE بتواند با موفقیت از یک عدد، رشته یا عبارت تاریخ، مقدار تاریخ تولید کند، Tableau باید بتواند اجزای رشته را به بخش‌های تاریخ (day, month, year) تفسیر کند. پس از شناسایی اجزای تاریخ، Tableau از تنظیمات منطقه‌ای (locale) رایانه برای تعیین قالب پیش‌فرض تاریخ استفاده می‌کند.

برای مثال، فرض کنید جدولی که با آن کار می‌کنید شامل ستونی به نام «Original Date» است. این ستون از نوع رشته (string) است.

Original Date: 03Jan2026, 05Jan2026, 07Mar2026, 19Mar2026, 30Apr2026

در این حالت، می‌توانید یک فیلد محاسباتی به نام «New Date» ایجاد کنید که از یک عبارت در تابع DATE استفاده می‌کند تا مقادیر رشته‌ای در فیلد «Original Date» را به مقادیر تاریخ تبدیل کند.

DATE (LEFT([Original Date], 2) + “/” + MID([Original Date],3,3) + “/” + RIGHT([Original Date],4))

در این مثال، عبارت تاریخ از تابع LEFT برای جدا کردن بخش روز، تابع MID برای جدا کردن بخش ماه، و تابع RIGHT برای جدا کردن بخش سال تشکیل شده است.

محاسبه «New Date» ستون زیر را تولید می‌کند:

New Date: 1/3/2026, 1/5/2026, 3/7/2026, 3/19/2026, 4/30/2026

در این مثال، مقادیر تاریخ جدید بر اساس locale انگلیسی و قالب‌بندی پیش‌فرض ایجاد شده‌اند.

بدون دیدگاه

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

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