How long has it been since you set the alert up? The alerts are checked on a single cadence that is defined for the whole server. While it defaults to checking every 15 minutes, the Server Admin can change it by modifying the dataAlerts.checkIntervalInMinutes value in the configuration. Checking every second isn't possible, nor would you want to have it run that often.
I set it up several days ago, and then tried again a couple hours ago.
I do not believe our server admin would have modified this interval check - are there any other limitations to alert checks?
Just curious - if you go to the Server Status > Background Tasks for Non Extracts page, do you see tasks called "Check if Data Alert Condition True"?
If so, are they successful and what do the tooltips say?
Is the recipient of the alert licensed? Do they have a valid email? Anything else funky with their user account on Tableau Server? Those are the typical reasons I can think of why it would simply skip evaluating the alert.
Is the recipient of the alert licensed?
Of course. It's actually the server administrator account.
Do they have a valid email?
Anything else funky with their user account on Tableau Server?
The alert was sent the first time it was set up and well received. But in the next days it wasn't sent anymore even though the condition was true (bear in mind that it was set to send daily at most). So I had to edit the alert to reset the clock every time the alert is not working. Which is defeating the purpose.
There could be a timing issue happening. The daily at most setting will suppress any alert tests over the next 24-hour period after the alert is triggered. So if you got a positive at 9:05 am yesterday, and the condition persists at 9:01 am today, that alert will be suppressed. It should, however, trigger at 10:00 am (or thereabouts), because all alerts are always evaluated hourly. So if the condition had disappeared by 10:00 am, due to a data update or some filter condition in your viz, you'd never see an alert for today--even though you might have expected to. Is something like this possible with your setup?
One thing you can do to test what is occurring is to set up a Subscription schedule that runs hourly, and subscribe to the viz on that schedule. Then you'll get hourly snapshots of the conditions in the viz, which could help you establish that the data is/isn't behaving like you expect.
I had actually thought about that 24-hour period, then I checked it again today and something weird happened.
Please see the following screenshots of one of my alerts that should be triggered but was not.
This image below shows that the evaluation happened today at 11:25, which is already over 24 hours from the last time the alert was sent at 9:37. My data only changes daily, so this alert should definitely be sent because it was positive at 11:25.
And then I checked the background task for this, but weirdly, it the last process of alert checking happened at 9:15. It should have happened hourly, meaning it should check again at 10:15 and 11:15.
Do you have any idea on this?
Sorry, I'm about out of ideas. One thing I do need to correct about what I said though is that if your alert is based on a workbook with a local extract, the alert runs upon refresh of the extract--not hourly, as I said. Live connections are checked hourly (or more accurately, to whatever cadence the Server administrator set them to run at, which could technically be anything--but most leave the default at hourly). If that correction doesn't help, I'd recommend a support case. Sorry I can't help more!
No worries, you've helped me a lot in understanding how alerts work.
I had the same issue. I figured out, that if the alert is evaluated True, it waits 24 hours before it checks it again - that is the "not evaluated" line. Also, there is a refresh schedule. So, my case where it did not work was as follows:
The day before, tha alert was sent at 12:02 (and the day before at 11:02, and before 10:02 and so on).
The database refreshes from 7:00 to 12:00.
So on the next day, the condition could be checked after 12:02, but it was not, because the refreshes ended before that (at 12:00).
One solution would be to run refreshes the whole day. Or, in my case, I reset the time of the last alert by running the refresh "now", manually.
Hope this helps.