Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 Как найти Rank по собственному set  [new]
Дмитрий 1313
Member

Откуда:
Сообщений: 5
Добрый день!
Подскажите пожалуйста, как можно найти ранг и вывести его одной строкой.
Что я делаю, создаю set с количеством "закрытых" по ФИО
далее по каждому из закрытых проставляю ранг. На выходе вываливаются все ФИО сотрудников из групп где сидит мой пользователь Иванов И.И. Для каждой из фИО стоит ранг.

Но мне на выходе нужно лишь получить количество закрытых и ранг моего искомого ФИО (1строка), относительно всех сотрудников из групп где присутствует мое искомое ФИО

WITH
SET OrderedCities AS topcount (filter([Исполнитель].[ФИО].children,[Measures].[Закрыто]<>null),100000,[Measures].[Закрыто])
MEMBER [Measures].[City Rank] AS Rank
([Исполнитель].[ФИО].CurrentMember, OrderedCities)
SELECT {
[Measures].[City Rank],
[Measures].[Закрыто]} ON 0

,topcount (filter([Исполнитель].[ФИО].children,[Measures].[Закрыто]<>null),100000,[Measures].[Закрыто])

on 1
FROM
(select filter([Группа].[Название группы].children,[Measures].[Закрыто]<>null) on 0
from [Cube]
where [Исполнитель].[ФИО].&[Иванов И.И])
28 авг 18, 12:06    [21655955]     Ответить | Цитировать Сообщить модератору
 Re: Как найти Rank по собственному set  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Дмитрий 1313,

Во первых, для того, чтобы в результирующем сете была одна строка, надо и выводить одну строку, а не результат работы TOPCOUNT. Во вторых, не понятно количество закрытых чего вы считаете? У вас set OrderedCities, однако в этом сете участвует только множество исполнителей, ограниченных в WHERE одной записью.

WITH
SET OrderedCities AS 
topcount (
filter([Исполнитель].[ФИО].children,
[Measures].[Закрыто]<>null),100000,
[Measures].[Закрыто])

MEMBER [Measures].[City Rank] AS Rank
([Исполнитель].[ФИО].CurrentMember, OrderedCities)

SELECT {
[Measures].[City Rank],
[Measures].[Закрыто]} ON 0

, [Исполнитель].[ФИО].AllMembers
--topcount (filter([Исполнитель].[ФИО].children,[Measures].[Закрыто]<>null),100000,[Measures].[Закрыто])


on 1
FROM
(select filter([Группа].[Название группы].children,[Measures].[Закрыто]<>null) on 0
from [Cube]
where [Исполнитель].[ФИО].&[Иванов И.И])
30 авг 18, 15:22    [21659019]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить