【发布时间】:2024-01-17 06:52:01
【问题描述】:
我面临一个对我来说看起来微不足道但现在无法解决的问题... 我的多维数据集主要有一个 DimDate 维度(为了简化我的问题): 在昏暗的日子里,我有两个层次结构: 将日期分解为日期、月份、季度和年份的一种标准(时间) 一个(三个月时间)将日期分解为日期、月份、三个月(一年的三分之一)和年。 在我的事实表上,我每天都有一个采购订单 (PO) 和一个度量整数(0 或 1),表明采购订单处于活动状态。 在每个日期浏览时,我都能看到有多少 PO 处于活动状态(总和)。
正如您所料,当我查看当月的数据时...我有每天的总和...这显然不是我所期望的。我试图找到那个时期的最后一天开放的号码。
然后我为 dimDate 创建了几个属性: 是日历 Qtr 的最后一天 是日历三个月的最后一天 是日历月的最后一天 是日历年的最后一天
然后我创建了一个新的计算成员,就像这样:
CREATE MEMBER CURRENTCUBE.[Measures].[MyMeasures]
AS CASE
WHEN [Dim Date].[Time].currentMember.Level is [Dim Date].[Time].[CalendarYear] then
([Measures].[Active],[Dim Date].[Is Last Day Of Month].&[Y],[Dim Date].[Month Of Year].&[12])
WHEN [Dim Date].[Time].currentMember.Level is [Dim Date].[Time].[CalendarQtr] then
([Measures].[Active],[Dim Date].[Is Last Day Of Calendar Qtr].&[Y])
WHEN [Dim Date].[Time].currentMember.Level is [Dim Date].[Time].[CalendarMonth] then
([Measures].[Active],[Dim Date].[Is Last Day Of Month].&[Y])
WHEN [Dim Date].[Time].currentMember.Level is [Dim Date].[Time].[Date] then
[Measures].[Active]
ELSE NULL
END,
VISIBLE = 1 , DISPLAY_FOLDER = 'Duration';
这一直很好,直到我被要求扩展两个层次结构的度量。 然后我确实用以下内容更新了成员:
CREATE MEMBER CURRENTCUBE.[Measures].[MyMeasures]
AS CASE
WHEN [Dim Date].[Time].currentMember.Level is [Dim Date].[Time].[CalendarYear] then
([Measures].[Active],[Dim Date].[Is Last Day Of Month].&[Y],[Dim Date].[Month Of Year].&[12])
WHEN [Dim Date].[Time].currentMember.Level is [Dim Date].[Time].[CalendarQtr] then
([Measures].[Active],[Dim Date].[Is Last Day Of Calendar Qtr].&[Y])
WHEN [Dim Date].[Time].currentMember.Level is [Dim Date].[Time].[CalendarMonth] then
([Measures].[Active],[Dim Date].[Is Last Day Of Month].&[Y])
WHEN [Dim Date].[Time].currentMember.Level is [Dim Date].[Time].[Date] then
[Measures].[Active]
WHEN [Dim Date].[Time Trimester].currentMember.Level is [Dim Date].[Time Trimester].[CalendarYear] then
([Measures].[Active],[Dim Date].[Is Last Day Of Month].&[Y],[Dim Date].[Month Of Year].&[12])
WHEN [Dim Date].[Time Trimester].currentMember.Level is [Dim Date].[Time Trimester].[Calendar Year Trimester] then
([Measures].[Active],[Dim Date].[Is Last Day Of Calendar Trimester].&[Y])
WHEN [Dim Date].[Time Trimester].currentMember.Level is [Dim Date].[Time Trimester].[CalendarMonth] then
([Measures].[Active],[Dim Date].[Is Last Day Of Month].&[Y])
WHEN [Dim Date].[Time Trimester].currentMember.Level is [Dim Date].[Time Trimester].[Date] then
[Measures].[Active]
ELSE NULL
END,
VISIBLE = 1 , DISPLAY_FOLDER = 'Duration';
它们在我的过程中一定是概念上错误的东西,但我无法理解...... 有人可以帮我吗?
因此,我在 Excel 中得到以下结果:
with the time hierarchy, it works fine
with the trimester hierarchy, it shows only 3rd trimester...
【问题讨论】:
-
你从这个测量中得到了什么结果?还是你有例外?
-
嗨Whytheq,我已经修改了我的问题,以便您可以看到结果....我也不例外。当没有选择维度而只选择了事实时,当我排除 NULL 时,我没有结果... 备注:我的三个月层次结构工作正常