Мне удалось сделать воспроизведение, подобное тому, что вы описываете, но это не так просто, поэтому я постараюсь все подробно описать. Основная идея состоит в том, чтобы иметь два источника данных из одной таблицы: один содержит customer_id
и product_id
, чтобы мы могли отфильтровать его, а другой содержит customer_id
и уже рассчитанное поле amount_bucket
. Таким образом, мы можем объединить (смешать данные) на customer_id
и фильтровать в соответствии с product_id
, что не изменит вычислений amount_bucket
.
Я использовал следующий скрипт для создания некоторых данных в BigQuery:
CREATE OR REPLACE TABLE data_studio.histogram
(
customer_id STRING,
product_id STRING,
amount INT64
);
INSERT INTO data_studio.histogram (customer_id, product_id, amount)
VALUES ('John', 'Game', 60),
('John', 'TV', 800),
('John', 'Console', 300),
('Paul', 'Sofa', 1200),
('George', 'TV', 750),
('Ringo', 'Movie', 20),
('Ringo', 'Console', 250)
;
Затем я подключаюсь напрямую к таблице BigQuery и получаю следующие поля. Источник данных называется histogram
:
Мы добавляем наш второй источник данных (BigQuery
), используя пользовательский запрос:
SELECT
customer_id,
CASE
WHEN SUM(amount) < 500 THEN '0-500'
WHEN SUM(amount) < 1000 THEN '500-1000'
WHEN SUM(amount) < 1500 THEN '1000-1500'
ELSE '1500+'
END
AS amount_bucket
FROM
data_studio.histogram
GROUP BY
customer_id
Только с последним мы могли бы сделать базовую гистограмму со следующей конфигурацией:
Размерность amount_bucket
, метрика Record count
. Я создал пользовательское поле bucket_order
, чтобы отсортировать его, так как лексикографически '1000-1500' предшествует '500-1000':
CASE
WHEN amount_bucket = '0-500' THEN 0
WHEN amount_bucket = '500-1000' THEN 1
WHEN amount_bucket = '1000-1500' THEN 2
ELSE 3
END
Теперь мы добавляем фильтр product_id
сверху и новый график сследующая конфигурация:
Обратите внимание, что метрикой является CTD (счетное различие) customer_id
, а источник данных Blended data
реализован следующим образом:
Пример, в котором я фильтрую по TV
, поэтому отображаются только George
и John
, но другие продукты по-прежнему учитываются для общей суммырасчет:
Надеюсь, это сработает для вас.