Делайте все возможное, чтобы представить данные, чтобы помочь анализу и мышлению.
— Эдвард Туфте
Как вы будете создавать такие графики, если у вас еще нет готового крутого инструмента DataViz?
Вы можете выполнить запросы, чтобы обработать данные, чтобы получить результаты. Часто вы хотите визуально представить данные в виде круговых диаграмм, пузырьковых диаграмм, гистограмм и линейных графиков. Если у вас есть Tableau, Cognos и т. Д., Это проще визуализировать. В противном случае вам придется скопировать результаты в Google Sheets или Excel. Вырезать и вставлять результаты в Google Sheets сложно из-за форматирования, проблем со строками заголовков и т. Д. Однако Couchbase Query Workbench облегчает это.
Рядом с результатами запроса у нас есть значок копирования, который копирует выходные данные в табличную форму, которую можно вставить в электронные таблицы, такие как Google Sheets, Excel и т. Д. Это средство доступно как в инструментальных средствах запросов, так и в инструментах аналитических запросов.
Давайте посмотрим на некоторые примеры данных и диаграмм.
- Рассчитайте виды документов и их количество.
Вы также можете прочитать:
Как создать панель данных убийц с помощью Google Sheets
Вот запрос к набору данных travel-sample, поставляемому с Couchbase.
SQL
xxxxxxxxxx
1
SELECT type,
2
COUNT(1) typecount
3
FROM `travel-sample`
4
GROUP BY type
5
ORDER BY typecount
6
type typecount
8
"airline" 187
9
"hotel" 917
10
"airport" 1968
11
"landmark" 4495
12
"route" 24024
Вот круговая диаграмма, созданная для данных. Это может быть легко настроено для цвета, отображения данных, различных меток и легенд.
Посмотрите GIF ниже, чтобы увидеть, как получить результаты в Google Sheets, чтобы получить графики в секунду.
2. Задача: найти 10 лучших городов с наибольшим количеством отелей.
SQL
xxxxxxxxxx
1
SELECT country,
2
city,
3
COUNT(1) hotelcount
4
FROM `travel-sample`
5
WHERE type = 'hotel'
6
GROUP BY country,
7
city
8
ORDER BY hotelcount DESC
9
LIMIT 10
10
11
city country hotelcount
12
"San Francisco" "United States" 132
13
"London" "United Kingdom" 67
14
"Paris" "France" 64
15
"San Diego" "United States" 48
16
"Birmingham" "United Kingdom" 36
17
"Los Angeles" "United States" 35
18
"United Kingdom" 23
19
"Santa Monica" "United States" 14
20
"Malibu" "United States" 12
21
"Edinburgh" "United Kingdom" 10
Единственная настройка гистограммы здесь - это добавить метки данных, чтобы показать фактическое количество отелей.
3. Задача: найти 5 лучших городов с наибольшим количеством отелей с «садами» в обзоре.
SQL
xxxxxxxxxx
1
SELECT city,
2
COUNT(1) hotelcount
3
FROM `travel-sample`
4
WHERE type = 'hotel'
5
AND ANY r IN reviews SATISFIES search(r.content, "garden") END
6
GROUP BY city
7
ORDER BY hotelcount DESC
8
LIMIT 5;
9
city hotelcount
12
"Paris" 10
13
5
14
"San Francisco" 5
15
"San Diego" 4
16
"Edinburgh" 3
Просто выберите «Пирог с пончиками» и добавьте метки.
6. Пузырьковые диаграммы требуют, чтобы вы создали процентное значение для каждой строки. Оконная функция, RATIO_TO_REPORT () , поможет вам сделать это легко. Получив запрос, создайте пузырь.
SQL
xxxxxxxxxx
1
SELECT country, city,
2
SUM(ARRAY_SUM(reviews[*].ratings[*].Location)) / COUNT(1) city_avglocation,
3
SUM(ARRAY_SUM(reviews[*].ratings[*].Service)) / COUNT(1) city_avgservice,
4
RATIO_TO_REPORT(COUNT(1)) OVER(partition by country) * 100 ratio_val,
5
(TO_STR(ROUND(RATIO_TO_REPORT(COUNT(1)) OVER(partition by country) * 100, 0)) || "%" ) AS ratio_percent
6
FROM `travel-sample`
7
WHERE type = 'hotel'
8
group by country, city
9
order by ratio_val desc, city_avgservice desc, city_avgvalue desc
10
LIMIT 10
11
12
city city_avglocation city_avgservice country ratio_percent ratio_val
13
"Paris" 13.75 15.421875 "France" "46%" 45.714285714285715
14
"San Francisco" 15.583333333333334 16.71969696969697 "United States" "37%" 36.56509695290859
15
"London" 11.567164179104477 15.746268656716419 "United Kingdom" "16%" 16.105769230769234
16
"San Diego" 15.583333333333334 16.729166666666668 "United States" "13%" 13.29639889196676
17
"Los Angeles" 11.971428571428572 12.628571428571428 "United States" "10%" 9.695290858725762
18
"Birmingham" 14.666666666666666 18.083333333333332 "United Kingdom" "9%" 8.653846153846153
19
"Avignon" 10.375 13.375 "France" "6%" 5.714285714285714
20
16.91304347826087 17.782608695652176 "United Kingdom" "6%" 5.528846153846153
21
"Chamonix-Mont-Blanc" 18 29.142857142857142 "France" "5%" 5
22
"Nice" 11.571428571428571 15 "France" "5%" 5
Пузырьковая диаграмма показывает средний рейтинг по местоположению и т. Д. Размер пузыря показывает процент отелей, представленных в соответствующей стране.
GIF ниже показывает, как создается эта пузырьковая диаграмма.
7. Создание географических карт довольно просто в Google диаграммах, так как он распознает страны и города. Вам не нужно иметь дело с латлонгами.
SQL
xxxxxxxxxx
1
Select country, count(1) num_hotels
2
from `travel-sample`
3
where type = 'airline'
4
country num_hotels
6
"United States" 127
7
"United Kingdom" 39
8
"France" 21
С данными выше просто вставьте в лист Google, а затем создайте географическую диаграмму.
8. Вы также можете создать географическую диаграмму с маркерами (пропорциональные пузырьки), опять же, используя оконные функции RATIO_TO_REPORT ().
SQL
xxxxxxxxxx
1
SELECT country,
2
COUNT(1) AS num_hotels,
3
(TOSTR(ROUND(RATIO_TO_REPORT(COUNT(1)) OVER () * 100,0)) || "%") AS hotels_percent
4
FROM `travel-sample`
5
WHERE type = 'hotel'
6
GROUP BY country;
7
country hotels_percent num_hotels
11
"United Kingdom" "45%" 416
12
"France" "15%" 140
13
"United States" "39%" 361
Вы также можете настроить графики для региона, например, США.
Наконец, запрос для генерации первой графики этого блога:
SQL
xxxxxxxxxx
1
SELECT country, city,
2
SUM(ARRAY_SUM(reviews[*].ratings[*].Location)) / COUNT(1) city_avglocation,
3
SUM(ARRAY_SUM(reviews[*].ratings[*].Service)) / COUNT(1) city_avgservice,
4
SUM(ARRAY_SUM(reviews[*].ratings[*].Overall)) / COUNT(1) city_avgoverall,
5
SUM(ARRAY_SUM(reviews[*].ratings[*].Rooms)) / COUNT(1) city_avgrooms,
6
SUM(ARRAY_SUM(reviews[*].ratings[*].`Value`)) / COUNT(1) city_avgvalue
7
FROM `travel-sample`
8
WHERE type = 'hotel'
9
group by country, city
10
order by city_avgservice desc, city_avgvalue desc
11
LIMIT 50
Вы также можете настроить графики для региона, например, США.
Наконец, запрос для генерации первой графики этого блога:
SQL
xxxxxxxxxx
1
SELECT country, city,
2
SUM(ARRAY_SUM(reviews[*].ratings[*].Location)) / COUNT(1) city_avglocation,
3
SUM(ARRAY_SUM(reviews[*].ratings[*].Service)) / COUNT(1) city_avgservice,
4
SUM(ARRAY_SUM(reviews[*].ratings[*].Overall)) / COUNT(1) city_avgoverall,
5
SUM(ARRAY_SUM(reviews[*].ratings[*].Rooms)) / COUNT(1) city_avgrooms,
6
SUM(ARRAY_SUM(reviews[*].ratings[*].`Value`)) / COUNT(1) city_avgvalue
7
FROM `travel-sample`
8
WHERE type = 'hotel'
9
group by country, city
10
order by city_avgservice desc, city_avgvalue desc
11
LIMIT 50
Спасибо за прочтение!