Do you want to track if the downloaded the workbook itself or if they downloaded data?
You cannot track what sheet they downloaded data for, just what dashboard the sheet was on.
I would like to see if they downloaded data from the workbook, not if they download the workbook. How would I accomplish that?
So downloading data from a dashboard is stored in the http_requests table.
To find all instances of downloads, connect to that table and filter on action ='vud' (view underlying data) or action='exportcrosstab'
To define exactly what happened, you need to group your http requests of the above kind into groups like you can see I have done in this SQL-Statement (this is T-SQL since we import the http_requests table into our SQL-Server data warehouse.)
However you still have a problem, because guess what, the http_requests table does not flag all records correctly with either the view name nor the user downloading.
To fix your view name problems you need to strip out the part of the name which refers to any customized views the user might be using instead of the "original" one
To find the user associated with the VIZQL Session you need to join all of this with another subselect on to find the user/site id combi, the join field should be the vizql_session field in the http_requests table and the vizql_session field in the subselect.
Also keep in mind that the http_requests table only contains 7 days worth of historic data so if you really want to follow this you need an ETL procedure to save it to your datawarehouse or some other Database.
Wow... That is far more in depth than I expected. Thanks for explaining this. I will give it shot.
Finally my intimate knowledge of the http_request table is worth something to others