我使用SSAS和SQL Server 2008 R2和AdventureWorks数据库。
我写这个查询:
Select
ytd([Date].[Calendar].[Calendar Quarter].[Q3 CY 2003]) on columns
From [Adventure Works]
我得到这个结果:
但是当我执行此查询时:
Select
ytd([Date].[Fiscal].[Fiscal Quarter].[Q3 FY 2003]) on columns
From [Adventure Works]
我收到此错误:
Executing the query ...
Query (2, 2) By default, a year level was expected. No such level was found in the cube.
Execution complete
为什么这个查询不起作用?
最佳答案
来自documentation:Ytd函数是PeriodsToDate [...]的快捷功能。请注意,当Type属性设置为FiscalYears时,此函数将不起作用。如何改用以下代码:
Select
PeriodsToDate(
[Date].[Fiscal].[Fiscal Year],
[Date].[Fiscal].[Fiscal Quarter].[Q3 FY 2003]
) on columns
From [Adventure Works]