A common technique for suppressing duplicate alerts, at this point, is to use a relative date test as a filter or in a calc to ensure that only the latest data is being used to determine whether an alert is thrown. Let me know if that's enough to go off of, or if you need an example.
Can you give an example? For relative date would you just use previous hour? And would this ensure that the alert is sent out immediately when the criteria is met, or only if it has been met in the past hour?
1 of 1 people found this helpful
For most of my alerts, I only care to check the latest data for the alert condition, not all of the data when I get a new batch in. So in my case, it's as simple as setting a standard filter for yes, previous hour, taking into account when I expect that data to become available.For example, if you have data from 3pm, but it's not available until 5pm, that approach won't work as well. You might need to build in some padding to account for ETL delays.
The other scenario is a little different. if I want to test across older data when my alert runs, but I want to ensure it only runs the test when we get new data, then I'd write a calc that returns a boolean for the "freshness" being ok, along with my actual alert criteria. That'd probably need to be an LOD calc if you're testing your older data. So it'd be something like:
Build an LOD calc that reflects the latest date from the entire data set (this is FIXED):
You could set up a simple relative date filter against that, and it'd work just fine. The trouble with that approach is that it tends to hide all the other stuff in your viz unless you had recent data. So another approach is to build another calc that finds the latency in minutes:
...then integrate that into your own trigger calc like so:
Add that last calc to your dashboard, publish it. Set up your alert on it to run as often as possible, and check for "1" as the value. Now you'll have an alert that checks itself hourly, but if no data has shown up in the last 90 minutes, then you'll get no emails.
Of course, you don't have to use 90 minutes--tweak that part how you like. There's a balance between possibly missing an alert, and sending duplicate alerts that you'll have to play with.