Как найти разницу предметов в одном столбце по группе? - PullRequest
0 голосов
/ 10 ноября 2018

Набор данных - это рейтинги университетов, и у меня есть столбцы «мировой рейтинг» и «год». Я хочу создать новое поле под названием «Разница в ранге», чтобы увидеть разницу в рейтинге университетов с 2018 по 2011 год. Например:

Name     Year   World Rank
Harvard  2011    4
Harvard  2018    5

Для вышеизложенного разница в ранге будет равна -1. Набор данных содержит много университетов, и я не уверен, как выполнить LOD или любое другое решение для этого.

1 Ответ

0 голосов
/ 10 ноября 2018

Вы можете использовать «если» внутри вычисления, чтобы возвратить значение в определенных случаях, а в противном случае - обнулить.Одна фраза для этого - фильтрованный расчет.Поскольку вычисления агрегации, такие как min (), max (), avg () и т. Д., Игнорируют нулевые значения, вы можете использовать отфильтрованные вычисления в совокупных вычислениях.

Таким образом, если ваш источник данных имеет одну строку на университет в год,и что вы поместите [Университет] на какую-то полку в качестве измерения, тогда следующий расчет получит искомый результат.Поскольку у вас есть только строка для каждого университета в год, вы можете с легкостью использовать max (), sum () или avg () вместо min ()

min(if [Year] = 2018 then [World Rank] end) - min(if [Year] = 2011 then [World Rank] end)

. Для расширения вы можете использовать пользователя.предоставленный параметр вместо жестко заданных начальных и конечных лет или вычисление LOD для поиска самых ранних и последних записей для каждого университета в вашем наборе данных.

...