Can't you just JOIN the SITES and AVAIL tabs on SITE ID in the excel workbook in the data source window? I see 36 rows of data in your expected results and 36 rows of data in the resulted JOIN. You can do an INNER JOIN if site IDs are always present in the AVAIL tab, if not you can do a LEFT to account for all sites present in SITE tab regardless of their presence in the AVAIL tab.
Or are you trying to do something else that I am misunderstanding?
Can you check again please? I think, in your example you have linked the SITES and RESULTS tabs, rather than the SITES and AVAIL tabs.
Many thanks for helping.
Ok, that was so silly of me. I can't believe I overlooked that. You are not going to be able to do what you currently have.
Since the JOIN is on site ID, if that site ID doesn't have available data in the AVAIL tab you are going to get 1 null row for that site ID (not 6 null rows for each date or 12 null rows for each type 2G or 3G).
Tableau doesn't know to add different rows for different months it wasn't available. Since there are 3 sites and 6 dates and 2 types (2G and 3G), your results needed is 36 rows regardless of data being available or not. But with the way you have things set up right now, I do not think you are going to get that.
For the rows to appear for each month, you are actually going to need the month and the types available in the SITE tab as well. And the AVAIL tab to reflect totals for sites that were available. That way all the sites that were unavailable for each type, you will end up getting a null row.
How are you getting the data in excel? If its an output result from a SQL query or the like, you might want to look at how you can change that so each month is reflective in the expected results you need.
Hope this helps!