2 Commits

View File

@@ -87,10 +87,10 @@
DOSAGEID, DOSAGEID,
CUSTOMID, CUSTOMID,
SALERID, SALERID,
SUM( MONTHSAQTY ) AS THISSAQTY, SUM( MONTHSAQTY ) AS THISSAQTY, -- 本年销量
SUM( MONTHSAMONEY ) AS THISSAMONEY, SUM( MONTHSAMONEY ) AS THISSAMONEY, -- 本年销售金额
SUM( MONTHCOST) as THISCOST, SUM( MONTHCOST) as THISCOST, -- 本年毛利额
SUM( MONTHPROFIT ) AS THISPROFIT SUM( MONTHPROFIT ) AS THISPROFIT -- 本年毛利额
FROM FROM
yunji_gr_bi_sa_agg yunji_gr_bi_sa_agg
GROUP BY GROUP BY
@@ -165,11 +165,11 @@
UPDATE yunji_gr_bi_sa_agg UPDATE yunji_gr_bi_sa_agg
SET SET
MONTHPROFITRATE = CASE WHEN MONTHSAMONEY = 0 or MONTHSAMONEY is null THEN MONTHPROFITRATE = CASE WHEN MONTHSAMONEY = 0 or MONTHSAMONEY is null THEN
100 ELSE MONTHPROFIT/ MONTHSAMONEY * 100 END, IF(MONTHPROFIT > 0, 100, 0) ELSE MONTHPROFIT/ MONTHSAMONEY * 100 END,
THISPROFITRATE = CASE WHEN THISSAMONEY = 0 or THISSAMONEY is null THEN THISPROFITRATE = CASE WHEN THISSAMONEY = 0 or THISSAMONEY is null THEN
100 ELSE THISPROFIT/ THISSAMONEY * 100 END, IF(THISPROFIT > 0, 100, 0) ELSE THISPROFIT/ THISSAMONEY * 100 END,
LASTPROFITRATE =CASE WHEN LASTSAMONEY = 0 or LASTSAMONEY is null THEN LASTPROFITRATE =CASE WHEN LASTSAMONEY = 0 or LASTSAMONEY is null THEN
100 ELSE LASTPROFIT/ LASTSAMONEY * 100 END; IF(LASTPROFIT > 0, 100, 0) ELSE LASTPROFIT/ LASTSAMONEY * 100 END;
</update> </update>
@@ -229,8 +229,8 @@
USEYEAR, USEYEAR,
USEMONTH USEMONTH
) b ON b.USEYEAR = a.USEYEAR ) b ON b.USEYEAR = a.USEYEAR
SET a.LASTSAMONEYSHARE = COALESCE (ROUND( CASE WHEN LASTSAMONEY_SUM = 0 or LASTSAMONEY_SUM is null THEN 1 ELSE a.LASTSAMONEY/b.LASTSAMONEY_SUM * 100 END, 2), 0 ), SET a.LASTSAMONEYSHARE = COALESCE (ROUND( CASE WHEN LASTSAMONEY_SUM = 0 or LASTSAMONEY_SUM is null THEN IF(a.LASTSAMONEY > 0, 100, 0) ELSE a.LASTSAMONEY/b.LASTSAMONEY_SUM * 100 END, 2), 0 ),
a.LASTPROFITSHARE = COALESCE (ROUND( CASE WHEN LASTPROFIT_SUM = 0 or LASTPROFIT_SUM is null THEN 1 ELSE a.LASTPROFIT/b.LASTPROFIT_SUM * 100 END, 2), 0 ); a.LASTPROFITSHARE = COALESCE (ROUND( CASE WHEN LASTPROFIT_SUM = 0 or LASTPROFIT_SUM is null THEN IF(a.LASTPROFIT > 0, 100, 0) ELSE a.LASTPROFIT/b.LASTPROFIT_SUM * 100 END, 2), 0 );
</update> </update>
<update id="updateComplexCalculate5"> <update id="updateComplexCalculate5">
@@ -240,18 +240,14 @@
UPDATE yunji_gr_bi_sa_agg UPDATE yunji_gr_bi_sa_agg
SET SET
SAMONEYGROWTH = CASE SAMONEYGROWTH = CASE
WHEN ( LASTSAMONEY = 0 OR LASTSAMONEY IS NULL ) WHEN ( LASTSAMONEY = 0 OR LASTSAMONEY IS NULL ) AND THISSAMONEY IS NOT NULL
AND THISSAMONEY IS NOT NULL THEN THEN IF((THISSAMONEY - LASTSAMONEY) > 0, 100, 0)
100 ELSE ( THISSAMONEY - LASTSAMONEY )/ LASTSAMONEY * 100
WHEN THISPROFIT IS NULL THEN
0 ELSE ( THISSAMONEY - LASTSAMONEY )/ LASTSAMONEY * 100
END, END,
PROFITGROWTH = CASE PROFITGROWTH = CASE
WHEN ( LASTPROFIT = 0 OR LASTPROFIT IS NULL ) WHEN ( LASTPROFIT = 0 OR LASTPROFIT IS NULL ) AND THISPROFIT IS NOT NULL
AND THISPROFIT IS NOT NULL THEN THEN IF((THISSAMONEY - LASTSAMONEY) > 0, 100, 0)
100 ELSE ( THISPROFIT - LASTPROFIT )/ LASTPROFIT * 100
WHEN THISPROFIT IS NULL THEN
0 ELSE ( THISPROFIT - LASTPROFIT )/ LASTPROFIT * 100
END, END,
PROFITCHANGE = ( THISPROFIT - LASTPROFIT); PROFITCHANGE = ( THISPROFIT - LASTPROFIT);
</update> </update>