How to create a custom report triggered by a button when viewing a contact

How to create a custom report triggered by a button when viewing a contact

I would like to create a button on the contacts page that triggers a custom report that is based on the current contact being viewed. 

When looking at the reports, the advanced filter allows the option for the contact name to be used, however I am unsure how to set it up so the "contact name" field gets updated to whatever contact is being viewed, and report to be generated with the click of a button from the contacts page.