ssas - 在表格立方体模型的 MDX 查询中使用计算成员中的日期范围
问题描述
我有一个要求,我必须获取不同度量的值,每个度量都有自己的日期范围,以下查询有效并让我获得一年多的数据,
WITH MEMBER [Measures].[Ex1] AS ([Measures].[Average Spending], [Date].[Year].&[2020])
MEMBER [Measures].[Ex2] AS ([Measures].[Average Time Spent], [Date].[Year].&[2019])
SELECT {[Customer].[Name].[Name]} ON 1, {[Measures].[Ex1],[Measures].[Ex2]} ON 0 FROM [Model];
但是当我尝试传递一个日期范围而不是年份时,我得到了一个错误,
WITH MEMBER [Measures].[Ex1] AS ([Measures].[Average Spending], [Date].[Year].&[2020])
MEMBER [Measures].[Ex2] AS ([Measures].[Average Time Spent], [Date].[Date].[01-May-2020]:[Date].[Date].[31-May-2020])
SELECT {[Customer].[Name].[Name]} ON 1, {[Measures].[Ex1],[Measures].[Ex2]} ON 0 FROM [Model];
我收到以下错误,
执行查询...该函数需要一个字符串或数字表达式作为参数。使用了元组集表达式。运行完成
如何获取每个计算成员的日期范围的度量?
解决方案
如果您不使用元组(即层次结构的单个成员的组合,如Measures 或Year),而是使用集合,那么您需要告诉MDX 如何处理集合元素以获得单个值。我假设以下内容将提供您想要的:
WITH
MEMBER [Measures].[Ex2] AS
Aggregate([Date].[Date].[01-May-2020]:[Date].[Date].[31-May-2020],
[Measures].[Average Time Spent]
)
...
Aggregate
您也可以使用Sum
,Avg
等代替在多维数据集计算脚本中。Variance
Aggregate
另请参阅SSAS 文档中的聚合
推荐阅读
- sql-server - Azure SQL Database not letting me create a Database Master Key
- python - Pandas .to_csv() 给出“文件类型没有引擎:'csv'”
- docker - Flink 全零监控
- python-3.x - 如何访问由 torchaudio.info(filepath) 返回的对象
- javascript - mutation observer wont do anything but no error is shown
- c# - 由 NPOI 编辑时,Excel 上的浅灰色背景颜色消失
- r - 在 Rstudio 中安装库的问题
- ubuntu - 如何使用 Ubuntu 使用 BATMAN 路由协议构建 MANET 网络
- webpack - ModuleBuildError:模块构建失败(来自 ./node_modules/vue-loader/lib/loaders/stylePostLoader.js):
- python - 如何根据包含 STR 数据的另一列对列中的值进行编码/提取?