Mdx 根据字母顺序对集合应用秩函数
是否可以创建一个根据字母顺序生成集合排名的度量值,即Aleen应为1。。。。Zebedie应该排名101(集合有101个项目) 这不起作用:Mdx 根据字母顺序对集合应用秩函数,mdx,Mdx,是否可以创建一个根据字母顺序生成集合排名的度量值,即Aleen应为1。。。。Zebedie应该排名101(集合有101个项目) 这不起作用: MEMBER [Measures].[Alphabetic_Rank] AS RANK( [CustomerName].CurrentMember, ORDER( [CustomerName], [CustomerName], ASC
MEMBER [Measures].[Alphabetic_Rank] AS
RANK(
[CustomerName].CurrentMember,
ORDER(
[CustomerName],
[CustomerName],
ASC
)
)
WITH
SET [orderedSet] AS
ORDER(
[Operator].members,
[Operator].currentmember.name,
BASC
)
MEMBER [Measures].[newMeasure] AS
RANK(
[orderedSet].currentmember,
[orderedSet].members
)
SELECT
{} ON COLUMNS,
[orderedSet]
*
[Measures].[newMeasure] ON ROWS
FROM [ourCube]
编辑 尝试应用此方法的另一个示例是以下同样不起作用的示例:
MEMBER [Measures].[Alphabetic_Rank] AS
RANK(
[CustomerName].CurrentMember,
ORDER(
[CustomerName],
[CustomerName],
ASC
)
)
WITH
SET [orderedSet] AS
ORDER(
[Operator].members,
[Operator].currentmember.name,
BASC
)
MEMBER [Measures].[newMeasure] AS
RANK(
[orderedSet].currentmember,
[orderedSet].members
)
SELECT
{} ON COLUMNS,
[orderedSet]
*
[Measures].[newMeasure] ON ROWS
FROM [ourCube]
使用名称作为订单的数值如何:
MEMBER [Measures].[Alphabetic_Rank] AS
RANK(
[CustomerName].CurrentMember,
ORDER(
[CustomerName].members,
[CustomerName].currentMember.NAME,
BASC
)
)
编辑第二部分:
WITH
SET [orderedSet] AS
ORDER(
[Operator].members,
[Operator].currentmember.name,
BASC
)
MEMBER [Measures].[newMeasure] AS
RANK(
[Operator].currentmember,
[orderedSet]
)
SELECT
[Measures].[newMeasure] ON COLUMNS,
[orderedSet] ON ROWS
FROM [ourCube]
+1谢谢Mark…一如往常:我试着将你的逻辑应用到我编辑到OP中的另一个例子中-我做错了什么?谢谢Marc…为什么要将
[orderedSet]更改为[orderedSet]
,因为秩
函数的第二个参数网帮助很大?它们肯定是一样的吗?不确定,但我想问题更多的是关于[ordereset]。currentMember被[Operator]替换.currentMember-至少@icCube是这样工作的-在这种情况下使用axis中的currentMember。谢谢Marc-因此可以这样说,在MDX
中,不能使用.members
或。currentMember
来对抗在WITH
子句中创建的自定义集,至少在分析中是这样吗服务,成员
只能用于“层次表达式”或“级别表达式”,是从层次对象类型或级别对象类型转换为设置对象类型的方法(请参阅)。集合已经是集合,不需要类型转换。