Your blend on Program, Office, and Year is getting rid of the third record below (Program B, Atlanta, 2018) because those values don't exist in your other datasource.
In that datasource, there's only a value for Program B, Atlanta in 2017, not 2018. You can't count all of the records on the same sheet using a blend since it will always exclude that record. If you join your datasets together on the data connection screen by program, office, and year, you can use a left join to make sure to bring in values that don't match, and then it would count all records.
Thank you for your response. When I do a join on the data connection screen, it creates two separate columns for each column I want to use as a filter (e.g. "Program" & "Program (Sheet 11)"). Any way to blend those columns together when joining so that all the filters work?
Sure, you can create a calculated field like this:
ifnull([Program], [Program (Sheet 11)])
It'll use the first program value if it's not null or the second value if it is. You can then use this calculated field as a filter