Dynami c Bins, Top N в таблице - PullRequest
0 голосов
/ 23 января 2020

У меня есть пример данных, как показано ниже.

----------------------------
|Customer |Sales   |Profit |
----------------------------
|cust_1   |900     |20     |
|cust_2   |890     |80     |
|cust_3   |400     |220    |
|cust_4   |500     |10     |
|cust_5   |20      |20     |
|cust_6   |40      |10     |
|cust_7   |950     |400    |
|cust_8   |200     |100    |
----------------------------

Я хочу показать сумму прибыли клиентов, которые попадают в соответствующие диапазоны продаж. Диапазон продаж - сложная часть, пожалуйста, потерпите меня. Вы можете принять диапазоны в качестве корзин.

Мне нужно создать эти корзины динамически, так что

Range1 будет от минимальной продажной цены топ-25% клиентов по продажной стоимости до максимальной объем продаж 25% лучших покупателей по продажам (означает максимум всей продажной стоимости).

Range2 будет от минимальной стоимости продаж 50% лучших покупателей по продажам до минимальной стоимости 25% лучших покупателей по продажи.

Диапазон 3 будет от минимальной стоимости продаж топ-75% клиентов по стоимости продаж до минимальной стоимости продаж топ-50% клиентов по продажам.

Диапазон 4 будет от минимальной стоимости продаж верхние 100% клиентов по продажной стоимости (означает минимум всей продажной стоимости) до минимальной продажной стоимости топ-75% клиентов по продажам.

Итак, рассмотрим приведенный выше пример таблицы:

Лучшие 25% клиентов по стоимости продаж: cust_7 (950) и cust_1 (900)

Лучшие 50% клиентов по стоимости продаж: cust_7 (950), cust_1 (900), cust_2 (890 ) и cust_4 (500)

Top 75 % клиентов по стоимости продаж: cust_7 (950), cust_1 (900), cust_2 (890), cust_4 (500), cust_3 (400) и cust_8 (200)

Лучшие 100% клиентов по стоимости продаж : все клиенты

Значения продаж указаны вместе с клиентом в приведенном выше описании.

Таким образом, диапазоны будут:

Range1: " 900-950"
as minimum sales value of top 25% of customers by sales value is 900 and max is 950

Range2:" 500-900"
as minimum sales value of top 50% of customers by sales value is 500 and minimum sales value of top 25% of customers by sales value is 900

Range3:" 200-500"
as minimum sales value of top 75% of customers by sales value is 200 and minimum sales value of top 50% of customers by sales value is 500

Range4:" 20-200"
as minimum sales value of customers is 20 and minimum sales value of top 75% of customers by sales value is 200

Основной вопрос лежит на создавая эти мусорные ведра. Как я могу создать такие динамические корзины c? Как только я смогу создать эти корзины, я могу просто перетащить прибыль для просмотра, которая будет агрегирована Моя таблица вывода должна выглядеть примерно так (столбец объяснений не является частью представления) -

---------------------------------------------
| Ranges (bins) | Sum(Profit) | Explanation |
---------------------------------------------
| 900-950       | 420         | 400 + 20    |
| 500-900       | 1390        | 80 + 10     |
| 200-500       | 320         | 220 + 100   |
| 20-200        | 30          | 20 + 10     |
---------------------------------------------

p.s. I am using Tableau server 2018 and percentile function is not supported in that.

...