这里我有每日预算和总预算。每日预算是总预算的一部分
每次点击成本(cpc)$1
总预算1000美元
每日上限150美元
下面是所需的表格
Select 'pubg' app_pkg, 100 as Click, 1 as CPC, 150 as Daily_budget, 1000 as Total_budget union All
Select 'pubg' , 125 , 1, 150, 1000, union All
Select 'pubg' , 150 , 1, 150, 1000, union All
Select 'pubg' , 175 , 1, 150, 1000, union All
Select 'pubg' , 200 , 1, 150, 1000, union All
Select 'pubg' , 225 , 1, 150, 1000, union All
Select 'pubg' , 250 , 1, 150, 1000, union All
Select 'pubg' , 275 , 1, 150, 1000, union All
Select 'pubg' , 300 , 1, 150, 1000, union All
Select 'pubg' , 325 , 1, 150, 1000
我想要这个格式的结果
app_pkg Clicks Daily_rev
pubg 100 $100
pubg 125 $125
pubg 150 $150
pubg 175 $150
pubg 200 $150
pubg 225 $150
pubg 250 $150
pubg 275 $25
pubg 300 $0
pubg 325 $0
每日收入不超过每日预算,总和(每日收入)等于总预算。
2条答案
按热度按时间xxls0lw81#
下面是bigquery标准sql
当应用于问题的样本数据时-输出是
dy1byipe2#
你想要一个累积的总和。我猜你想从最小的点击到最大的点击。逻辑如下:
一些解释。表达式:
根据每日限额计算当日收入。
然后
daily_rev
有点复杂。使用每日收入的累计总和。首先,如果累计和很容易符合总数,则使用日限值。否则,总值和累积值之间的差值。对于某些行,差异可能为负。这些都是上限
0
使用greatest()
.