# 日期與時間欄位

在您的應用程式中，當處理包含日期或時間戳記資訊的欄位時，您可以定義日期的許多相關屬性，例如年或週，並在您的視覺化中使用它們。

## 在資料管理員中建立日期欄位

當您在啟用資料分析的情況下使用新增資料在資料管理員中建立資料模型時，或在資料管理員中按一下載入資料時，會為所有被識別為日期或時間戳記的資料欄位自動建立日期欄位。

資訊備註

在資料管理員中建立的日期欄位會自動新增至 autoCalendar。

如需詳細資訊，請參閱[使用資料管理員載入和管理資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/managing-data.htm)。

如果不能自動識別日期或時間戳記欄位，您可以在資料管理員表格編輯器中調整輸入格式。您還可以設定顯示格式以在視覺化中使用。

如需詳細資訊，請參閱[變更欄位類型](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/changing-date-time-format.htm)。

### 可自動識別哪些日期與時間欄位？

將根據您的系統區域設定，自動識別日期與時間戳記欄位。除此之外，還可識別以下格式：

* M/D/YYYY h:mm
* D/M/YYYY h:mm TT
* M/D/YYYY
* D/MM/YYYY
* YYYYMMDD
* YYYYMMDDhhmmss
* YYYYMMDDhhmmss.fff
* YYYYMMDDhhmmssK
* YYYY-MM-DD
* YYYY-MM-DDThh:mm:ss
* YYYY-MM-DD-Thh:mm:ss.fff
* YYYY-MM-DD-Thh:mm:ssK

日期 & 時間格式

| 格式規範 | 描述 |
| --- | --- |
| YYYY | 年 |
| M, MM | 月 |
| D, DD | 日 |
| hh | 小時 |
| mm | 分鐘 |
| ss | 秒 |
| fff | 毫秒 |
| TT | AM 或 PM |
| K | 時區 |
| T | 日期與時間之間的分隔符號。T 無法替換為其他字元。 |

## 在資料載入指令碼中建立日期與時間欄位

如果您使用 資料載入編輯器 來建立資料模型，則需要建立一個日曆範本，並在範本中定義要在資料載入指令碼中衍生的欄位。在執行指令碼和重新載入資料時，將產生衍生的日期與時間欄位。

如需詳細資訊，請參閱[衍生欄位](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/derived-fields.htm)。

## 在您的應用程式中使用日期與時間欄位

### 視覺化中的日期和時間欄位

資產面板欄位標籤中的所有日期或時間戳記欄位均帶有 the 日期與時間 icon 標記，您可以展開它們以使用這些產生的日期與時間欄位。您可以在視覺化中使用它們，就像使用任何其他資料欄位一樣。

### 維度中的日期與時間欄位

您還可在建立維度時使用日期與時間欄位。日期與時間欄位列於它們產生自的欄位下面。

### 運算式中的日期與時間欄位

您可以在所有運算式中使用日期與時間欄位，例如，建立量值時。日期與時間欄位是根據以下條件所命名：

[欄位名稱].autoCalendar.[日期與時間欄位]。

* [欄位名稱] 是用於產生日期與時間欄位的資料欄位名稱。
* [日期與時間欄位] 是您想要使用的日期與時間欄位，例如 Year。

範例：

`Date.autoCalendar.Year`

### 行事曆量值中的日期與時間欄位

行事曆量值使用 autoCalendar 中建立的日期與時間欄位。這些日期與時間欄位中的每一個都將透過集合分析運算式進行計算，該運算式將決定資料是否落在至今期間內，或者日期是否位於定義的目前日期的相對位置。這些日期與時間欄位都是相對的，並會根據目前日期傳回結果。您可以獨立使用行事曆量值的這些欄位。

行事曆欄位日期與時間欄位的格式如下所示：

[欄位名稱].autoCalendar.[日期與時間欄位]={[值]}

* [欄位名稱] 是用於產生日期與時間欄位的日期欄位名稱。
* [日期與時間欄位] 是日期與時間欄位所用的名稱，例如，InYTD。
* [值] 為日期與時間欄位集合分析運算式的值，並決定會包含哪些日期。

範例：

`Date.autoCalendar.YearsAgo={1}`

以下為可用的日期與時間欄位，具有範例值：

#### InYTD

此日期與時間欄位決定日期是在年初至今範圍內還是在年初至今範圍外。

InYTD

| 範例 | 結果 |
| --- | --- |
| ` Date.autoCalendar.InYTD={0}<br>` | 傳回落在年初至今時間範圍內的所有日期。<br><br>例如，如果目前日期為一年的第 54 天，則日期欄位中會包含每年前 54 天內的日期。 |
| ` Date.autoCalendar.InYTD={1}<br>` | 傳回年初至今時間範圍外的所有日期。<br><br>例如，如果目前日期為一年的第 54 天，則日期欄位中會包含每年前 54 天之後的所有日期。 |

#### YearsAgo

此日期與時間欄位決定相對於目前日期，某些日期是否屬於特定年份日期。

YearsAgo

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.YearsAgo={0}` | 傳回今年的所有日期。 |
| `Date.autoCalendar.YearsAgo={1}` | 傳回去年的所有日期。 |
| `Date.autoCalendar.YearsAgo={8}` | 傳回八年前的所有日期。 |

#### InQTD

此日期與時間欄位決定相對於目前日期，某些日期是在季初至今範圍內還是在季初至今範圍外。

InQTD

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.InQTD={0}` | 傳回所有季度中，季初至今範圍內的所有日期。<br><br>例如，如果目前日期為第 1 季度的第 14 天，則日期欄位中會包含每季度的前 14 天。 |
| `Date.autoCalendar.InQTD={1}` | 傳回所有季度中，目前季初至今範圍外的所有日期。<br><br>例如，如果目前日期為第 1 季度的第 14 天，則日期欄位中會包含每季度前 14 天之後的所有日期。 |

#### QuartersAgo

此日期與時間欄位決定相對於目前日期，某些日期是否屬於特定季度日期。

QuartersAgoQuartersAgo

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.QuartersAgo={0}` | 傳回當季的所有日期。 |
| `Date.autoCalendar.QuartersAgo={1}` | 傳回上一季的所有日期。 |
| `Date.autoCalendar.QuartersAgo={8}` | 傳回八個季度前的所有日期。 |

#### QuarterRelNo

此日期與時間欄位決定相對於目前日期，某些日期是否屬於特定季度日期。

QuarterRelNoQuarterRelNo

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.QuarterRelNo={0}` | 傳回當季每個執行個體的所有日期。<br><br>例如，如果目前日期屬於第 4 季度，則日期欄位中會包含每個第 4 季度的所有日期。 |
| `Date.autoCalendar.QuarterRelNo={3}` | 傳回早於當季兩季的每個季度執行個體的所有日期。<br><br>例如，如果目前日期屬於第 4 季度，則日期欄位中會包含每個第 1 季度的所有日期。 |

#### InMTD

此日期與時間欄位決定相對於目前日期，某些日期是在月初至今範圍內還是在月初至今範圍外。

InMTDInMTD

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.InMTD={0}` | 傳回所有月份中，目前月初至今範圍內的所有日期。<br><br>例如，如果日期為 2016 年 11 月 15 日，則日期欄位中會包含每月前 15 天的日期。 |
| `Date.autoCalendar.InMTD={1}` | 傳回所有月份中，目前月初至今範圍外的所有日期。<br><br>例如，如果日期為 2016 年 11 月 15 日，則日期欄位中會包含每月前 15 天之後至月末的日期。 |

#### MonthsAgo

此日期與時間欄位決定相對於目前日期，某些日期是否屬於特定月份日期。

MonthsAgoMonthsAgo

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.MonthAgo={0}` | 傳回當月的所有日期。 |
| `Date.autoCalendar.MonthAgo={1}` | 傳回上個月的所有日期。 |
| `Date.autoCalendar.MonthAgo={8}` | 傳回八個月前的所有日期。 |

#### MonthRelNo

此日期與時間欄位決定相對於目前日期，某些日期是否屬於特定月份日期。

MonthRelNoMonthRelNo

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.MonthRelNo={0}` | 傳回當月每個執行個體的所有日期。<br><br>例如，如果目前月份為六月，則日期欄位中會包含六月每個執行個體的所有日期。 |
| `Date.autoCalendar.MonthRelNo={1}` | 傳回上個月每個執行個體的所有日期。<br><br>例如，如果目前月份為六月，則日期欄位內會包含五月每個執行個體的所有日期。 |

#### InWTD

此日期與時間欄位決定相對於目前日期，某些日期是在週初至今範圍內還是在週初至今範圍外。

InWTDInWTD

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.InWTD={0}` | 傳回所有週中，目前週初至今範圍內的所有日期。<br><br>例如，如果目前日期為一週的第 3 天，則日期欄位中會包含每週前 3 天的日期。 |
| `Date.autoCalendar.InWTD={1}` | 傳回所有月份中，目前月初至今範圍外的所有日期。<br><br>例如，如果目前日期為一週的第 3 天，則日期欄位內會包含每週後 4 天的日期。 |

#### WeeksAgo

此日期與時間欄位決定相對於當週，某些日期是否屬於特定週。

WeeksAgoWeeksAgo

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.WeeksAgo={0}` | 傳回當週的所有日期。 |
| `Date.autoCalendar.WeeksAgo={8}` | 傳回八週前的所有日期。 |

#### WeekRelNo

此日期與時間欄位決定相對於目前日期，某些日期是否屬於特定週。

WeekRelNoWeekRelNo

| 範例 | 結果 |
| --- | --- |
| `Date.autoCalendar.WeekRelNo={0}` | 傳回當週每個執行個體的所有日期。<br><br>例如，如果當週為一年的第 2 週，則日期欄位中會包含每年第 2 週的日期。 |
| `Date.autoCalendar.WeekRelNo={1}` | 傳回上週每個執行個體的所有日期。<br><br>例如，如果當週為一年的第二週，則日期欄位中會包含每年第一週的日期。 |

## 瞭解更多資訊

* [建立行事曆量值](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Measures/create-calendar-measure.htm)