reporting-services - 将日期范围调整为 MDX 中的现有成员
问题描述
我有一个带有DateFrom
和DateTo
参数的报告。两者都是日历 - 您可以选择具有日期精度的日期。
报告中的数据集之一是 MDX 数据集。我用strtoset
它来提供日期范围,参数的表达式为strtoset
:
="([Test Run].[Complete Date Hierarchy By Month].[Date].&[" & Format(Parameters!FromDate.Value, "yyyy-MM-dd") & "T00:00:00]:[Test Run].[Complete Date Hierarchy By Month].[Date].&[" & Format(Parameters!ToDate.Value, "yyyy-MM-dd") & "T00:00:00])"
问题是,如果开始日期和结束日期不是维度中的成员,则查询将返回所有空值。
有什么方法可以将用户提供的日期调整为维度中最近的现有成员,向前(对于 From)或向后(对于 To)?
编辑:我现在正在尝试使用过滤器在 [From:To) 范围内生成一组日期值。它的工作原理是它不会出错,但结果集与我所拥有的不同strtoset()
。现在 Where 子句中有以下内容:
filter([Test Run].[Complete Date Hierarchy By Month].[Date],
[Test Run].[Complete Date Hierarchy By Month].currentmember.member_value >= CDate('2017-10-01') and
[Test Run].[Complete Date Hierarchy By Month].currentmember.member_value < CDate('2018-07-01'))
我得到的数字略有不同。这怎么可能?
解决方案
FILTER([Test Run].[Complete Date Hierarchy By Month].[Date],
[Test Run].[Complete Date Hierarchy By Month].[Date].CurrentMember.Member_Value >= CDate('2018-01-01') and
[Test Run].[Complete Date Hierarchy By Month].[Date].CurrentMember.Member_Value < CDate('2018-04-01'))
推荐阅读
- javascript - 如何从一个对象数组中获取数据到另一个对象数组?Javascript
- haskell - 检查点是否在半径内的函数
- node.js - Nodejs 中的实时通知系统是如何实现的?
- php - 无法在 Laravel 6 中的 SMTP 服务器上进行身份验证
- javascript - 是否可以在不更新整个包的情况下在 React Native 中注入一些 javascript?
- javascript - 有没有办法相对于多边形自动在 d3Js 地图中放置标记?
- javascript - node_modules 错误:缺少模块 postcss,何时存在于 node_modules/.bin
- flutter - 如何在 Flutter 上创建从 CheckboxlistTile 到另一个页面的“链接”
- python - 当 title 和 body 是字符串值时,'{"title":"some title", "body":"some body"}' 和 '{"title":title, "body":body}' 有什么区别?
- cmake - 如何通过 CMakeLists.txt 更改目标文件名