The filtering on the instances is happening too soon. At that time you have metrics for all the counetr types you specified.
Meaning that this where-clause will throw away all the metrics that do have a ide0:0 or scsi0:0 instance.
The grouping should be organised in the order that you want your results: so first group on Timestamp and then on Entity (the VM name).
In the resulting group you will now have metrics for all the counters your specified on the Get-Stat cmdlet.
For the disk.usage.average counter, what do you want to include in the report ?
Only the values for IDE0:0 or SCSI0:0 ?