left join (Table2Temp)
load Country,Country.Coordinates as Country_Coordinates resident Table1
load * ,
if(isnull(Site.Coordinate),Country_Coordinates,Site.Coordinate) AS Site_Coordinates
drop field Site.Coordinate,Country_Coordinates;
rename field Site_Coordinates to Site.Coordinate;
To show country and/or site you could either define a drill down hierarchy with a country level and a site level, or you could display them both at the same time in different levels. Add a IdevioMap component, an AreaLayer for the countries and a BubbleLayer for the sites. If you have a drill down hierarchy set them do display in drill down level 0 and 1 respectively in Layer Options -> Restrict Drill Down.
With a drill down, the level will switch from country to site when only one country is selected.
I interpret it as you would like to use a center coordinate of the country when the site coordinate is null. One way would be to fix it with some loops and fixes in the load script but the easiest would probably be to add a separate Bubble Layer for these sites with the dimension like:
=if(isnull(Site.Coordinate) and not isnull(Site), Country)
Uncheck show null values.
This way the country center would be looked up in the Idevio location service and the bubble displayed only for sites missing coordinate (assuming missing coordinate means it is null). Hopefully this expression works for your data but as I have not tested it there are no guarantees