ssas - 仅获得偶数年的结果

标签 ssas mdx iccube

MDX 有一个很好的功能,我可以通过它指定一个范围的成员:

SELECT ([Canada],[2006]:[2011]) on Rows,
      [Measures].members on Columns
FROM [Sales]

有没有办法计算偶数年的集合:{[2006], [2008], [2010]}?我正在寻找一种适用于大型集合的方法,因此无法手动列出年份。

最佳答案

您可以使用 filter function 过滤您的函数, 一个 declared functionMOD function (MOD 返回除法的余数——类似于 Java 中的 % ):

WITH
  FUNCTION isEven(Value _number) as Mod( Int(_number) , 2 ) = 0
SELECT
  FILTER( [Date].[Date].[Year] as t, isEven( Year( t.current.key) ) )  on 0
FROM [Cube]

如果您经常使用此过滤器,您可以在脚本中创建一个 FilterEven 声明函数(与 isEven() 相同)

关于ssas - 仅获得偶数年的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53359546/

相关文章:

asp.net - 无法连接到多维数据集

mdx - icCube 中的 format_string 不格式化空值

filter - MDX:对同一维度的不同成员进行过滤和切片

mysql - MDX如何统计昨天访问过的用户今天是否存在访问

mysql - MDX 相当于 SQL 查询

sql - 如何自动化 SSAS 的 MDX 测试

javascript - iccube 从自定义小部件 (JS) 设置过滤器选择

sql-server - SSAS - 如何在不丢失数据的情况下执行部分多维数据集处理

azure - 使用 powershell 在 Azure VM 上执行 XMLA 脚本

SSAS 分区,多少太多了