查询 (2, 2) 默认情况下,需要一个年份级别。在 MDX 查询不起作用的 cube.ytd 函数中没有找到这样的级别

Posted

技术标签:

【中文标题】查询 (2, 2) 默认情况下,需要一个年份级别。在 MDX 查询不起作用的 cube.ytd 函数中没有找到这样的级别【英文标题】:Query (2, 2) By default, a year level was expected. No such level was found in the cube.ytd Function In MDX Query Not Work 【发布时间】:2013-08-24 12:04:30 【问题描述】:

我使用 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

为什么这个查询不起作用?

【问题讨论】:

【参考方案1】:

来自documentation:Ytd 函数是 PeriodsToDate [...] 的快捷函数。请注意,当 Type 属性设置为 FiscalYears 时,此函数将不起作用。如何改用以下内容:

Select

  PeriodsToDate(
    [Date].[Fiscal].[Fiscal Year],
    [Date].[Fiscal].[Fiscal Quarter].[Q3 FY 2003]
  ) on columns

From [Adventure Works]

【讨论】:

以上是关于查询 (2, 2) 默认情况下,需要一个年份级别。在 MDX 查询不起作用的 cube.ytd 函数中没有找到这样的级别的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud http客户端Feign -- 自定义Feign的配置(一般情况下需要配置的是日志级别)Feign的配置优化

MyBatis-缓存机制

月份和年份的 SQL 查询

mondrian mdx 过滤日期维度中年份级别的集合

设置默认运行级别

MyBatis缓存