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

PowerBI折线图X轴替换为所选日期的日期差数值范围求助

PowerBI折线图X轴改为以所选日期为中心的数值范围问题

当前设置

  • 折线图展示特定指标随时间变化的计数,使用DAX度量值Dates to Show
  • 该度量值根据切片器所选日期和用户选择的天数计算日期区间,确定X轴的日期范围
  • Y轴显示指标的计数数值
  • 已创建断开表NumericDateRange,用GENERATESERIES(-1500, 1500, 1)生成数值范围
  • 选中HolidayName筛选器时,2021、2022、2023年的三个折线图会随HolidayList[CallDate]切片器值变化;Select No Of Days to Show切片器控制所选日期前后显示的天数

Dates to Show的DAX代码:

Dates to Show = 
VAR _SelectedDate = SELECTEDVALUE(HolidayList[CallDate])
VAR _NumDaysToShow = 'Select No Of Days to Show'[Select No Of Days to Show Value]
VAR _NumericRange =
    GENERATESERIES(-_NumDaysToShow, _NumDaysToShow, 1)
VAR _Dates =
    DATESBETWEEN(
        'Calender Months to Display'[Date],
        _SelectedDate + MINX(_NumericRange, [Value]),
        _SelectedDate + MAXX(_NumericRange, [Value])
    )
VAR _Result =
    CALCULATE(
        [CountMeasure],
        REMOVEFILTERS('HolidayList'),
        KEEPFILTERS(_Dates),
        USERELATIONSHIP('HolidayList'[CallDate], 'Calender Months to Display'[Date])
    )
RETURN
    _Result

期望结果

X轴不再显示具体日期,改为以所选日期为中心的数值范围:0代表所选日期,负数代表所选日期之前的天数,正数代表之后的天数。例如,所选日期为2023年5月29日,选择显示7天,则X轴显示-7、-6……0……6、7。

已尝试操作

  • 创建断开表NumericDateRange,用GENERATESERIES(-1500, 1500, 1)生成数值范围
  • 将该表用于折线图的X轴以显示数值范围

遇到的问题

X轴显示了数值范围,但折线图无曲线或线条显示。断开表未与数据模型正确交互,使用日期作为X轴时图表正常,切换为数值范围则无数据。


解决方案

问题核心是原度量值未将NumericDateRange的数值与实际日期建立关联,需修改度量值让每个数值对应到所选日期偏移后的日期,再计算对应指标:

  1. 修改Dates to Show度量值:
Dates to Show = 
VAR _SelectedDate = SELECTEDVALUE(HolidayList[CallDate])
VAR _CurrentOffset = SELECTEDVALUE(NumericDateRange[Value])
VAR _TargetDate = _SelectedDate + _CurrentOffset
VAR _NumDaysToShow = SELECTEDVALUE('Select No Of Days to Show'[Select No Of Days to Show Value])
-- 仅在设定天数范围内返回数据
VAR _IsInRange = ABS(_CurrentOffset) <= _NumDaysToShow
VAR _Result = 
    IF(
        _IsInRange,
        CALCULATE(
            [CountMeasure],
            REMOVEFILTERS('HolidayList'),
            'Calender Months to Display'[Date] = _TargetDate,
            USERELATIONSHIP('HolidayList'[CallDate], 'Calender Months to Display'[Date])
        ),
        BLANK()
    )
RETURN
    _Result
  1. 调整折线图设置:

    • 将X轴字段改为NumericDateRange[Value]
    • Y轴使用修改后的Dates to Show度量值
    • 可在可视化面板的X轴设置中,手动调整范围为- _NumDaysToShow到_NumDaysToShow,隐藏超出范围的数值
  2. 验证基础逻辑:

    • 确认Calender Months to Display表包含所选日期偏移后的所有日期
    • 检查HolidayList[CallDate]与Calender Months to Display[Date]的关系配置正确(即使是不活跃关系)

内容的提问来源于stack exchange,提问作者Rojalin Mohanty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 10:41:36