Try replacing your ID2 with ID1 values, using a mapping table based on your local table. Then you can concatenate your fact tables coming from DB1 and DB2, having common fields ID1 and Date, and fields Downloads and Visitors partially filled. You can keep your Title table linked to your facts via ID1 or just join it / map it to you fact table.
You can create a master calendar table and link it to Date, if you want.
I think this should solve your issues.
although most Titles have both ID1 and ID2, some do not have ID1 and others ID2. I read that 2 columns must be used with map. Below is how the Local.xlsx file looks. I initially added a 3rd ID trying to avoid this problem before the data is loaded in QV but it never came into use. Is there any way around this?
Title ID1 ID2 ID3
Title1 001 102 1
Title2 022 104 2
Title3 105 3
Title4 034 4
Ok, so I would suggest using two mapping tables to replace ID1 and ID2 with ID3:
MAPPING LOAD ID1, ID3 from ...; // Local
MAPPING LOAD ID2, ID3 from ....; // Local
applymap('Map1',ID1,'NoMapping') as ID, Date1 as Date, Downloads
applymap('Map2',ID2,'NoMapping') as ID, Date2 as Date, Visitors
LOAD ID3 as ID, Title
Untested, so beware of typos...