06 Jan 2022 04:38 PM - last edited on 19 Oct 2022 02:10 PM by MaciejNeumann
Hello, I am trying to build some queries that will add multiple metrics together for single value visualizations. The issue is some of these metrics could potentially be empty but are expected to eventually have data. I'm having trouble finding a way to ignore or set defaults to those empty metrics from the total addition aggregation, which breaks the entire query.
As an example, assume you are consuming DDU metrics, but not DDU logs (at the moment, but plan to). If I wanted to have a visualization of total DDU consumption, I'd try:
(builtin:billing.ddu.log.total)+(builtin:billing.ddu.metrics.total):auto:sort(value(sum,descending))
And due to ddu.log.total (at the moment) being empty, the entire query with the error out with:
"Result of metric expression was empty because one of the inputs was empty. `(builtin:billing.ddu.log.total)` was empty but `(builtin:billing.ddu.metrics.total):auto:sort(value(sum,descending))` had 1 dimension tuples."
Solved! Go to Solution.
06 Jan 2022 04:41 PM
try (builtin:billing.ddu.metrics.total):default(0)
06 Jan 2022 04:45 PM
Unfortunately I get the error:
19 Jan 2022 09:32 AM
Hi @bryceamacker ,
Please try rather this way :
(builtin:billing.ddu.metrics.total:splitBy():sum:auto:sort(value(sum,descending)))+(builtin:billing.ddu.log.total:splitBy():sum:auto:sort(value(sum,descending)))
given that splitby() allow to rid of dimensions and return accurate value from targeted metric.
Thanks
10 Mar 2022 03:51 PM
Hi, I am trying to us splitby(), but still get the empty warning which does not allow me to proceed this calculation
calc:apps.web._AAAA:splitBy():count:auto:sort(value(avg,descending)) - (calc:apps.web._BBBB:splitBy():count:auto:sort(value(avg,descending))) metric BBBB is the one which has "no data" at some point of time, but I want to leave it as 0 if there is no data