相対日時の動作
相対日時パラメータの動作と解決タイミング
相対日時パラメータ(「昨日」「先週」など)は、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時点で解決された具体的な日付として保存されます
埋め込みページにアクセスする日時に関係なく、常に同じ期間のデータが表示されます
よくある質問
Q: レポートを作成した時点での相対日時を固定することはできますか?
A: できません。相対日時は常にアクセス時点で計算されます。特定の日付範囲でレポートを固定したい場合は、パラメータのデフォルト値を「固定値」に設定し、具体的な日付を指定してください。
Q: Signed Embedで相対日時が更新されないのはなぜですか?
A: Signed Embedでは、外部化(上書き)されていないclient-sideパラメータはPublish時点の値が固定されて使用されます。相対日時パラメータを動的に更新したい場合は、Signed Embed設定でそのパラメータを「外部化」に設定し、issueToken API呼び出し時に値を指定するか、client-sideでiframe取得後にpostMessageでパラメータを上書きする必要があります。
Q: Signed Embedで相対日時を動的にするにはどうすればよいですか?
A: 以下の手順が必要です:
Signed Embed設定で対象パラメータを「外部化」に設定
issueToken API呼び出し時に、現在の相対日時を計算した値を渡す
外部化されたパラメータはissueTokenで指定した値が優先されるため、動的な相対日時が実現できます
また、client-sideでiframe取得後にpostMessageでパラメータを上書きすることも可能です。
まとめ
Report
アクセス時
常に最新の相対日時で計算
Signed Embed(外部化なし)
Publish時
Publish時点の値で固定
Signed Embed(外部化あり)
APIコール時
issueTokenで指定した値を使用
最終更新
役に立ちましたか?