Предполагая, что мои данные имеют следующую структуру:
Year | Location | New_client
2018 | Paris | true
2018 | Paris | true
2018 | Paris | false
2018 | London | true
2018 | Madrid | true
2018 | Madrid | false
2017 | Paris | true
Я пытаюсь рассчитать для каждого года и местоположения процент истинного значения для New_client, поэтому пример, в котором используются записи из примера структуры, будет
2018 | Paris | 66
2018 | London | 100
2018 | Madrid | 50
2017 | Paris | 100
Адаптация из https://stackoverflow.com/a/13484279/2802552 моего текущего сценария, но разница в том, что вместо 1 столбец использует 2 столбца (год и местоположение)
data = load...
grp = group inpt by Year; -- creates bags for each value in col1 (Year)
result = FOREACH grp {
total = COUNT(data);
t = FILTER data BY New_client == 'true'; --create a bag which contains only T values
GENERATE FLATTEN(group) AS Year, total AS TOTAL_ROWS_IN_INPUT_TABLE, 100*(double)COUNT(t)/(double)total AS PERCENTAGE_TRUE_IN_INPUT_TABLE;
};
Проблема в том, что в качестве эталона используется год, а мне нужно, чтобы он был годом и районом.
Спасибо за вашу помощь.