Ich habe einen Data Explorer-Bericht, der 2 Datumsparameter mit fest codierten Standardwerten verwendet.
-- [params]
-- date :start_date = 2024-12-01
-- date :end_date = 2025-01-01
Die fest codierten Standardwerte funktionieren für die meisten Parametertypen, aber für die Datumsparameter wünsche ich mir, dass ich dynamische Werte festlegen könnte, wie zum Beispiel den Montag der aktuellen Woche als Startdatum und den Freitag der aktuellen Woche als Enddatum:
-- [params]
-- date :start_date = cast(date_trunc('week', current_date) as date) + 0
-- date :end_date = cast(date_trunc('week', current_date) as date) + 4
^ Das hat natürlich nicht funktioniert.
Ich möchte den gleichen Bericht mit diesen freigegebenen Datumsparametern beibehalten, damit ich den Bericht weiterhin manuell für verschiedene Daten ausführen kann, wenn ich dies benötige. Aber ich möchte auch den gleichen Bericht mit dem Automation-Plugin für wiederkehrende Beitragsaktualisierungen zu einem Thema unter Verwendung der Option „Planen Sie einen Beitrag in einem Thema mit Data Explorer-Ergebnissen“ verwenden.
Haben Sie Vorschläge, wie ich dies erreichen könnte?
Ich würde sagen, Sie müssen den Bericht „forken“, einen speziellen Bericht erstellen, der korrekt auf dem aktuellen Datum für den Daten-Explorer basiert, und dann einen zweiten Bericht für die manuelle Verwendung.
Ich weiß, dass es ein wenig ärgerlich ist, Kopien zu haben, aber es scheint die einfachste Lösung zu sein.
Wenn die Zahl hoch wird, ist eine gute Methode, die discourse API zu verwenden, um sie zu konfigurieren, und den Quellcode in GitHub aufzubewahren. Auf diese Weise können Sie auch die Historie verfolgen und das manuelle Forking vermeiden.
Würde es funktionieren, die Standardwerte in die Abfrage zu verschieben und sie zu verwenden, solange kein Datum ausgewählt ist? Also, so etwas wie das hier:
-- [params]
-- null date :start_date
-- null date :end_date
SELECT id as topic_id, created_at
FROM topics
WHERE created_at > COALESCE(:start_date, CAST(date_trunc('week', current_date) AS DATE))
AND created_at < COALESCE(:end_date, CAST(date_trunc('week', current_date) AS DATE)+4)