从评选开始算到最后3季度的倒数

问题描述 投票:0回答:1

我在 Oracle 中有 2 个表,在 SSAS 表格模型中使用:

我的事实表 暗淡日期

他们之间的关系是1对多 MyFactTable[文件提取日期] 到 DimDate[日期]

RAF ID 的简单计数是 _count_Client_Distinct = COUNT(MyFactTable[客户端 ID])

现在我想根据选择计算 RAF ID 的计数 以及过去 3 个季度

例如:

如果我选择 FileExtractDate= 12/10/2021 图表条的视觉效果将为我提供自 2021 年 12 月 10 日起属于第四季度的第四季度客户 ID 的计数 并显示其他 3 个季度(Q1、Q2、Q3)的 Client ID 数量

如果我选择 FileExtractDate= 09/02/2021 图表条的视觉效果将为我提供自 2021 年 9 月 10 日起属于第一季度的第一季度客户 ID 的计数 并显示 2020 年其他 3 个季度(第 2 季度、第 3 季度、第 4 季度)的客户 ID 计数

如果不进行任何选择,它将采用最大日期并显示最大日期的季度和最后 3 个季度的计数

我尝试了以下方法:

Prev 3 Qtrs = 
VAR _End = STARTOFQUARTER( 'Date'[Date] ) - 1
VAR _Start =
    CALCULATE(
        MIN( 'Date'[Date] ),
        DATEADD(
            DATEADD(
                'Date'[Date],
                -1,
                YEAR
            ),
            1,
            QUARTER
        )
    )
VAR _Result =
    CALCULATE(
        [Count],
        'Date'[Date] >= _Start
            && 'Date'[Date] <= _End
    )
RETURN
    _Result

但是当我选择一个日期时,它仅显示该日期所属季度的结果。

powerbi dax ssas-tabular
1个回答
0
投票

使用切片器或过滤器时,无法显示切片/过滤范围之外的行。这意味着您需要一张单独的表格用于视觉效果(图表 X 轴)和日期切片器。

这是我的建议 - 创建一个重复的日期表,也许将其称为“日期过滤器”。

Date Filter = 'Date'

这个新表不需要与任何其他表有任何关系,因此请确保不存在任何关系。

那么你的衡量标准是:

Prev 3 Qtr = 
  CALCULATE(
    COUNTROWS('MyFactTable'),
    KEEPFILTERS(
      DATESINPERIOD('Date'[Date], ENDOFQUARTER('Date Filter'[Date]), -4, QUARTER)
    )
  )

澄清一下:

  • 切片器来自
    'Date Filter'
  • 视觉X轴来自
    'Date'
© www.soinside.com 2019 - 2024. All rights reserved.