This commit is contained in:
2026-04-15 10:36:20 +08:00
parent 43527d6c98
commit f1903bf7bb
811 changed files with 46977 additions and 41706 deletions

View File

@@ -56,69 +56,30 @@ table Dim_Class
){
[Name = CatalogName, Kind = "Database"]
}[Data],
"SELECT DISTINCT MARKET,
CASE
WHEN NVL(A.CLASS, '') = ''
OR A.CLASS = 'Others' THEN '-'
ELSE UPPER(A.CLASS)
END CLASS,
A.DATA_SOURCE,
NVL(PN.RN, 99) CLASS_RN
FROM
DM.DM_TD_EXTERNAL_MARKET_PACK_MAPPING A
LEFT JOIN (
SELECT
CLASS,
row_number() OVER(
PARTITION BY 1
ORDER BY
(
CASE
WHEN CLASS = '-' THEN 0
ELSE SALES_VALUE_CAL
END
) DESC
) RN
FROM
(
SELECT
UPPER(
CASE
WHEN NVL(CLASS, '') = ''
OR CLASS = 'Others' THEN '-'
ELSE UPPER(CLASS)
END
) CLASS,
SUM(B.SALES_VALUE_CAL) SALES_VALUE_CAL
FROM
DM.DM_TD_EXTERNAL_MARKET_PACK_MAPPING A
INNER JOIN DM.DM_TF_EXTERNAL_SALES B ON A.PACK_COD = B.PACK_COD
AND A.DATA_SOURCE = B.DATA_SOURCE
and a.new_code = b.new_code
WHERE
B.YYYYMM >= (
SELECT
LEFT(MAX(YYYYMM), 4) * 100 + 1
FROM
DM.DM_TF_EXTERNAL_SALES
WHERE
DATA_SOURCE = 'IQVIA-CHPA(Monthly)'
)
AND B.DATA_SOURCE = 'IQVIA-CHPA(Monthly)'
GROUP BY
CASE
WHEN NVL(CLASS, '') = ''
OR CLASS = 'Others' THEN '-'
ELSE UPPER(CLASS)
END
) T
) PN ON UPPER(
CASE
WHEN NVL(A.CLASS, '') = ''
OR A.CLASS = 'Others' THEN '-'
ELSE UPPER(A.CLASS)
END
) = PN.CLASS
"WITH class_sales AS (
-- 第一步:聚合,得到每个 class 的总销售额
SELECT
class,
SUM(SALES_VALUE_CAL) AS total_sales
FROM dm.dm_tf_ext_unionall_market_sales
WHERE DATA_SOURCE = 'IQVIA-CHPA(Monthly)'
GROUP BY class
),
class_rn AS (
-- 第二步:按总销售额排序,生成行号
SELECT
class,
ROW_NUMBER() OVER (ORDER BY total_sales) AS rn
FROM class_sales
)
SELECT /*+ BROADCAST(R) */
L.MARKET,
L.CLASS,
L.DATASOURCE AS DATA_SOURCE,
COALESCE(R.rn, 99) AS CLASS_RN
FROM dm.dm_td_ext_unionall_market_pack_mapping L
LEFT JOIN class_rn R
ON L.CLASS = R.CLASS
"
& UsingLimit,
null,
@@ -130,7 +91,7 @@ table Dim_Class
Source
```
annotation PBI_ResultType = Exception
annotation PBI_ResultType = Table
annotation PBI_NavigationStepName = Navigation