2015-02-26 5 views
0

Я пытаюсь показать 5 лучших записей и нижних 5 записей в двух отдельных таблицах в Power View.Top 5 and Bottom 5 записей в Power Pivot

Я создал рассчитанную меру для показа записей.

Но это не дает мне требуемого результата.

Мой набор данных: -

ID Name Rating OverallRating Ranking 
1 A  124  
2 B  156  
3 C  123  
4 D  124  
5 E  125  
6 F  143  
7 G  124  
8 H  123  
9 I  156  
10 A  178  
11 B  187  
12 C  123  
13 H  123  
14 I  134  
15 D  138  
16 E  50  
17 F  90  
18 G  70  

У меня также есть следующие меры

[Count]=SUMX(SUMMARIZE('Details',[Name],"Value",COUNTA([ID])),[Value]) 

Общая оценка рассчитывается на основе: - Сумма рейтинга для каждого имени, деленной на графа [ID ] для этого имени.

OverallRating=SUMX(SUMMARIZE('Details',[Name],"value2",([Rating])/[Count]),[value2]) 

, тогда я рассчитываю ранг на этот общий рейтинг.

Ranking=RANKX(ALL(Details),[overallRating],,0,Dense) 

Теперь я хочу Top 5 и нижний 5 имен с OverallRatings в Power View Таблица

для топ 5 записей я использую ниже запрос: -

Top 5 name:=CALCULATE(SUMX(SUMMARIZE('Details',[Name],"value2",(SUM([overallRating]))),[value2]),FILTER('Details',RANKX(ALL('Details'),[Ranking])<=5)) 

может кто-то помочь мне в этом, где я делаю неправильно или мне нужно попробовать что-то еще.

Ваша помощь будет оценена по достоинству.

+0

Вам необходимо включить все столбцы в свои данные образца. Я не могу воссоздать ваши текущие вычисления: например, «Общий рейтинг» содержит столбец [Count], не включенный в ваши данные. – guitarthrower

+0

hi @guitarthrower Count - это не что иное, как подсчет группы идентификаторов по имени. формула для того, что я использую, является [Count] = SUMX (SUMMARIZE («Детали», [Имя], «Значение», COUNTA ([ID])), [Значение]) –

ответ

0

Если вы используете сводный отчет, вы можете использовать опцию фильтра для достижения этого.

0

Я еще не использовал PowerView, но получение правильного рейтинга - это ключ к вашему вопросу.

Первое, что нужно отметить, я не добавил расчетных столбцов. Вместо этого я использовал следующие 4 меры, которые строили друг друга, чтобы добраться до рейтинга.

CountByName (Для замены счетчика меру)

CountByName:=CALCULATE(COUNTA(Details[Name])) 

RatingByName (суммирует оценки для каждого имени)

RatingByName:=CALCULATE(SUM(Details[Rating])) 

OverallRating (рейтинг/кол для каждого имени)

OverallRating:=[RatingByName]/[CountByName] 

Рейтинг (ранги на основе OverallRating)

Ranking:=RANKX(ALL(Details[Name]),[OverallRating]) 

Поскольку все эти меры, вы можете создать сводную таблицу, чтобы проверить, что они работают должным образом. (Они работают на основе моей интерпретации ваших данных). Он ранжирует имена в следующем порядке

1 2 3 4 5 6 7 8 9 
B A I D H C F G E 

Основываясь на моем понимании PowerView, вы должны быть в состоянии использовать [Ranking] меру вернуть верхнюю 5 и нижнюю 5.

+0

Привет @guitarthrower, до рейтинга, который я уже сделал , и теперь я хочу получить 5 лучших записей из этого, я пишу запрос с использованием функции TOPN, так как это рассчитанная мера, мне нужно суммировать результат после выполнения всего того, что я не получаю желаемых результатов. См. Запрос, который я использую. Top 5 PM: = SUMX (TOPN (5, SUMMARIZE («Детали», [Name], «Top PM», [Top 5 PM]), (SUM ([ОБЩИЙ РАЙТ])/COUNTROWS (Подробности))) SUMX («Детали», [Рейтинг])) –

+0

Опять же, не знакомы с powerview, но в моих исследованиях говорится, что все, что вам нужно сделать, это фильтр для 5-го и 5-го уровней. См. Эту ссылку http://www.powerpivotblog.nl/filtering-results-to-only-show-top-x-results-in-power-view-chart/ – guitarthrower

+0

это то, что я использую прямо сейчас, но в том, что у меня проблема, если два имени имеют одинаковый ранг то все же мне нужно показать только 5 вместо 6 или более того ... но это решение не работает для меня –

Смежные вопросы