如果我这样通过我的mdx我会得到我所期待的......
With
Set [TimeLimit] as
'{([CurrDate].[All CurrDate].[2010].[Q3].[Jul].[2010-07-21])}'
select
NON EMPTY {[Measures].[Balance], [Measures].[Peso Equiv]} ON COLUMNS,
NON EMPTY {
[PARTICULARS].[All Particulars],
[PARTICULARS].[All Particulars].[RESIDENTS],
[PARTICULARS].[All Particulars].[NON-RESIDENTS]
} ON ROWS
from [depositlib_22]
where ([TimeLimit])"
问题?: - 我不想硬编码这部分“[2010]。[Q3]。[Jul]。[2010-07-21]”,我需要从我的立方体中获取日期(立方体始终记录最新日期来自数据库表)。
请告诉我们如何才能获得?
请帮助我们,我正在尝试过去2天......仍然无法提供解决方案。
感谢你的推动...
答案 0 :(得分:1)
您有两种方法可以在MDX中处理这样的日期问题。一种是使用VBA日期函数使用您想要的日期构建字符串。如果使此字符串与维度中的成员名称匹配,则可以将其转换为集合。见Sql Analysis Services Current Date
我认为你需要考虑的第二种方法是使用MDX函数来找出[CurrDate]维度中的最后一个(即最近的)成员。然后,您可以在查询中使用该成员。只要您的维度仅包含过去的日期,这将正常工作。我曾经实现过这个想法,然后偶然发现了2015年未来的日期,我的MDX没有告诉我今天的日期(通常是最近的成员)。
您需要的套装可能是:
{[CurrDate].[Date].members.Item([CurrDate].[Date].members.count-1)}
或者同样不优雅:
{[CurrDate].lastChild.lastChild.lastChild.lastChild.lastChild}