I can help with a bit of this script. I'll take a look tomorrow and modify one that I have developed. Not sure how you capture average Ready or what use that would be at the cluster lever. Also please clarify the following points
Average CPU Usage of VMs
Average CPU usage of hosts
Average Memory Usage of Hosts
If this is a cluster lever report I think it makes sense to collect only
Average CPU usage of cluster
Average Memory Usage of cluster