The Dynamic Dates in Strategy SQL Generation Engine 9.4.x-10.x use the Day attribute to qualify on a particular date. Thus, if a Dynamic Date is created based on today's date, in order to get 'Last Month' a specific number of days can be subtracted from the date. But since the length of the month ranges between 28-31 days it is almost impossible to get the correct output based on the Day attribute.
If users want to have the output based on a different Attribute other that Date (e.g., month), they must follow the steps below:
Please find below the screenshot of the filter editor:

Also, find below the SQL for this report:
Select a11.MONTH_ID MONTH_ID,
a11.MONTH_DESC MONTH_DESC
From LU_MONTH a11
Where a11.MONTH_ID = (to_number (to_char (sysdate, 'MM')) -1)
NOTE:
This expression was designed for Oracle but similar SQL can be generated for other databases.