在FILTER函数中添加OR [英] Adding OR into the FILTER function
问题描述
We've got the following thanks to @FrankPI in this SO Post
WITH
MEMBER [Measures].[LevelName] AS
[Employee].[Employee Department].CurrentMember.Level.Name
MEMBER [Measures].[LevelNumber] AS
[Employee].[Employee Department].CurrentMember.Level.Ordinal
MEMBER [Measures].[MemName] AS
[Employee].[Employee Department].CurrentMember.Name
SET [Set_TargetEmp] AS
{
FILTER(
[Employee Department].AllMembers,
(
InStr(
1,
[Employee].[Employee Department].currentmember.name,
"WC4") <> 0
)
)
}
SELECT
{
[Measures].[MemName],
[Measures].[LevelName],
[Measures].[LevelNumber]
} ON 0,
Hierarchize(
Generate([Set_TargetEmp] as e,
Ascendants(e.Current)
+
Descendants(e.Current, e.Current.Level, SELF_AND_AFTER)
)
)
ON 1
FROM [Adventure Works]
我想做一个小更改,但关键成员53的新成员(Reuben H. D'sa)没有出现在结果集中.为什么?
I want to make one small change but the new member (Reuben H. D'sa) who is key 53, does not appear in the result set. Why?
WITH
MEMBER [Measures].[LevelName] AS
[Employee].[Employee Department].CurrentMember.Level.Name
MEMBER [Measures].[LevelNumber] AS
[Employee].[Employee Department].CurrentMember.Level.Ordinal
MEMBER [Measures].[MemName] AS
[Employee].[Employee Department].CurrentMember.Name
SET [Set_TargetEmp] AS
{
FILTER(
[Employee Department].AllMembers,
(
InStr(
1,
[Employee].[Employee Department].currentmember.name,
"David P. Hamilton") <> 0
)
or
[Employee].[Employee Department].currentmember.member_key = 53 //<<<<<<new bit
)
}
SELECT
{
[Measures].[MemName],
[Measures].[LevelName],
[Measures].[LevelNumber]
} ON 0,
Hierarchize(
Generate([Set_TargetEmp] as e,
Ascendants(e.Current)
+
Descendants(e.Current, e.Current.Level, SELF_AND_AFTER)
)
)
ON 1
FROM [Adventure Works]
推荐答案
似乎currentmember.member_key = 53
不返回任何匹配结果.我尝试了currentmember.Properties("Key0", typed) = 53
,并且返回了两名员工.
It seems that currentmember.member_key = 53
does not return any matching result. I tried currentmember.Properties("Key0", typed) = 53
, and that returned both employees.
请参见关于Properties
方法的文档和有关内在属性的文档(向下滚动到非上下文敏感成员属性" )以获取详细信息.
See the documentation on the Properties
method and the documentation on intrinsic properties (sroll down to "Non-Context Sensitive Member Properties") for details.
这篇关于在FILTER函数中添加OR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!