|
@@ -8,7 +8,6 @@ import com.zanxiang.game.data.serve.pojo.entity.*;
|
|
import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
|
|
import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
|
|
import com.zanxiang.game.data.serve.pojo.vo.*;
|
|
import com.zanxiang.game.data.serve.pojo.vo.*;
|
|
import com.zanxiang.game.data.serve.service.IGameDataService;
|
|
import com.zanxiang.game.data.serve.service.IGameDataService;
|
|
-import com.zanxiang.game.data.serve.service.IRoleManageService;
|
|
|
|
import com.zanxiang.game.data.serve.utils.Page;
|
|
import com.zanxiang.game.data.serve.utils.Page;
|
|
import com.zanxiang.module.util.DateUtil;
|
|
import com.zanxiang.module.util.DateUtil;
|
|
import com.zanxiang.module.util.exception.BaseException;
|
|
import com.zanxiang.module.util.exception.BaseException;
|
|
@@ -750,7 +749,6 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
public Page<GameDataTotalVO> getGameDataTotal(GameDataTotalDTO dto) {
|
|
public Page<GameDataTotalVO> getGameDataTotal(GameDataTotalDTO dto) {
|
|
com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
|
|
com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
|
|
List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
|
|
List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
|
|
-
|
|
|
|
if (dto.getGameDimension() == null) {
|
|
if (dto.getGameDimension() == null) {
|
|
//默认查询子游戏维度
|
|
//默认查询子游戏维度
|
|
dto.setGameDimension(1L);
|
|
dto.setGameDimension(1L);
|
|
@@ -896,7 +894,6 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
public GameDataTotalTotalVO getGameDataTotalTotal(GameDataTotalTotalDTO dto) {
|
|
public GameDataTotalTotalVO getGameDataTotalTotal(GameDataTotalTotalDTO dto) {
|
|
com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
|
|
com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
|
|
List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
|
|
List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
|
|
-
|
|
|
|
if (dto.getGameDimension() == null) {
|
|
if (dto.getGameDimension() == null) {
|
|
//默认查询子游戏维度
|
|
//默认查询子游戏维度
|
|
dto.setGameDimension(1L);
|
|
dto.setGameDimension(1L);
|
|
@@ -2678,7 +2675,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ ANY_VALUE(buy_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(buy_first_effective_role_num_rate)*100,2) AS first_effective_role_rate, -- 首日有效创角率
|
|
|
|
+ round(ANY_VALUE(buy_new_user_total_effective_role_num_rate)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
|
|
|
|
+ round(ANY_VALUE(buy_effective_role_num_rate)*100,2) as effective_role_num_rate, -- 有效创角率
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
|
|
|
|
+ ANY_VALUE(buy_effective_role_num_cost) as effective_role_num_cost, -- 有效创角成本
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(buy_first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
|
|
|
|
+ round(ANY_VALUE(buy_new_user_total_effective_role_amount_num_rate)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
|
|
FROM
|
|
FROM
|
|
ads_game_day
|
|
ads_game_day
|
|
""";
|
|
""";
|
|
@@ -2732,7 +2752,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ ANY_VALUE(nature_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(nature_first_effective_role_num_rate)*100,2) AS first_effective_role_rate, -- 首日有效创角率
|
|
|
|
+ round(ANY_VALUE(nature_new_user_total_effective_role_num_rate)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
|
|
|
|
+ round(ANY_VALUE(nature_effective_role_num_rate)*100,2) as effective_role_num_rate, -- 有效创角率
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
|
|
|
|
+ ANY_VALUE(nature_effective_role_num_cost) as effective_role_num_cost, -- 有效创角成本
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(nature_first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
|
|
|
|
+ round(ANY_VALUE(nature_new_user_total_effective_role_amount_num_rate)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
|
|
FROM
|
|
FROM
|
|
ads_game_day
|
|
ads_game_day
|
|
""";
|
|
""";
|
|
@@ -2787,7 +2830,29 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ ANY_VALUE(new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ ANY_VALUE(effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(first_effective_role_num_rate)*100,2) AS first_effective_role_rate, -- 首日有效创角率
|
|
|
|
+ round(ANY_VALUE(new_user_total_effective_role_num_rate)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
|
|
|
|
+ round(ANY_VALUE(effective_role_num_rate)*100,2) as effective_role_num_rate, -- 有效创角率
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
|
|
|
|
+ ANY_VALUE(new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
|
|
|
|
+ ANY_VALUE(effective_role_num_cost) as effective_role_num_cost, -- 有效创角成本
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ ANY_VALUE(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
|
|
|
|
+ round(ANY_VALUE(new_user_total_effective_role_amount_num_rate)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
|
|
|
|
+ ANY_VALUE(first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
|
|
|
|
+ ANY_VALUE(new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
|
|
FROM
|
|
FROM
|
|
ads_game_day
|
|
ads_game_day
|
|
""";
|
|
""";
|
|
@@ -2850,7 +2915,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ ANY_VALUE(buy_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(buy_first_effective_role_num_rate)*100,2) AS first_effective_role_rate, -- 首日有效创角率
|
|
|
|
+ round(ANY_VALUE(buy_new_user_total_effective_role_num_rate)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
|
|
|
|
+ round(ANY_VALUE(buy_effective_role_num_rate)*100,2) as effective_role_num_rate, -- 有效创角率
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
|
|
|
|
+ ANY_VALUE(buy_effective_role_num_cost) as effective_role_num_cost, -- 有效创角成本
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(buy_first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
|
|
|
|
+ round(ANY_VALUE(buy_new_user_total_effective_role_amount_num_rate)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
|
|
|
|
+ ANY_VALUE(buy_first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
|
|
|
|
+ ANY_VALUE(buy_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
|
|
FROM
|
|
FROM
|
|
game_ads_parent.ads_game_day_parent
|
|
game_ads_parent.ads_game_day_parent
|
|
""";
|
|
""";
|
|
@@ -2904,7 +2992,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ ANY_VALUE(nature_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(nature_first_effective_role_num_rate)*100,2) AS first_effective_role_rate, -- 首日有效创角率
|
|
|
|
+ round(ANY_VALUE(nature_new_user_total_effective_role_num_rate)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
|
|
|
|
+ round(ANY_VALUE(nature_effective_role_num_rate)*100,2) as effective_role_num_rate, -- 有效创角率
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
|
|
|
|
+ ANY_VALUE(nature_effective_role_num_cost) as effective_role_num_cost, -- 有效创角成本
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(nature_first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
|
|
|
|
+ round(ANY_VALUE(nature_new_user_total_effective_role_amount_num_rate)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
|
|
|
|
+ ANY_VALUE(nature_first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
|
|
|
|
+ ANY_VALUE(nature_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
|
|
FROM
|
|
FROM
|
|
game_ads_parent.ads_game_day_parent
|
|
game_ads_parent.ads_game_day_parent
|
|
""";
|
|
""";
|
|
@@ -2959,7 +3070,29 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ ANY_VALUE(new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ ANY_VALUE(effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(first_effective_role_num_rate)*100,2) AS first_effective_role_rate, -- 首日有效创角率
|
|
|
|
+ round(ANY_VALUE(new_user_total_effective_role_num_rate)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
|
|
|
|
+ round(ANY_VALUE(effective_role_num_rate)*100,2) as effective_role_num_rate, -- 有效创角率
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
|
|
|
|
+ ANY_VALUE(new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
|
|
|
|
+ ANY_VALUE(effective_role_num_cost) as effective_role_num_cost, -- 有效创角成本
|
|
|
|
+
|
|
|
|
+ ANY_VALUE(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ ANY_VALUE(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ round(ANY_VALUE(first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
|
|
|
|
+ round(ANY_VALUE(new_user_total_effective_role_amount_num_rate)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
|
|
|
|
+ ANY_VALUE(first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
|
|
|
|
+ ANY_VALUE(new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
|
|
FROM
|
|
FROM
|
|
game_ads_parent.ads_game_day_parent
|
|
game_ads_parent.ads_game_day_parent
|
|
""";
|
|
""";
|
|
@@ -3395,7 +3528,31 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(buy_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
|
|
+
|
|
FROM game_ads.ads_game_day as a
|
|
FROM game_ads.ads_game_day as a
|
|
LEFT JOIN game_dw.dw_game_amount_day_buy
|
|
LEFT JOIN game_dw.dw_game_amount_day_buy
|
|
b on a.source_system = b.source_system
|
|
b on a.source_system = b.source_system
|
|
@@ -3447,7 +3604,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(nature_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM game_ads.ads_game_day as a
|
|
FROM game_ads.ads_game_day as a
|
|
left join game_dw.dw_game_amount_day_nature d
|
|
left join game_dw.dw_game_amount_day_nature d
|
|
on a.dt=d.dt and a.game_id = d.nature_game_id
|
|
on a.dt=d.dt and a.game_id = d.nature_game_id
|
|
@@ -3461,53 +3641,78 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
"""
|
|
"""
|
|
+ amountDayStr("") +
|
|
+ amountDayStr("") +
|
|
"""
|
|
"""
|
|
- IFNULL(SUM(first_new_user_amount_count), 0) first_new_user_amount_count,
|
|
|
|
- IFNULL(SUM(first_new_user_amount_num), 0) first_new_user_amount_num,
|
|
|
|
- IFNULL(SUM(first_new_user_amount), 0) first_new_user_amount,
|
|
|
|
- IFNULL(SUM(old_user_count), 0) old_user_count,
|
|
|
|
- IFNULL(SUM(old_user_num), 0) old_user_num,
|
|
|
|
- IFNULL(SUM(old_user_amount), 0) old_user_amount,
|
|
|
|
- IFNULL(SUM(amount_count), 0) amount_count,
|
|
|
|
- IFNULL(SUM(amount_num), 0) amount_num,
|
|
|
|
- IFNULL(SUM(amount), 0) amount,
|
|
|
|
- IFNULL(SUM(new_user_total_amount_count), 0) new_user_total_amount_count,
|
|
|
|
- IFNULL(SUM(new_user_total_amount_num), 0) new_user_total_amount_num,
|
|
|
|
- IFNULL(SUM(new_user_total_amount), 0) new_user_total_amount,
|
|
|
|
- round(if(SUM(cost) > 0 , SUM(first_new_user_amount) / SUM(cost) ,0), 4) first_roi,
|
|
|
|
- round(if(SUM(reg_num) > 0 , SUM(first_new_user_amount_num) / SUM(reg_num) ,0), 4) first_amount_rate,
|
|
|
|
- round(if(SUM(reg_num) > 0, SUM(new_user_total_amount_num) / SUM(reg_num), 0) ,4) today_amount_rate,
|
|
|
|
- round(if(SUM(amount_num) > 0 , SUM(first_new_user_amount_num) / SUM(amount_num) ,0), 4) new_user_rate,
|
|
|
|
- round(if(SUM(first_new_user_amount_count) > 0, SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) first_avg_amount,
|
|
|
|
- round(if(SUM(new_user_total_amount_count) > 0, SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) today_avg_amount,
|
|
|
|
- round(if(SUM(amount_count) > 0, SUM(amount) / SUM(amount_count), 0), 2) avg_amount,
|
|
|
|
- round(if(SUM(new_user_total_amount_num) > 0, SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) user_again_rate,
|
|
|
|
- round(if(SUM(reg_num) > 0, SUM(new_user_total_amount) / SUM(reg_num), 0), 2) reg_user_arpu,
|
|
|
|
- round(if(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) first_amount_arpu,
|
|
|
|
- round(if(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) today_amount_arpu,
|
|
|
|
- round(if(SUM(amount_num) > 0, SUM(amount) / SUM(amount_num), 0), 2) amount_arpu,
|
|
|
|
- round(if(SUM(reg_num) > 0, SUM(cost) / SUM(reg_num), 0), 2) reg_cost,
|
|
|
|
- round(if(SUM(first_new_user_amount_num) > 0, SUM(cost) / SUM(first_new_user_amount_num), 0), 2) first_new_user_recharge_cost,
|
|
|
|
- round(if(SUM(new_user_total_amount_num) > 0, SUM(cost) / SUM(new_user_total_amount_num), 0), 2) total_recharge_cost,
|
|
|
|
- round(if(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) total_roi,
|
|
|
|
- SUM(hundred_user_num) hundred_user_num,
|
|
|
|
- round(IF(SUM(hundred_user_num) > 0, SUM(cost) / SUM(hundred_user_num), 0), 2) hundred_user_num_cost,
|
|
|
|
- SUM(first_role_num) first_role_num,
|
|
|
|
- SUM(role_num) role_num,
|
|
|
|
- SUM(new_user_total_role_num) new_user_total_role_num,
|
|
|
|
- round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
|
|
- round(IF(SUM(role_num) > 0, SUM(cost) / SUM(role_num), 0), 2) role_num_cost,
|
|
|
|
- round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
|
|
- round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
|
|
- round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
|
|
|
|
- round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
- FROM game_ads.ads_game_day as a
|
|
|
|
- left join game_dw.dw_game_amount_day
|
|
|
|
- b on a.dt=b.dt and a.game_id = b.game_id
|
|
|
|
- """;
|
|
|
|
|
|
+ IFNULL(SUM(first_new_user_amount_count), 0) first_new_user_amount_count,
|
|
|
|
+ IFNULL(SUM(first_new_user_amount_num), 0) first_new_user_amount_num,
|
|
|
|
+ IFNULL(SUM(first_new_user_amount), 0) first_new_user_amount,
|
|
|
|
+ IFNULL(SUM(old_user_count), 0) old_user_count,
|
|
|
|
+ IFNULL(SUM(old_user_num), 0) old_user_num,
|
|
|
|
+ IFNULL(SUM(old_user_amount), 0) old_user_amount,
|
|
|
|
+ IFNULL(SUM(amount_count), 0) amount_count,
|
|
|
|
+ IFNULL(SUM(amount_num), 0) amount_num,
|
|
|
|
+ IFNULL(SUM(amount), 0) amount,
|
|
|
|
+ IFNULL(SUM(new_user_total_amount_count), 0) new_user_total_amount_count,
|
|
|
|
+ IFNULL(SUM(new_user_total_amount_num), 0) new_user_total_amount_num,
|
|
|
|
+ IFNULL(SUM(new_user_total_amount), 0) new_user_total_amount,
|
|
|
|
+ round(if(SUM(cost) > 0 , SUM(first_new_user_amount) / SUM(cost) ,0), 4) first_roi,
|
|
|
|
+ round(if(SUM(reg_num) > 0 , SUM(first_new_user_amount_num) / SUM(reg_num) ,0), 4) first_amount_rate,
|
|
|
|
+ round(if(SUM(reg_num) > 0, SUM(new_user_total_amount_num) / SUM(reg_num), 0) ,4) today_amount_rate,
|
|
|
|
+ round(if(SUM(amount_num) > 0 , SUM(first_new_user_amount_num) / SUM(amount_num) ,0), 4) new_user_rate,
|
|
|
|
+ round(if(SUM(first_new_user_amount_count) > 0, SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) first_avg_amount,
|
|
|
|
+ round(if(SUM(new_user_total_amount_count) > 0, SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) today_avg_amount,
|
|
|
|
+ round(if(SUM(amount_count) > 0, SUM(amount) / SUM(amount_count), 0), 2) avg_amount,
|
|
|
|
+ round(if(SUM(new_user_total_amount_num) > 0, SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) user_again_rate,
|
|
|
|
+ round(if(SUM(reg_num) > 0, SUM(new_user_total_amount) / SUM(reg_num), 0), 2) reg_user_arpu,
|
|
|
|
+ round(if(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) first_amount_arpu,
|
|
|
|
+ round(if(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) today_amount_arpu,
|
|
|
|
+ round(if(SUM(amount_num) > 0, SUM(amount) / SUM(amount_num), 0), 2) amount_arpu,
|
|
|
|
+ round(if(SUM(reg_num) > 0, SUM(cost) / SUM(reg_num), 0), 2) reg_cost,
|
|
|
|
+ round(if(SUM(first_new_user_amount_num) > 0, SUM(cost) / SUM(first_new_user_amount_num), 0), 2) first_new_user_recharge_cost,
|
|
|
|
+ round(if(SUM(new_user_total_amount_num) > 0, SUM(cost) / SUM(new_user_total_amount_num), 0), 2) total_recharge_cost,
|
|
|
|
+ round(if(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) total_roi,
|
|
|
|
+ SUM(hundred_user_num) hundred_user_num,
|
|
|
|
+ round(IF(SUM(hundred_user_num) > 0, SUM(cost) / SUM(hundred_user_num), 0), 2) hundred_user_num_cost,
|
|
|
|
+ SUM(first_role_num) first_role_num,
|
|
|
|
+ SUM(role_num) role_num,
|
|
|
|
+ SUM(new_user_total_role_num) new_user_total_role_num,
|
|
|
|
+ round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
|
|
+ round(IF(SUM(role_num) > 0, SUM(cost) / SUM(role_num), 0), 2) role_num_cost,
|
|
|
|
+ round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
|
|
+ FROM game_ads.ads_game_day as a
|
|
|
|
+ left join game_dw.dw_game_amount_day
|
|
|
|
+ b on a.dt=b.dt and a.game_id = b.game_id
|
|
|
|
+ """;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 游戏每日数据总计sql - 父游戏维度 (新)
|
|
* 游戏每日数据总计sql - 父游戏维度 (新)
|
|
|
|
+ *
|
|
* @param tableType 查询类型
|
|
* @param tableType 查询类型
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@@ -3558,7 +3763,31 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(buy_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM game_ads_parent.ads_game_day_parent as a
|
|
FROM game_ads_parent.ads_game_day_parent as a
|
|
LEFT JOIN game_dw_parent.dw_game_amount_day_buy_parent b
|
|
LEFT JOIN game_dw_parent.dw_game_amount_day_buy_parent b
|
|
on a.source_system = b.source_system
|
|
on a.source_system = b.source_system
|
|
@@ -3610,7 +3839,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
|
|
- round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(nature_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM game_ads_parent.ads_game_day_parent as a
|
|
FROM game_ads_parent.ads_game_day_parent as a
|
|
left join game_dw_parent.dw_game_amount_day_nature_parent d
|
|
left join game_dw_parent.dw_game_amount_day_nature_parent d
|
|
on a.dt=d.dt and a.parent_game_id = d.nature_parent_game_id
|
|
on a.dt=d.dt and a.parent_game_id = d.nature_parent_game_id
|
|
@@ -3624,49 +3876,73 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
"""
|
|
"""
|
|
+ amountDayStr("") +
|
|
+ amountDayStr("") +
|
|
"""
|
|
"""
|
|
- IFNULL(SUM(first_new_user_amount_count), 0) first_new_user_amount_count,
|
|
|
|
- IFNULL(SUM(first_new_user_amount_num), 0) first_new_user_amount_num,
|
|
|
|
- IFNULL(SUM(first_new_user_amount), 0) first_new_user_amount,
|
|
|
|
- IFNULL(SUM(old_user_count), 0) old_user_count,
|
|
|
|
- IFNULL(SUM(old_user_num), 0) old_user_num,
|
|
|
|
- IFNULL(SUM(old_user_amount), 0) old_user_amount,
|
|
|
|
- IFNULL(SUM(amount_count), 0) amount_count,
|
|
|
|
- IFNULL(SUM(amount_num), 0) amount_num,
|
|
|
|
- IFNULL(SUM(amount), 0) amount,
|
|
|
|
- IFNULL(SUM(new_user_total_amount_count), 0) new_user_total_amount_count,
|
|
|
|
- IFNULL(SUM(new_user_total_amount_num), 0) new_user_total_amount_num,
|
|
|
|
- IFNULL(SUM(new_user_total_amount), 0) new_user_total_amount,
|
|
|
|
- round(if(SUM(cost) > 0 , SUM(first_new_user_amount) / SUM(cost) ,0), 4) first_roi,
|
|
|
|
- round(if(SUM(reg_num) > 0 , SUM(first_new_user_amount_num) / SUM(reg_num) ,0), 4) first_amount_rate,
|
|
|
|
- round(if(SUM(reg_num) > 0, SUM(new_user_total_amount_num) / SUM(reg_num), 0) ,4) today_amount_rate,
|
|
|
|
- round(if(SUM(amount_num) > 0 , SUM(first_new_user_amount_num) / SUM(amount_num) ,0), 4) new_user_rate,
|
|
|
|
- round(if(SUM(first_new_user_amount_count) > 0, SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) first_avg_amount,
|
|
|
|
- round(if(SUM(new_user_total_amount_count) > 0, SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) today_avg_amount,
|
|
|
|
- round(if(SUM(amount_count) > 0, SUM(amount) / SUM(amount_count), 0), 2) avg_amount,
|
|
|
|
- round(if(SUM(new_user_total_amount_num) > 0, SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) user_again_rate,
|
|
|
|
- round(if(SUM(reg_num) > 0, SUM(new_user_total_amount) / SUM(reg_num), 0), 2) reg_user_arpu,
|
|
|
|
- round(if(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) first_amount_arpu,
|
|
|
|
- round(if(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) today_amount_arpu,
|
|
|
|
- round(if(SUM(amount_num) > 0, SUM(amount) / SUM(amount_num), 0), 2) amount_arpu,
|
|
|
|
- round(if(SUM(reg_num) > 0, SUM(cost) / SUM(reg_num), 0), 2) reg_cost,
|
|
|
|
- round(if(SUM(first_new_user_amount_num) > 0, SUM(cost) / SUM(first_new_user_amount_num), 0), 2) first_new_user_recharge_cost,
|
|
|
|
- round(if(SUM(new_user_total_amount_num) > 0, SUM(cost) / SUM(new_user_total_amount_num), 0), 2) total_recharge_cost,
|
|
|
|
- round(if(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) total_roi,
|
|
|
|
- SUM(hundred_user_num) hundred_user_num,
|
|
|
|
- round(IF(SUM(hundred_user_num) > 0, SUM(cost) / SUM(hundred_user_num), 0), 2) hundred_user_num_cost,
|
|
|
|
- SUM(first_role_num) first_role_num,
|
|
|
|
- SUM(role_num) role_num,
|
|
|
|
- SUM(new_user_total_role_num) new_user_total_role_num,
|
|
|
|
- round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
|
|
- round(IF(SUM(role_num) > 0, SUM(cost) / SUM(role_num), 0), 2) role_num_cost,
|
|
|
|
- round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
|
|
- round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
|
|
- round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
|
|
|
|
- round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
- FROM game_ads_parent.ads_game_day_parent as a
|
|
|
|
- left join game_dw_parent.dw_game_amount_day_parent as b
|
|
|
|
- on a.dt = b.dt and a.parent_game_id = b.parent_game_id
|
|
|
|
- """;
|
|
|
|
|
|
+ IFNULL(SUM(first_new_user_amount_count), 0) first_new_user_amount_count,
|
|
|
|
+ IFNULL(SUM(first_new_user_amount_num), 0) first_new_user_amount_num,
|
|
|
|
+ IFNULL(SUM(first_new_user_amount), 0) first_new_user_amount,
|
|
|
|
+ IFNULL(SUM(old_user_count), 0) old_user_count,
|
|
|
|
+ IFNULL(SUM(old_user_num), 0) old_user_num,
|
|
|
|
+ IFNULL(SUM(old_user_amount), 0) old_user_amount,
|
|
|
|
+ IFNULL(SUM(amount_count), 0) amount_count,
|
|
|
|
+ IFNULL(SUM(amount_num), 0) amount_num,
|
|
|
|
+ IFNULL(SUM(amount), 0) amount,
|
|
|
|
+ IFNULL(SUM(new_user_total_amount_count), 0) new_user_total_amount_count,
|
|
|
|
+ IFNULL(SUM(new_user_total_amount_num), 0) new_user_total_amount_num,
|
|
|
|
+ IFNULL(SUM(new_user_total_amount), 0) new_user_total_amount,
|
|
|
|
+ round(if(SUM(cost) > 0 , SUM(first_new_user_amount) / SUM(cost) ,0), 4) first_roi,
|
|
|
|
+ round(if(SUM(reg_num) > 0 , SUM(first_new_user_amount_num) / SUM(reg_num) ,0), 4) first_amount_rate,
|
|
|
|
+ round(if(SUM(reg_num) > 0, SUM(new_user_total_amount_num) / SUM(reg_num), 0) ,4) today_amount_rate,
|
|
|
|
+ round(if(SUM(amount_num) > 0 , SUM(first_new_user_amount_num) / SUM(amount_num) ,0), 4) new_user_rate,
|
|
|
|
+ round(if(SUM(first_new_user_amount_count) > 0, SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) first_avg_amount,
|
|
|
|
+ round(if(SUM(new_user_total_amount_count) > 0, SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) today_avg_amount,
|
|
|
|
+ round(if(SUM(amount_count) > 0, SUM(amount) / SUM(amount_count), 0), 2) avg_amount,
|
|
|
|
+ round(if(SUM(new_user_total_amount_num) > 0, SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) user_again_rate,
|
|
|
|
+ round(if(SUM(reg_num) > 0, SUM(new_user_total_amount) / SUM(reg_num), 0), 2) reg_user_arpu,
|
|
|
|
+ round(if(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) first_amount_arpu,
|
|
|
|
+ round(if(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) today_amount_arpu,
|
|
|
|
+ round(if(SUM(amount_num) > 0, SUM(amount) / SUM(amount_num), 0), 2) amount_arpu,
|
|
|
|
+ round(if(SUM(reg_num) > 0, SUM(cost) / SUM(reg_num), 0), 2) reg_cost,
|
|
|
|
+ round(if(SUM(first_new_user_amount_num) > 0, SUM(cost) / SUM(first_new_user_amount_num), 0), 2) first_new_user_recharge_cost,
|
|
|
|
+ round(if(SUM(new_user_total_amount_num) > 0, SUM(cost) / SUM(new_user_total_amount_num), 0), 2) total_recharge_cost,
|
|
|
|
+ round(if(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) total_roi,
|
|
|
|
+ SUM(hundred_user_num) hundred_user_num,
|
|
|
|
+ round(IF(SUM(hundred_user_num) > 0, SUM(cost) / SUM(hundred_user_num), 0), 2) hundred_user_num_cost,
|
|
|
|
+ SUM(first_role_num) first_role_num,
|
|
|
|
+ SUM(role_num) role_num,
|
|
|
|
+ SUM(new_user_total_role_num) new_user_total_role_num,
|
|
|
|
+ round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
|
|
+ round(IF(SUM(role_num) > 0, SUM(cost) / SUM(role_num), 0), 2) role_num_cost,
|
|
|
|
+ round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
|
|
+ FROM game_ads_parent.ads_game_day_parent as a
|
|
|
|
+ left join game_dw_parent.dw_game_amount_day_parent as b
|
|
|
|
+ on a.dt = b.dt and a.parent_game_id = b.parent_game_id
|
|
|
|
+ """;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -3929,21 +4205,21 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
- * Dn的充值金额 / D1-Dn的充值总金额 / Dn的充值人数 /当前消耗(剔除不存在的天数数据) /D1充值金额总和(剔除不存在的天数数据)
|
|
|
|
|
|
+ * Dn的充值金额 / D1-Dn的充值总金额 / Dn的充值人数 /当前消耗(剔除不存在的天数数据) /D1充值金额总和(剔除不存在的天数数据)
|
|
* 游戏每日总计趋势sql
|
|
* 游戏每日总计趋势sql
|
|
*/
|
|
*/
|
|
- private static String amountDayStr(String type){
|
|
|
|
|
|
+ private static String amountDayStr(String type) {
|
|
//拼接查询条件
|
|
//拼接查询条件
|
|
StringBuilder trendDay = new StringBuilder(StringUtils.EMPTY);
|
|
StringBuilder trendDay = new StringBuilder(StringUtils.EMPTY);
|
|
trendDay.append("""
|
|
trendDay.append("""
|
|
- CONCAT(
|
|
|
|
- SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), %sda1, 0)),'/',
|
|
|
|
- IFNULL(sum(%sda1),0),'/',
|
|
|
|
- sum(ifnull(%sda1_num,0)),'/',
|
|
|
|
- SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), cost, 0)),'/',
|
|
|
|
- SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), %sda1, 0))
|
|
|
|
- ) AS amount_d1 ,
|
|
|
|
- """.formatted(type, type, type, type));
|
|
|
|
|
|
+ CONCAT(
|
|
|
|
+ SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), %sda1, 0)),'/',
|
|
|
|
+ IFNULL(sum(%sda1),0),'/',
|
|
|
|
+ sum(ifnull(%sda1_num,0)),'/',
|
|
|
|
+ SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), cost, 0)),'/',
|
|
|
|
+ SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), %sda1, 0))
|
|
|
|
+ ) AS amount_d1 ,
|
|
|
|
+ """.formatted(type, type, type, type));
|
|
|
|
|
|
for (int day = 2; day < 90; day++) {
|
|
for (int day = 2; day < 90; day++) {
|
|
trendDay.append("""
|
|
trendDay.append("""
|
|
@@ -3954,19 +4230,19 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
SUM(IF(DATE_ADD(a.dt, INTERVAL %d day) <= DATE(NOW()), cost, 0)),'/',
|
|
SUM(IF(DATE_ADD(a.dt, INTERVAL %d day) <= DATE(NOW()), cost, 0)),'/',
|
|
SUM(IF(DATE_ADD(a.dt, INTERVAL %d day) <= DATE(NOW()), %sda1, 0))
|
|
SUM(IF(DATE_ADD(a.dt, INTERVAL %d day) <= DATE(NOW()), %sda1, 0))
|
|
) AS amount_d%s ,
|
|
) AS amount_d%s ,
|
|
- """.formatted( day - 1,type,day,type,day - 1,type, day, type, day, day - 1, day - 1, type, day));
|
|
|
|
|
|
+ """.formatted(day - 1, type, day, type, day - 1, type, day, type, day, day - 1, day - 1, type, day));
|
|
}
|
|
}
|
|
|
|
|
|
//三月
|
|
//三月
|
|
trendDay.append("""
|
|
trendDay.append("""
|
|
- CONCAT(
|
|
|
|
- SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), %sm3-%sda89, 0)),'/',
|
|
|
|
- IFNULL(sum(%sm3),0),'/',
|
|
|
|
- sum(ifnull(%sda90_num,0)),'/',
|
|
|
|
- SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), cost, 0)),'/',
|
|
|
|
- SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), %sda1, 0))
|
|
|
|
- ) AS amount_d90 ,
|
|
|
|
- """.formatted(type, type, type, type,type));
|
|
|
|
|
|
+ CONCAT(
|
|
|
|
+ SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), %sm3-%sda89, 0)),'/',
|
|
|
|
+ IFNULL(sum(%sm3),0),'/',
|
|
|
|
+ sum(ifnull(%sda90_num,0)),'/',
|
|
|
|
+ SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), cost, 0)),'/',
|
|
|
|
+ SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), %sda1, 0))
|
|
|
|
+ ) AS amount_d90 ,
|
|
|
|
+ """.formatted(type, type, type, type, type));
|
|
for (int month = 4; month <= 12; month++) {
|
|
for (int month = 4; month <= 12; month++) {
|
|
trendDay.append("""
|
|
trendDay.append("""
|
|
CONCAT(
|
|
CONCAT(
|
|
@@ -3976,7 +4252,7 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
SUM(IF(DATE_ADD(a.dt, INTERVAL %d month) <= DATE(NOW()), cost, 0)),'/',
|
|
SUM(IF(DATE_ADD(a.dt, INTERVAL %d month) <= DATE(NOW()), cost, 0)),'/',
|
|
SUM(IF(DATE_ADD(a.dt, INTERVAL %d month) <= DATE(NOW()), %sda1, 0))
|
|
SUM(IF(DATE_ADD(a.dt, INTERVAL %d month) <= DATE(NOW()), %sda1, 0))
|
|
) AS amount_m%s ,
|
|
) AS amount_m%s ,
|
|
- """.formatted(month -1 , type,month,type,month - 1,type, month, type, month, month - 1,month - 1, type,month));
|
|
|
|
|
|
+ """.formatted(month - 1, type, month, type, month - 1, type, month, type, month, month - 1, month - 1, type, month));
|
|
}
|
|
}
|
|
// //拼接sum数据
|
|
// //拼接sum数据
|
|
trendDay.append("""
|
|
trendDay.append("""
|
|
@@ -4050,7 +4326,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(buy_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
ads_game_day
|
|
ads_game_day
|
|
""" + criA +
|
|
""" + criA +
|
|
@@ -4176,7 +4475,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(nature_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
ads_game_day
|
|
ads_game_day
|
|
""" + criA +
|
|
""" + criA +
|
|
@@ -4303,7 +4625,31 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
ads_game_day
|
|
ads_game_day
|
|
""" + criA +
|
|
""" + criA +
|
|
@@ -4440,7 +4786,29 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+ sum(buy_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
game_ads_parent.ads_game_day_parent
|
|
game_ads_parent.ads_game_day_parent
|
|
""" + criA +
|
|
""" + criA +
|
|
@@ -4566,7 +4934,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(nature_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
game_ads_parent.ads_game_day_parent
|
|
game_ads_parent.ads_game_day_parent
|
|
""" + criA +
|
|
""" + criA +
|
|
@@ -4693,7 +5084,31 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
game_ads_parent.ads_game_day_parent
|
|
game_ads_parent.ads_game_day_parent
|
|
""" + criA +
|
|
""" + criA +
|
|
@@ -4811,7 +5226,31 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(buy_first_role_num) > 0, SUM(cost) / SUM(buy_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(buy_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
""" + tableName;
|
|
""" + tableName;
|
|
} else if ("nature".equals(tableType)) {
|
|
} else if ("nature".equals(tableType)) {
|
|
@@ -4845,7 +5284,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(nature_first_role_num) > 0, SUM(cost) / SUM(nature_first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(nature_first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
""" + tableName;
|
|
""" + tableName;
|
|
}
|
|
}
|
|
@@ -4880,7 +5342,30 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
|
|
- round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
|
|
|
+ round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
|
|
|
|
+
|
|
|
|
+ sum(first_effective_role_num) as first_effective_role_num, -- 首日有效创角人数
|
|
|
|
+ sum(new_user_total_effective_role_num) as new_user_total_effective_role_num, -- 新用户累计有效创角人数
|
|
|
|
+ SUM(effective_role_num) as effective_role_num, -- 有效创角人数
|
|
|
|
+
|
|
|
|
+ ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate, -- 首日有效创角率 = 首日有效创角人数/首日创角人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
|
|
|
|
+ round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate, -- 有效创角率 = 有效创角人数/创角人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0),2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0),2) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(effective_role_num),0),2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
|
|
|
|
+
|
|
|
|
+ SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
|
|
|
|
+ sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0),2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
|
|
|
|
+ round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0),2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
|
|
|
|
+
|
|
|
|
+ round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
|
|
|
|
+ round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
|
|
|
|
+ ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0),2) as first_effective_role_arpu, -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
|
|
|
|
+ ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
|
|
FROM
|
|
FROM
|
|
""" + tableName;
|
|
""" + tableName;
|
|
}
|
|
}
|
|
@@ -5694,9 +6179,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
|
|
|
//查询总记录数
|
|
//查询总记录数
|
|
//默认子游戏
|
|
//默认子游戏
|
|
- Sql countSql = Sqls.create(getCountNumSubgameSql2(cri, agentCri, subGameSql,yesterdayTotalAmountCri));
|
|
|
|
|
|
+ Sql countSql = Sqls.create(getCountNumSubgameSql2(cri, agentCri, subGameSql, yesterdayTotalAmountCri));
|
|
if (dto.getGameDimension() == 2) {
|
|
if (dto.getGameDimension() == 2) {
|
|
- countSql = Sqls.create(getCountNumSql(cri, agentCri,yesterdayTotalAmountCri));
|
|
|
|
|
|
+ countSql = Sqls.create(getCountNumSql(cri, agentCri, yesterdayTotalAmountCri));
|
|
}
|
|
}
|
|
countSql.setCallback(Sqls.callback.integer());
|
|
countSql.setCallback(Sqls.callback.integer());
|
|
dao.execute(countSql);
|
|
dao.execute(countSql);
|