You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI基于SQL数据源的产品价格变动追踪与利润可视化DAX实现

需求实现方案:Power BI中处理未来生效的产品价格变动

示例SQL数据表结构及数据

假设SQL数据库包含以下核心表:

1. 产品表(Products)

ProductIDProductNameCostPrice
1产品A50
2产品B80
3产品C30

2. 销售表(Sales)

SaleIDProductIDSaleDateQuantity
112024-01-1010
222024-02-155
312024-03-208

3. 价格变动表(PriceChanges)

ChangeIDProductIDNewPriceEffectiveDate
11752024-04-01
221102024-03-01
33452024-05-01

DAX度量值编写

首先需在Power BI中建立表关系:Products[ProductID]关联Sales[ProductID]与PriceChanges[ProductID],并创建日期表作为时间维度基础。

1. 日期表(DAX生成)

DateTable = CALENDAR(DATE(2023,1,1), DATE(2024,12,31))

2. 当前生效销售价格(含未来生效逻辑)

根据所选日期自动匹配已生效的最新价格,无变动时使用默认初始售价(可根据业务调整):

Current Selling Price = 
VAR SelectedDate = MAX(DateTable[Date])
VAR LatestValidChange = 
    CALCULATE(
        MAX(PriceChanges[EffectiveDate]),
        PriceChanges[EffectiveDate] <= SelectedDate,
        ALLEXCEPT(PriceChanges, PriceChanges[ProductID])
    )
VAR DefaultPrice = MAX(Products[CostPrice]) * 1.5  -- 默认按成本价上浮50%作为初始售价
RETURN
IF(
    NOT(ISBLANK(LatestValidChange)),
    CALCULATE(MAX(PriceChanges[NewPrice]), PriceChanges[EffectiveDate] = LatestValidChange),
    DefaultPrice
)

3. 产品利润计算

Product Profit = 
SUMX(
    Sales,
    ( [Current Selling Price] - RELATED(Products[CostPrice]) ) * Sales[Quantity]
)

4. 未来价格变动追踪

Upcoming Price Change = 
VAR Today = TODAY()
VAR NextEffectiveDate = 
    CALCULATE(
        MIN(PriceChanges[EffectiveDate]),
        PriceChanges[EffectiveDate] > Today,
        ALLEXCEPT(PriceChanges, PriceChanges[ProductID])
    )
RETURN
IF(
    NOT(ISBLANK(NextEffectiveDate)),
    "新价格: " & CALCULATE(MAX(PriceChanges[NewPrice]), PriceChanges[EffectiveDate] = NextEffectiveDate) & " (生效日期: " & FORMAT(NextEffectiveDate, "YYYY-MM-DD") & ")",
    "无即将生效的价格变动"
)

可视化配置

利润可视化

  • 折线图:X轴选DateTable[Date],Y轴选[Product Profit],图例选Products[ProductName],展示各产品利润随时间的趋势。
  • 卡片图:配置SUM([Product Profit]),展示总利润。

价格变动追踪

  • 表格:列选Products[ProductName]、[Current Selling Price]、[Upcoming Price Change],清晰呈现各产品当前价格及未来变动信息。
  • 矩阵图:行选Products[ProductName],列选PriceChanges[EffectiveDate],值选PriceChanges[NewPrice],直观查看全量历史/未来价格变动记录。

内容的提问来源于stack exchange,提问作者Fustavo Gringe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 06:54:07