我如何 return 未来几年的特定年份的值

how do I return values from a specific year for years in the future

我有两个 table:一个事实 table 花费了几个小时,一个日期维度 table。

factTableHours:
|员工姓名 |小时 |日期键 |

dimDate:(从 2000 年到 2030 年)
|日期键 |年份 |月 |天|

我正在尝试通过查看员工在过去一整年中花费的时间来创建一个简单的估算值,估计员工未来将花费多少小时。
它类似于 SAMEPERIODLASTYEAR 函数,但我想要基于今天日期的特定年份。
因此,如果我今天这样做,我希望它 return 2015 年注册的时间,
为了估计他在未来几年将花费多少小时,2016 年、2017 年、2018 年...

尝试这样的事情 - 通过这个声明你可以得到去年的数据:

[PY Sales] = CALCULATE([Sales Amount]),DATEADD('Date'[Date],-1,YEAR)

顺便说一句 - 这是 DAX 时间模式的一个很好的参考:

http://www.daxpatterns.com/time-patterns/

您可以创建一个计算去年小时数的度量。

使用TODAY()函数你会得到今天的日期,所以我们需要减去一年。

HoursLastYear =
CALCULATE (
    SUM ( factTableHours[hours] ),
    FILTER (
        dimDate,
        dimDate[datekey]
            = DATE ( YEAR ( TODAY () ) - 1, MONTH ( TODAY () ), DAY ( TODAY () ) )
    )
)

如果有帮助请告诉我。

我在这个页面的帮助下找到了解决方案:https://www.sqlbi.com/articles/week-based-time-intelligence-in-dax/
我只需要我的时间维度中的另一列,一年中的第几天

hoursIn2015 :=
    IF (
    HASONEVALUE ( dimDate[year] ),
    CALCULATE (
        SUM ( factTableHours[hours] ),
        FILTER (
            ALL ( dimDate),
            dimDate[year] = 2015
                && CONTAINS(
                    VALUES ( dimDate[Day number in year] ),
                    dimDate[Day number in year],
                    dimDate[Day number in year] )
        )
    ),
    BLANK ()
)