Применить функцию RANK к набору в алфавитном порядке
Можно ли создать меру, которая производит ранг набора в соответствии с их алфавитным порядком, т. Е. Алин должен быть 1... Зебеди должен быть оценен 101 (в наборе 101 элемент)
Это не работает:
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]
1 ответ
Решение
Как насчет использования NAME в качестве числового значения заказа:
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]