1

Is there a way to trigger plugin when someone run report? Would be great to get the name of the report executed.

Thanks!

Alexei P
  • 63
  • 1
  • 7

2 Answers2

7

There is no clean easy way but it is certainly possible:

  1. Create a Dummy entity (new_dummy) with just a primary attribute (new_name)
  2. Add a dataset to any reports you want to track that does a query for new_dummy where new_dummy.new_name = ReportName
  3. Create a RetrieveMultiple plugin that looks for new_dummy queries and retrieve the new_name value from the query. How you store this information is your choice.
  4. Now you have a plug-in that is triggered on each report execution and has the name of the report.
Nicknow
  • 7,154
  • 3
  • 22
  • 38
  • This is a total hack, but wow! Fully supported and answers the OPs question. Nice! – Daryl Nov 25 '15 at 18:03
  • Thanks for the response, idea is great! Unfortunately won't work for my task. Want to track which reports are most popular in the system. Will be hard to edit all of the existing reports. Thanks again anyway! – Alexei P Nov 25 '15 at 21:57
  • 1
    No worries! As @Daryl said, it's a hack. As a consultant when I come in and see people did this stuff I dread it. If you are on-premises and have access to the SSRS server's DB you can have a look at this article (http://blogs.interfacett.com/how-to-audit-report-execution-in-sql-server-reporting-services-ssrs) which may give you what you want. You could also try putting a plugin on Retrieve for the Report entity (but you would have to experiment, not sure if the entity is always retrieved at execution - and how many false positive you would get.) – Nicknow Nov 25 '15 at 23:03
1

Unfortunately there is no way of doing that.

Andrew Butenko
  • 5,048
  • 1
  • 14
  • 13