Я использую запрос для вычисления двух значений, но мне нужно, чтобы каждая серия включала в расчет только записи определенного типа.
let _timePeriodInHours = abs(datetime_diff('hour', _startTime, _endTime));
let _stepConfig = case(_timePeriodInHours <= 24, timespan(1h), _timePeriodInHours < 720, timespan(1d), timespan(30d));
tilldevicedata
| where todatetime(TransactionTimeStampUtc) between (_startTime.._endTime)
| where Brand has_any (_brand)
| where Country == _country
| where Store has_any (_store)
| where TransactionValueDiscount == 0
| where IsReturnTransaction == 0
| make-series AvgBasketValueNonDiscountedBaskets = round(avg(TransactionValueGross), 2), AvgBasketValueDiscountedBaskets = round(avg(TransactionValueNet), 2) on todatetime(TransactionTimeStampUtc) from bin(_startTime,_stepConfig) to _endTime step _stepConfig
Я хочу, чтобы make-series для AvgBasketValueNonDiscountedBaskets включала ТОЛЬКО строки с TransactionValueDiscount == 0, и я хочу, чтобы AvgBasketValueDiscountedBaskets включала ТОЛЬКО строки с TransactionValueDiscount > 0
Можно ли этого достичь?





| make-series AvgBasketValueNonDiscountedBaskets = round(avgif (TransactionValueGross, TransactionValueDiscount == 0), 2), AvgBasketValueDiscountedBaskets = round(avgif (TransactionValueNet, TransactionValueDiscount > 0), 2) on todatetime(TransactionTimeStampUtc) from bin(_startTime,_stepConfig) to _endTime step _stepConfig
Проверьте свои данные, включая все фильтры.
Этот вид работает, но AvgBasketValueDiscountedBaskets всегда равен 0, что неверно, там есть данные, соответствующие предложению if