Here's a solution using a background colour expression that relates directly to the example as provided, in case it helps anyone.
My query for data set is as follows, rather than the assumed simple first query in the author's example:
SELECT ActorGender, Decade, COUNT(ActorID) AS Num
GROUP BY ActorGender, Decade
The table has Decade as the Row group, ActorGender as the Column group and MAX(Num) as the value (has to have an aggregate so almost any would do here).
This means that the decades/genders with no actors have NULL value, so after creating the table, change the value in the cells from [Max(Num)] to an expression"=VAL(MAX(Num))" to display a zero instead of a blank.
To colour the cells, use the following in the BackgroundColor property:
(IIF(Fields!Num.Value < MIN(Fields!Num.Value, "DataSet1"),
Fields!Num.Value) - MIN(Fields!Num.Value, "DataSet1")
(MAX(Fields!Num.Value, "DataSet1") - MIN(Fields!Num.Value, "DataSet1"))
The "IIF" is to cope with the zeroes, which are less than the MIN value (since MIN doesn't include NULLs). It uses the MIN value if the actual value is less than the min, i.e. if it is NULL. Without this the NULL/zero values would go negative and mess up the HEX output a little.
The "RIGHT" is to cope with values less than 16 for which HEX returns a single digit, whereas the colour value needs a full set of digits to mean what we want it to mean.
The "FF" values before and after are the Red and Blue colour values, since we only want to vary the Green value.
Default names were used for dataset, etc.
It can be simplified a bit if we make use of real-world data knowledge - i.e. there will never be fewer than zero actors in a given year/gender, but I've tried to match the author's original approach.