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. 将目标和发货里的产品和日期字段分别与产品表和日期表进行关联,结果如下图。
相关推荐
慧都小妮子8 小时前
Wyn商业智能国产数据库适配:数据接入、分析缓存与审计日志验证清单
数据库·数据分析·数据可视化·审计日志·商业智能
Aloudata9 小时前
Claude 做数据分析的这两年:一份复盘与发展线索
大数据·数据库·人工智能·数据挖掘·数据分析·dataagent
wang_yb21 小时前
新数据到手,先跑哪几步检查
数据分析·databook
databook21 小时前
新数据到手,先跑哪几步检查
python·数据分析
GrowingIO技术社区1 天前
漏斗分析怎么做?从注册到提交咨询的步骤与示例
数据分析
benchmark_cc2 天前
单只股票五档盘口接入个人研究仓库:QuantDash 读取、校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
GrowingIO技术社区2 天前
用户行为分析怎么做?从业务目标到改进验证的完整流程
大数据·数据挖掘·数据分析
三兔测序学社2 天前
单细胞免疫组库分析3:从 scBCR-seq 序列到 3D 结构-IgFold 与 PyMOL 全流程深度解析
数据分析
benchmark_cc3 天前
用 QuantDash 读取美股行情:AAPL.US 的运行前检查、排错顺序与数据校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
AI源码4 天前
基于 Python 的汽车市场数据分析与可视化平台
python·数据分析·汽车