MDX 用于基于多维数据集设计中另一个计算成员的结果的串联维度级别

问题描述 投票:0回答:1

去年,我必须将一个多维数据集迁移到 MS SSAS,以获得两天(T1 和 T2)的固定数据集,并且它们有一个“SOD”纪元(代表“一天的开始”)。

现在我将实时数据滴入立方体中,并改变纪元(表示最新的)。

Epoch 已成为它自己的暗淡表,具有 INT ID、VARCHAR 名称。一切都好。

我创建了一些新的计算成员:

(由于传入数据显示为“系列”,因此它有自己的新纪元名称,并且始终是最大 ID。

Epoch_Max 作为(有效):

MAX([Epoch].[ID].MEMBERS,[Epoch].[Epoch].CurrentMember.MEMBER_KEY)

Notonal_SOD 在这里,锁定到称为“SOD”的纪元(有效):

[Measures].[Notional_SOD] = ([Epoch].[Epoch].[SOD],([Date],[T].[T1],[Measures].[Notional_SUM]))

我需要对此的一些建议,因为我想要 Notional_LATEST (用于新的和最新的实时数据交付),所以我们使用(工作)Epoch_MAX calc 成员:

(我该如何做类似下面的事情(这不起作用):

[Measures].[Notional_LATEST] = ([Epoch].[ID] + ".[" + CSTR([Measures].[Epoch_MAX]) + "]",([Date],[T].[T1],[Measures].[Notional_SUM]))
ssas mdx multidimensional-cube
1个回答
0
投票

破解了!

因此,在阅读并搜索各种串联和字符串函数之后,我偶然发现了 StrToMember。注意 - 我还使连接的结果可见,因此在 Excel 数据透视表中,我可以看到它是一个“字符串”,这让我意识到我需要将字符串转换为正确的对象/维度,以便在我的项目中使用实际测量。

因此,我将连接的字符串 + 动态 ID 放入名为 MAXID 的度量中,然后由我的 Notional_LATEST 度量调用,这是我们包装字符串以转换为成员的位置。

(使用 ID 部分构造我们的纪元,并从我们计算的成员中获得最大值。

'[Epoch].[ID].[' + [Measures].[Epoch_MAX] + ']'

返回最新纪元名义值的最终措施:

[Measures].[Notional_LATEST] = (StrToMember([Measures].[MAXID]),([Date,[T].[T1],[Measures].[Notional_SUM]))
© www.soinside.com 2019 - 2024. All rights reserved.