Interface Availability in CAPM is based on ifOperStatus.
This being reports for hourly resolution, we average the values for the hour.
If we can't poll the device for the entire hour, we'll see an empty block.
As long as we can poll for 1 poll cycle, we'll show the average "collected" values for the hour.
For example the formula used to determing Interface Availability for an Interface using the High Speed Interface Vendor Certification is:
<Expression destAttr="Availability">(ifOperStatus == 1) ? 100 : 0</Expression>
We may poll the Interface Availability for 5 mins, and not for 55. As long as that single 5 min poll resulted in 100%, we show 100% for the hour.
We can't average rows of missing data. We don't do special logic to see there is 1 of 12 polls for the hour when we do rollups. We just roll up the values in the DB.
It would probably be better to use a Trend based graph of the metric to show it was 100 for some part of the hour and has a null/gap value for the time the device was down.