我正在尝试确定多维数据集当前处理的最大维度键,以便我可以编写一个视图,该视图将仅返回Process Add操作的新数据。
我遇到了几个显示几乎相同的链接。我稍微更改了这些示例,并成功确定了日期维度中的最大日期键。
WITH MEMBER [Measures].[MaxKey] AS
MAX([Dim Date].[Date SK].ALLMEMBERS
,STRTOVALUE([Dim Date].[Date SK].CURRENTMEMBER.MEMBER_KEY))
SELECT
{[Measures].[MaxKey]} ON 0
FROM
[PGL DW]
正如预期的那样,上述查询的结果是20170730
当我更改此查询以针对我的代理维度执行时,它返回不正确的值。
WITH MEMBER [Measures].[MaxKey] AS
MAX([Dim Agent].[Dim Agent Key].MEMBERS
, [Dim Agent].[Dim Agent Key].CURRENTMEMBER.MEMBER_KEY)
SELECT
{[Measures].[MaxKey]} ON 0
FROM
[PGL DW]
上述查询返回的值为" -6"这是不正确的。
如果我使用以下Dim Agent Member Keys
列出所有query
,我会得到值100000 +
WITH
MEMBER [Measures].[Dim Agent Key] as [Dim Agent].[Dim Agent Key].Currentmember.Member_Key
SELECT {Measures.[Dim Agent Key]} ON axis(0),
[Dim Agent].[Dim Agent Key].Members on axis(1)
FROM [PGL DW]
Dim Agent Key
属性是维度的关键属性,其KeyColumn
设置为Dim Agent.Dim_AgentKey (Integer)
。
在查询代理维度时,知道查询返回错误结果的原因吗?
答案 0 :(得分:0)
如果你发现MemberValue
而不是钥匙的最大值,你还能得到-6?
WITH MEMBER [Measures].[MaxKey] AS
MAX([Dim Agent].[Dim Agent Key].[Dim Agent Key].MEMBERS
, [Dim Agent].[Dim Agent Key].CURRENTMEMBER.MEMBERVALUE)
SELECT
{[Measures].[MaxKey]} ON 0
FROM
[PGL DW];