Simple alerts can only be sent to Tableau licensed users because the alert is subscribed to by the user.
Advanced alerts can send to non-licensed users, and the way to get the “don’t send if view is empty” feature is to add the necessary filter(s) to your advanced alert trigger view to filter out the users who shouldn’t get the email. What happens as VizAlerts runs is:
a) At the scheduled time VizAlerts requests the trigger view.
b) Tableau renders the trigger view and applies the filter that you’ve added that would remove rows from the trigger view if they don’t meet the criteria.
c) VizAlerts downloads whatever is left in the trigger view and processes the action for each alert that remains.
Does that make sense?
First off, thanks for the quick answer.
Jonathan Drummey wrote:
Does that make sense?
This is pretty nitty gritty so let me give a little more context to make sure we're on the same page.
We have certain processes that run daily. We want to send an email to a non-licensed user anytime any of these processes' run-time exceeds "x" amount of time.
We have a view that will display a row for any process whose run-time exceed the threshold. If our intended recipient was a licensed user, I would just do a simple alert on this view since it will only have data (therefore only send the alert) if one of the aforementioned processes has exceeded the time threshold.
If I'm understanding you correctly, in order to achieve this with an advanced alert, I would need to connect my advanced trigger view (this is the one with columns like "Email Action" and "Email From" correct?) to the data source that holds the data on the run times of the processes I want to monitor. Then, figure out someway to make a filter that will exclude my indented recipient's row in the trigger view if none of the processes' run-times exceed the threshold?
Now its my turn: Does that make sense?
I'll jump in--yes, that's right Daniel. For Advanced Alerts, think of each row in you trigger view as an "instruction" for VizAlerts. When the field "Email Action" is detected, it interprets each instruction as "send an email". So for each row (or mark) in your data, you get an email. What is in that email and who it's sent to are defined by the values of the Email ____ fields.
So in your case, what I would do is connect to the data source just like you said, set a relative date filter on whatever field represents when the run time for the process completed, and set it to "Previous Day". Then, add in all the required Email fields (those with asterisks at the end) onto the Rows shelf (it can also be the Detail shelf, but Rows gives you more visibility on what's happening). Edit the Subject and set it to what you want it to be. Edit the Email To and either pull the right email address field from your data, or build it into the string calc another way (you can simply type in the email address yourself, or semicolon-delimit several together). The Body must be in HTML format. For fun stuff you can do with the body, and other features, the User Guide is pretty comprehensive.
Subscribe on a daily VizAlerts schedule, ideally in the morning, and you should be good to go.