With a variable name like qtr_a I might expect the value to be a date, especially since you are matching it on date_cpi, but it might be the qtr_a represents the first day of a quarter, such as 1 Jan 2010 and so there would be no matches for date_cpi if the values represent any day of the year.
A complete guess of a possible solution might be something like
ON A.qtr_a = intnx('quarter', B.date_cpi,0,'B') ;
which would shift the b.date_cpi value to the first day of the calendar quarter for the comparison.
You should verify what the values of A.qtr_a look like before attempting this though.
We know absolutely nothing about what/when/why any of your date_dispensed or date_cpi were collected. You would have to know if it makes sense to compare those.
One might also suspect there maybe should be some other identifier involved in the Join or Where criteria.