Why can't I add a filter to my dashboard?

When I go to add a filter in the dashboard, the chart/table has no fields for me to select.

Here are the steps:
I write a SQL query with a few joins.
I save the question
I export it to the dashboard.
I try to add a filter but it says ‘No Valid Fields’

What could be wrong and how do I fix this?

You need to add SQL parametres to your query.

It’s not a bug and that’s not the answer.
You need to edit the data model and make the required fields categories.

Actually, adding SQL field filter variables (i.e., parameters) is in fact the correct answer in this case, since @redwood said their question is a SQL query. The only SQL questions that can be connected to a dashboard filter are those with field filter variables in them. Additionally, the field that the variable is mapped to should be of a type that are supported by dashboard filters (ID, date time, location, or category; there are currently no number dashboard filter widgets yet), and marked as such in the Data Model.