帆软报表数据集-with...as...写法
“Target_Type”,– 指标类型(大区或经销商(数量/金额)指标)5, ‘北二区’,6, ‘渝贵特区’,7, ‘江浙特区’,8, ‘上海特区’1, ‘西大区’,2, ‘华中大区’,3, ‘南大区’,4, ‘北一区’,“DIM_DivisionFranchiseName”,– 事业部名称。“DIM_DivisionFranchiseName”,– 事业部名称。“DIM_DivisionFra
------帆软报表数据集-with…as…写法。
WITH PUR_REGION
AS (
SELECT – top 10
“Year”, – 年份
“Month”, – 月份
“Region”, – 销售大区
– “DivisionCode”, – 产品线编码
– “DivisionName”, – 产品线名称
– “DealerName”, – 经销商名称
– “ValueType”, – 值类型(Actual/Target)
– “Target_Type”, – 指标类型(大区或经销商(数量/金额)指标)
“DIM_DivisionFranchiseCode”, – 事业部编码
“DIM_DivisionFranchiseName”, – 事业部名称
CASE WHEN "Target_Type" = 'PUR_Taget_Region_Amount'
THEN SUM("PUR_Target") ELSE 0 END AS "Amount_Target", -- 商采目标-金额
CASE WHEN "Target_Type" = 'PUR_Taget_Region_Qty'
THEN SUM("PUR_Target") ELSE 0 END AS "Qty_Target", -- 商采目标-数量
-- 逻辑1-rq商采数量,只统计主产品(吻合器-枪&CSUS-刀头),可参考rq产品映射表
CASE WHEN "DIM_DivisionFranchiseCode" = 'RQ'
AND TRIM(UPPER("KEY_Product")) IN ('刀头', '枪', '枪OR刀头','刀头OR枪')
THEN SUM("Qty") ELSE SUM("Qty") END AS "Qty_Actual", -- 实际商采-数量
-- SUM("Qty") AS "Qty_Actual",
SUM("AmountByActualPurchasePriceTax") AS "Amount_Actual" -- 实际商采-金额
FROM "_SYS_BIC"."EDW.GENESIS_DMS/GENESIS_RPT_DealerPurchase"
WHERE "DIM_DivisionFranchiseCode" = 'RQ'
and ("Year"=${Years} OR "Year"=${Years}-1)
-- 暂时限制RQ的(DMS2-Franchise)
AND "Region" IS NOT NULL -- 限制大区非空
AND ("ValueType" = 'Actual' -- 实际商采(金额/数量)
OR "Target_Type" = 'PUR_Taget_Region_Amount' -- 商采指标类型-金额
OR "Target_Type" = 'PUR_Taget_Region_Qty') -- 商采指标类型-数量
GROUP BY "Year",
"Month",
"Region",
"DIM_DivisionFranchiseCode",
"DIM_DivisionFranchiseName",
"Target_Type",
"KEY_Product"
),
– Below CTE for This Year
PUR_REGION_RUNNING
AS(
SELECT
“Year”, – 年份
“Month”, – 月份
“Region”, – 销售大区
“DIM_DivisionFranchiseCode”, – 事业部编码
“DIM_DivisionFranchiseName”, – 事业部名称
SUM("Amount_Target") AS "Amount_Target", -- 商采目标-金额
SUM("Qty_Target") AS "Qty_Target", -- 商采目标-数量
SUM("Qty_Actual") AS "Qty_Actual", -- 实际商采-数量
SUM("Amount_Actual") AS "Amount_Actual", -- 实际商采-金额
SUM(SUM("Amount_Target"))
OVER (PARTITION BY "Year","Region" ORDER BY "Month") AS "Amount_Target_Running", -- 商采目标-金额-逐月累计
SUM(SUM("Qty_Target"))
OVER (PARTITION BY "Year","Region" ORDER BY "Month") AS "Qty_Target_Running", -- 商采目标-数量-逐月累计
SUM(SUM("Qty_Actual"))
OVER (PARTITION BY "Year","Region" ORDER BY "Month") AS "Qty_Actual_Running", -- 实际商采-数量-逐月累计
SUM(SUM("Amount_Actual"))
OVER (PARTITION BY "Year","Region" ORDER BY "Month") AS "Amount_Actual_Running" -- 实际商采-金额-逐月累计
FROM PUR_REGION
GROUP BY "Year",
"Month",
"Region",
"DIM_DivisionFranchiseCode",
"DIM_DivisionFranchiseName"
),
– Below CTE for LY - Last_Year
PUR_REGION_RUNNING_LY
AS(
SELECT
“Year” + 1 AS “Year”, – 年份
“Month”, – 月份
“Region”, – 销售大区
“DIM_DivisionFranchiseCode”, – 事业部编码
“DIM_DivisionFranchiseName”, – 事业部名称
"Amount_Target" AS "Amount_Target_LY", -- 商采目标-金额-LY
"Qty_Target" AS "Qty_Target_LY", -- 商采目标-数量-LY
"Qty_Actual" AS "Qty_Actual_LY", -- 实际商采-数量-LY
"Amount_Actual" AS "Amount_Actual_LY", -- 实际商采-金额-LY
"Amount_Target_Running" AS "Amount_Target_Running_LY", -- 商采目标-金额-逐月累计-LY
"Qty_Target_Running" AS "Qty_Target_Running_LY", -- 商采目标-数量-逐月累计-LY
"Qty_Actual_Running" AS "Qty_Actual_Running_LY", -- 实际商采-数量-逐月累计-LY
"Amount_Actual_Running" AS "Amount_Actual_Running_LY" -- 实际商采-金额-逐月累计-LY
FROM PUR_REGION_RUNNING
),
– Blow CTE for Region Sorter per Fracnhise
– Region_Sorter_RQ
– Region_Sorter_NV
– Region_Sorter_IC
– Region_Sorter_PI
– Region_Sorter_Suture
– Region_Sorter_SH
Region_Sorter_RQ
AS(
SELECT
‘RQ’ AS “FrachiseCode”,
“SERIES”.“ELEMENT_NUMBER” AS “Region_Sorter”,
MAP(“SERIES”.“ELEMENT_NUMBER”,
1, ‘西大区’, 2, ‘华中大区’, 3, ‘南大区’, 4, ‘北一区’,
5, ‘北二区’, 6, ‘渝贵特区’, 7, ‘江浙特区’, 8, ‘上海特区’
) AS “Region”
FROM DUMMY AS Region_2024,
SERIES_GENERATE_INTEGER(1, 0, 8) AS “SERIES”
ORDER BY “SERIES”.“ELEMENT_NUMBER”
),
– 如果后续需要添加其他BU的大区排序, 可以UNION ALL 在下面的CTE中
Region_Sorter_UNION
AS (
SELECT
“FrachiseCode”,
“Region_Sorter”,
“Region”
FROM Region_Sorter_RQ
)
– Final Output
SELECT
“Year”, – 年份
“Month”, – 月份
PUR.“Region”, – 销售大区
Region_Sort.“Region_Sorter”, – 销售大区
“DIM_DivisionFranchiseCode”, – 事业部编码
“DIM_DivisionFranchiseName”, – 事业部名称
"Amount_Target", -- 商采目标-金额
"Qty_Target", -- 商采目标-S数量
"Qty_Actual", -- 实际商采-数量
"Amount_Actual", -- 实际商采-金额
"Amount_Target_Running", -- 商采目标-金额-逐月累计
"Qty_Target_Running", -- 商采目标-数量-逐月累计
"Qty_Actual_Running", -- 实际商采-数量-逐月累计
"Amount_Actual_Running", -- 实际商采-金额-逐月累计
0 AS "Amount_Target_LY", -- 商采目标-金额-LY
0 AS "Qty_Target_LY", -- 商采目标-数量-LY
0 AS "Qty_Actual_LY", -- 实际商采-数量-LY
0 AS "Amount_Actual_LY", -- 实际商采-金额-LY
0 AS "Amount_Target_Running_LY", -- 商采目标-金额-逐月累计-LY
0 AS "Qty_Target_Running_LY", -- 商采目标-数量-逐月累计-LY
0 AS "Qty_Actual_Running_LY", -- 实际商采-数量-逐月累计-LY
0 AS "Amount_Actual_Running_LY" -- 实际商采-金额-逐月累计-LY
FROM PUR_REGION_RUNNING AS PUR
LEFT JOIN Region_Sorter_UNION AS Region_Sort
ON Region_Sort."FrachiseCode" = PUR."DIM_DivisionFranchiseCode"
AND Region_Sort."Region" = PUR."Region"
UNION ALL
SELECT
"Year", -- 年份
"Month", -- 月份
PUR_LY."Region", -- 销售大区
Region_Sort."Region_Sorter", -- 销售大区
"DIM_DivisionFranchiseCode", -- 事业部编码
"DIM_DivisionFranchiseName", -- 事业部名称
0 AS "Amount_Target", -- 商采目标-金额
0 AS "Qty_Target", -- 商采目标-S数量
0 AS "Qty_Actual", -- 实际商采-数量
0 AS "Amount_Actual", -- 实际商采-金额
0 AS "Amount_Target_Running", -- 商采目标-金额-逐月累计
0 AS "Qty_Target_Running", -- 商采目标-数量-逐月累计
0 AS "Qty_Actual_Running", -- 实际商采-数量-逐月累计
0 AS "Amount_Actual_Running", -- 实际商采-金额-逐月累计
"Amount_Target_LY", -- 商采目标-金额-LY
"Qty_Target_LY", -- 商采目标-数量-LY
"Qty_Actual_LY", -- 实际商采-数量-LY
"Amount_Actual_LY", -- 实际商采-金额-LY
"Amount_Target_Running_LY", -- 商采目标-金额-逐月累计-LY
"Qty_Target_Running_LY", -- 商采目标-数量-逐月累计-LY
"Qty_Actual_Running_LY", -- 实际商采-数量-逐月累计-LY
"Amount_Actual_Running_LY" -- 实际商采-金额-逐月累计-LY
FROM PUR_REGION_RUNNING_LY AS PUR_LY
LEFT JOIN Region_Sorter_UNION AS Region_Sort
ON Region_Sort."FrachiseCode" = PUR_LY."DIM_DivisionFranchiseCode"
AND Region_Sort."Region" = PUR_LY."Region"
更多推荐
所有评论(0)