SSAS - 发货主题数据第1阶

本文按SSAS - 生成模拟测试数据的方法,生成基于发货主题的模拟数据。

  1. 产品
sql 复制代码
SELECT * FROM (VALUES (101, '产品1'), (102, '产品2'), (103, '产品3')) AS Products(Id, Name)
Id Name
101 产品1
102 产品2
103 产品3
  1. 日期
sql 复制代码
SELECT
    T.[Date] AS 日期,
    YEAR(T.[Date]) AS 年,
    FORMAT(MONTH(T.[Date]), '00') AS 月,
    FORMAT(DAY(T.[Date]), '00') AS 日,
    CAST(FORMAT(T.[Date], 'yyyyMM') AS INT) AS 年月,
    CASE DATEPART(dw, T.[Date])
        WHEN 2 THEN N'星期一'
        WHEN 3 THEN N'星期二'
        WHEN 4 THEN N'星期三'
        WHEN 5 THEN N'星期四'
        WHEN 6 THEN N'星期五'
        WHEN 7 THEN N'星期六'
        WHEN 1 THEN N'星期日'
    END AS 星期
FROM
    (
        SELECT 
            DATEADD(MONTH, number, '2024-01-01') AS [Date]
        FROM master.dbo.spt_values 
        WHERE type = 'P' AND number BETWEEN 0 AND 23
    ) AS T
日期 年月 星期
2024-01-01 00:00:00.000 2024 01 01 202401 星期一
2024-02-01 00:00:00.000 2024 02 01 202402 星期四
... ... ... ... ... ...
2025-12-01 00:00:00.000 2025 12 01 202512 星期一
  1. 目标
sql 复制代码
SELECT
    DATEADD(MONTH, sv.number, '2025-01-01') AS Date,
    p.ProductId,
    100 AS Quantity,
    1000 AS Total
FROM master.dbo.spt_values sv
CROSS JOIN (VALUES (101), (102), (103)) AS p(ProductId)
WHERE sv.type = 'P' AND sv.number BETWEEN 0 AND 11
Date ProductId Quantity Total
2025-01-01 00:00:00.000 101 1011 4210
2025-01-01 00:00:00.000 102 409 8650
2025-01-01 00:00:00.000 103 684 9420
2025-02-01 00:00:00.000 101 271 4340
2025-02-01 00:00:00.000 102 411 6420
2025-02-01 00:00:00.000 103 296 7140
... ... ... ...
2025-12-01 00:00:00.000 101 642 4680
2025-12-01 00:00:00.000 102 1003 3790
2025-12-01 00:00:00.000 103 159 6500
  1. 发货
sql 复制代码
SELECT
    DATEADD(MONTH, sv.number, '2024-01-01') AS Date,
    p.ProductId,
    /* 2024年为50,2025年为100 */
    CASE WHEN sv.number BETWEEN 0 AND 11 THEN 50 ELSE 100 END AS Quantity,
    CASE WHEN sv.number BETWEEN 0 AND 11 THEN 50 ELSE 100 END * 10 AS Total
FROM
    master.dbo.spt_values sv
CROSS JOIN
    (VALUES (101), (102), (103)) AS p(ProductId)
WHERE
    sv.type = 'P'
    AND sv.number BETWEEN 0 AND 23;
Date ProductId Quantity Total
2024-01-01 00:00:00.000 101 50 500
2024-01-01 00:00:00.000 102 50 500
2024-01-01 00:00:00.000 103 50 500
2024-02-01 00:00:00.000 101 50 500
2024-02-01 00:00:00.000 102 50 500
2024-02-01 00:00:00.000 103 50 500
... ... ... ...
2025-12-01 00:00:00.000 101 100 1000
2025-12-01 00:00:00.000 102 100 1000
2025-12-01 00:00:00.000 103 100 1000
  1. 目标发货里的产品日期字段分别与产品表和日期表进行关联,结果如下图。
相关推荐
CC数分7 小时前
电商领域备考CDA数据分析师经验分享
经验分享·数据分析
tsyjjOvO8 小时前
SpringMVC 从入门到精通
数据仓库·hive·hadoop
V1ncent Chen12 小时前
SQL大师之路 14 子查询
数据库·sql·mysql·数据分析
V1ncent Chen14 小时前
SQL大师之路 15 条件分支
数据库·sql·mysql·数据分析
I love studying!!!15 小时前
python项目:生成数据
信息可视化·数据挖掘·数据分析
十三画者15 小时前
【文献分享】利用 Evo 2 在生命的所有领域进行基因组建模与设计
数据挖掘·数据分析·lstm
weixin_4493108415 小时前
ETL转换和数据写入小满OKKICRM的技术细节
数据仓库·php·etl
十三画者16 小时前
【文献分享】OSDR基于空间截面的时态组织动态分析
数据挖掘·数据分析·lstm
技术净胜16 小时前
Gephi基于图论与物理模拟的网络可视化原理
数据分析·图论
逍遥德16 小时前
Postgresql explain执行计划详解
数据库·后端·sql·postgresql·数据分析