Still stuck on this, so will focus in on the problem a bit in case @Max or anyone else is able to help.
Given the same dataset:
order_date,order_id,order_value,user_id,source
2022-01-01,abc1,9.99,Philip,twitter
2022-01-01,abc1,9.99,Dave,twitter
2022-01-01,abc2,9.99,Dave,twitter
2022-01-01,abc3,9.99,John,twitter
2022-01-01,abc4,19.99,John,twitter
2022-01-02,abc5,19.99,Sarah,facebook
2022-01-02,abc6,9.99,Sarah,facebook
2022-01-02,abc7,9.99,Kyle,tiktok
2022-01-02,abc8,29.99,Seb,tiktok
2022-01-02,abc9,29.99,Max,tiktok
I’m rendering this table:
Focusing just on the values pertaining to order volume, these are the calculations I’m doing:
numOfSingleOrders (Aggregate: Sum):
ifelse(countOver({user_id}, [source,{user_id}], PRE_AGG) = 1, 1, NULL)
numOfSingleOrderUsers (Aggregate: Sum):
ifelse(countOver({user_id}, [source,{user_id}], PRE_AGG) = 1, 1 / countOver({user_id}, [source,{user_id}], PRE_AGG), NULL)
avgNumOfSingleOrders (Aggregate: Average)::
ifelse(numOfSingleOrderUsers = 0, NULL, numOfSingleOrders / numOfSingleOrderUsers)
numOfMultiOrders (Aggregate: Sum):
ifelse(countOver({user_id}, [source,{user_id}], PRE_AGG) >= 2, 1, NULL)
numOfMultiOrderUsers (Aggregate: Sum):
ifelse(countOver({user_id}, [source,{user_id}], PRE_AGG) >= 2, 1 / countOver({user_id}, [source,{user_id}], PRE_AGG), NULL)
avgNumOfMultiOrders (Aggregate: Average):
ifelse(numOfMultiOrderUsers = 0, NULL, numOfMultiOrders / numOfMultiOrderUsers)
All of the above calculate correctly, but when I try to calculate the overall average number of orders (overallAvgNumOfOrders) using the following calculation I get no output:
(avgNumOfSingleOrders + avgNumOfMultiOrders) / 2
I’ve tried various different ways of calculating this value and aggregating it and I either get an incorrect result or no output (see screenshot). The value I’m expecting here is 1.5 ( (2 + 1) / 2 ).
What am I doing wrong?