# 相対日付の利用方法

「日付入力」や「日付範囲」のパラメータにデフォルト値を設定することで、「今日」「昨日」「先週」などの相対日付をパラメータに簡単に設定することができるようになります。

## 相対日付を利用可能なパラメータ

* [日付入力](https://docs.codatum.jp/data-exploration/parameter-types#date-input)
* [日付範囲](https://docs.codatum.jp/data-exploration/parameter-types#date-range)

## 相対日付の設定方法

* パラメータの入力フォーム右上の3点アイコンをクリック
* `デフォルト値`の項目から、`相対日付`や`相対日付範囲`を選択して設定

## 相対日付が計算されるタイミング

パラメータの値をデフォルト値に変更するタイミングで、相対日付の計算が行われます。\
各機能ごとに、どのタイミングでパラメータの値がデフォルト値に変更されるかを以下に示します。

### ノートブック

* パラメータの入力フォームでユーザーが以下の操作を行った時
  * フォーム全体に対して`パラメータの値をデフォルト値にリセット`を行った時
  * パラメータ個別で`デフォルト値にリセット`を行った時

{% hint style="info" %}
ノートブックのパラメータの変更は、他のユーザーとリアルタイムに共有されるため、デフォルト値への変更はユーザーの明示的な操作が必要となります。 ノートブックを開いたタイミングで、相対日付の計算を行うことはできません。
{% endhint %}

### パブリックリンク

パラメータの変更はできないため、相対日付の機能は利用できません。

### レポート

* 以下の設定をすることで、レポートを開いたタイミングで、相対日付を適用できます
  * レポートのレポートタイプで`インタラクティブレポート`を選択
  * オプションで`自動実行を有効化`を選択し、`パラメータのデフォルト値を使用`を選択
    * `パラメータのデフォルト値を使用`を有効化しない場合、パラメータの値は**レポートの公開時点の値**になります
* パラメータの入力フォームでの操作は、ノートブックの場合と同様です

{% hint style="info" %}
レポートのパラメータ変更は、他のユーザーとは**共有されません**。
{% endhint %}

### 署名付き埋め込み

* 以下の設定をすることで、署名付き埋め込みを開いたタイミングで、相対日付を適用できます
  * パラメータを`クライアントサイドパラメータ`に指定（`サーバーサイドパラメータ`に指定しない）
  * `iframeの埋め込み`の`クライアントサイドパラメータ`で、`パラメータのデフォルト値を初期値として利用`を指定
    * 署名付き埋め込みの生成を行うスクリプトの変更が必要になります
    * `パラメータのデフォルト値を初期値として利用`を有効化しない場合、パラメータの値は**署名付き埋め込みの公開時点の値**になります
* パラメータを`サーバーサイドパラメータ`に指定している場合、相対日付の機能は利用できず、サーバーサイドで日付を指定する際に、別途相対日付の計算処理を行う必要があります。
* パラメータの入力フォームでの操作は、ノートブックの場合と同様です
  * ただし、入力フォームを非表示にしている場合、デフォルト値へのリセット処理の対象外となるため、相対日付の計算は行われません

{% hint style="info" %}
署名付き埋め込みのパラメータ変更は、他のユーザーとは**共有されません**。
{% endhint %}

## よくある質問

### Q: 相対日付を計算する基準の日時はどうなっているのですか？

**A:** ブラウザの現在時刻を基準にして相対日付を計算します。タイムゾーンはブラウザでの設定に従うため、同じ時刻でもタイムゾーンが異なる場合は、計算される相対日付が異なる場合があります。
