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

Power BI柱状图显示Date表范围外空白月份的问题咨询

移除Power BI柱状图中日期表范围外的空白月份

场景说明

我正在创建一个柱状图,X轴采用Date表中的年月维度。Date表通过以下DAX代码生成:

Date = 
VAR __startDate = DATE(YEAR(TODAY())-4, MONTH(TODAY())+1, 1)
VAR __endDate = EOMONTH(TODAY(), 0)
VAR __dates = CALENDAR ( __startDate, __endDate )
RETURN
ADDCOLUMNS (
    __dates,
    "Year",             YEAR ( [Date] ),
    "Fiscal Year",      IF(MONTH([Date])<=6, YEAR([Date]), YEAR([Date])+1),
    "Month Number",     MONTH ( [Date] ),
    "Month Name",       FORMAT ( [Date], "MMMM" ),
    "Month",            FORMAT( [Date], "MMM YYYY" ),
    "Month Sort",       FORMAT( [Date], "YYYY-MM" ),
    "Quarter",          "Q" & FORMAT( [Date], "Q YYYY" ),
    "Quarter Sort",     FORMAT ( [Date], "YYYY-Q" )
)

该表生成的日期范围为当前月末回溯至4年前次月月初,例如截至2024年9月5日,__startDate为2020年10月1日,__endDate为2024年9月30日,这部分符合预期。

但柱状图中,除了正确显示2020年10月至2024年9月的数据外,还额外显示了2020年剩余月份(1-9月)和2024年后续的空白月份(10-12月)。

图表配置

  • X轴:使用Date表的日期层级(年+月)
  • Y轴:使用以下四个DAX度量值:

Num Int Rx Accruals

Num Int Rx Accruals = 
VAR num_accrual = 
    CALCULATE(
        COUNT(Demographics[On Study Date]),
        USERELATIONSHIP('Date'[Date], Demographics[On Study Date]),
        'Master Protocol List'[DT4 Pcl Type]="Interventional Treatment"
    )
VAR result = IF(ISBLANK(num_accrual), 0, num_accrual)
RETURN result

Num Int Non-Rx Accruals

Num Int Non-Rx Accruals = 
VAR num_accrual = 
    CALCULATE(
        COUNT(Demographics[On Study Date]),
        USERELATIONSHIP('Date'[Date], Demographics[On Study Date]),
        'Master Protocol List'[DT4 Pcl Type]="Interventional Non-Treatment"
    )
VAR result = IF(ISBLANK(num_accrual), 0, num_accrual)
RETURN result

Num Obs Accruals

Num Obs Accruals = 
VAR num_accrual = 
    CALCULATE(
        COUNT(Demographics[On Study Date]),
        USERELATIONSHIP('Date'[Date], Demographics[On Study Date]),
        'Master Protocol List'[DT4 Pcl Type]="Observational"
    )
VAR result = IF(ISBLANK(num_accrual), 0, num_accrual)
RETURN result

Num AncCorr Accruals

Num AncCorr Accruals = 
VAR num_accrual = 
    CALCULATE(
        COUNT(Demographics[On Study Date]),
        USERELATIONSHIP('Date'[Date], Demographics[On Study Date]),
        'Master Protocol List'[DT4 Pcl Type]="Ancillary or Correlative"
    )
VAR result = IF(ISBLANK(num_accrual), 0, num_accrual)
RETURN result

额外说明

  • Date[Date]与Demographics[On Study Date]之间存在已禁用的关系,通过度量值中的USERELATIONSHIP函数临时启用。
  • Demographics表的最早日期为2020年7月1日,无未来日期数据。
  • 所有度量值的计算结果正确,仅需移除柱状图中Date表范围外的空白月份。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:23:22