If you want to display the message within each subreport, then you need to UNcheck "suppress blank subreport" on the format subreport->subreport tab, and also go into file->report options and make sure that "suppress printing if blank" is NOT checked. Then create a formula in each subreport like this:
if isnull({table.ID}) then
"No Data"
Place this in the report header.
This assumes that the subreports are null, and that they are NOT blank because of suppression or group selection.
You should be able to use a formula like the following to suppress a chart object:
isnull({table.showvaluefield})
-LB