Appropriate situation to data warehouse and how to best manage the warehouse?
Calculating and storing a value is a cache; that's a very common strategy.  A data warehouse is a very different beast (usually more than one table!).

The main thing to be concerned about is timeliness.  If customers expect the results to be closer to real-time, that's OK for now, as ten seconds once an hour should be fine.  Even if it bloats to ten times that length, it should be OK.

If you absolutely must have current data, rather than "up to one hour old," you'll need to know when your source tables have changed.  If you already have a DateLastModified column in each of the tables, then you can check to see if there's a more recent values than the DateRecorded you'll be capturing when you save this query.  A stored procedure can query these values and refresh the cache if necessary.  The problem is that the run time will be slow when any source data has changed, which I suspect will be most of the time.  Also, you'll probably need indices on your DateLastModified fields, to quickly identify when the source data hasn't changed.

Alternatively, you could scatter triggers hither and yon, so any time a key table is updated, you mark the cache as dirty so it can be updated.  This would be high maintenance and fragile, but if you don't already have DateLastModified fields it might be easier.

If your customers are OK with this report being out of date by up to a few minutes, just run it on a schedule.