相対日時の動作

相対日時パラメータの動作と解決タイミング

相対日時パラメータ(「昨日」「先週」など)は、ReportとSigned Embedでそれぞれ異なるタイミングで具体的な日付に変換されます。このページでは、各機能での相対日時の動作について説明します。

相対日時とは

相対日時は、現在の時刻を基準にして動的に計算される日付指定方法です。

パラメータの種類

  • 固定値(FIXED): 特定の日付(例:2024-01-01)

  • 相対日付(RELATIVE_DATE): 今日から○日前/後(例:今日から-7日)

  • 相対期間(RELATIVE_DATE_RANGE): 期間を表す相対日時(例:先週、先月)

各機能での動作

1. Report

変換タイミング

  • レポートページを開いた瞬間

  • 「デフォルト値で自動実行」が有効な場合:ページロード直後

動作の特徴

  • 同じレポートでも、アクセスする日時によって表示されるデータが変わります

  • 「昨日」「先週」などの相対日時は、常にレポートを開いた時点での相対日時になります

  • ワークスペースメンバー間で同じレポートを異なる時間に開くと、異なるデータが表示される可能性があります

特定の日付範囲でレポートを固定したい場合は、パラメータのデフォルト値を「固定値」に設定し、具体的な日付を指定してください。

2. Signed Embed(署名付き埋め込み)

変換タイミング

  • 上書きされたパラメータ: issueToken API呼び出し時に渡されるパラメータ値で上書きされる

  • 上書きされていないclient-sideパラメータ: Publish時点で保存された値を使用(相対日時の変換は行われない)

動作の特徴

  • 上書きされていないパラメータは、Signed Embed を Publish した時点での値が固定されて表示されます

  • 「昨日」「先週」などの相対日時パラメータも、Publish時点で解決された具体的な日付として保存されます

  • 埋め込みページにアクセスする日時に関係なく、常に同じ期間のデータが表示されます

相対日時パラメータを動的に変換したい場合は、「外部化」設定にするか、client-sideでiframe取得後にpostMessageでパラメータを上書きすることで可能です。外部化されていないパラメータは、Publish後は固定値として動作します。

よくある質問

Q: レポートを作成した時点での相対日時を固定することはできますか?

A: できません。相対日時は常にアクセス時点で計算されます。特定の日付範囲でレポートを固定したい場合は、パラメータのデフォルト値を「固定値」に設定し、具体的な日付を指定してください。

Q: Signed Embedで相対日時が更新されないのはなぜですか?

A: Signed Embedでは、外部化(上書き)されていないclient-sideパラメータはPublish時点の値が固定されて使用されます。相対日時パラメータを動的に更新したい場合は、Signed Embed設定でそのパラメータを「外部化」に設定し、issueToken API呼び出し時に値を指定するか、client-sideでiframe取得後にpostMessageでパラメータを上書きする必要があります。

Q: Signed Embedで相対日時を動的にするにはどうすればよいですか?

A: 以下の手順が必要です:

  1. Signed Embed設定で対象パラメータを「外部化」に設定

  2. issueToken API呼び出し時に、現在の相対日時を計算した値を渡す

  3. 外部化されたパラメータはissueTokenで指定した値が優先されるため、動的な相対日時が実現できます

また、client-sideでiframe取得後にpostMessageでパラメータを上書きすることも可能です。

まとめ

機能
相対日時の値が確定するタイミング
特徴

Report

アクセス時

常に最新の相対日時で計算

Signed Embed(外部化なし)

Publish時

Publish時点の値で固定

Signed Embed(外部化あり)

APIコール時

issueTokenで指定した値を使用

最終更新

役に立ちましたか?