Исходный код вики 01. Данные, таблицы и дашборды
Редактировал(а) Ирина Сафонова 22.01.2024, 16:35
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
51.1 | 1 | {{box cssClass="floatinginfobox" title="**Содержание**"}} |
2 | {{toc/}} | ||
3 | {{/box}} | ||
![]() |
4.1 | 4 | |
![]() |
51.1 | 5 | (% data-xwiki-non-generated-content="java.util.List" %) |
6 | ((( | ||
![]() |
39.1 | 7 | = Можно ли получить доступ к нескольким таблицам одновременно? = |
![]() |
51.1 | 8 | ))) |
![]() |
1.1 | 9 | |
![]() |
11.1 | 10 | ---- |
11 | |||
![]() |
52.1 | 12 | **Ответ:** можно, но только не в режиме поиска данных или интерфейсе визуализации. [[Лаборатория SQL>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/I.%20SQL%20%20-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80/]] позволяет получить доступ только к одной таблице или представлению. |
![]() |
1.1 | 13 | |
![]() |
42.1 | 14 | Материализуйте таблицу с помощью регулярного запланированного процесса пакетной обработки данных. Таблица при этом должна содержать все необходимые для анализа данных поля. |
![]() |
1.1 | 15 | |
![]() |
57.1 | 16 | **Представление (View)** — простой логический уровень, абстрагирующий несколько SQL-запросов виртуальной таблицей. Представление объединяет несколько таблиц в одну единую и преобразовывает данные с использованием произвольных [[SQL-запросов>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/I.%20SQL%20%20-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80/I1.%20%D0%9B%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F%20SQL/]]. Ограничением является производительность базы данных (БД), поскольку сервис эффективно запускает запрос поверх запроса к представлению. Хорошая практика в этом случае — ограничение соединения основной большой таблицы только к одной или к нескольким небольшим таблицам. Старайтесь избегать оператор {{code language="none"}}GROUP BY{{/code}} , поскольку **Cloud BI** выполняет свою реализацию запроса {{code language="none"}}GROUP BY{{/code}}. Двукратное выполнение запроса снижает производительность. |
![]() |
1.1 | 17 | |
![]() |
56.1 | 18 | При использовании таблицы или представления важным фактором является то, достаточно ли быстро работает БД, из которой забираются данные. Быстрая работа необходима для обслуживания БД в интерактивном режиме для обеспечения взаимодействия между СУБД и **Cloud BI**. |
![]() |
1.1 | 19 | |
![]() |
40.1 | 20 | {{info}} |
![]() |
57.1 | 21 | Используйте СУБД с "горячим" доступом в качестве организации "горячего" слоя для **Cloud BI**. Пример СУБД — [[Clickhouse>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/A.%20%D0%A1%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%81%20%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/ClickHouse/]]. |
![]() |
40.1 | 22 | {{/info}} |
![]() |
3.1 | 23 | |
![]() |
56.1 | 24 | При использовании Лаборатории SQL такого ограничения нет. Вы можете [[написать SQL-запрос>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/I.%20SQL%20%20-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80/I1.%20%D0%9B%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F%20SQL/]] для объединения нескольких таблиц. Функционал объединения работает, если учетная запись БД, через которую подключается **Cloud BI**, получает доступ к таблицам. |
![]() |
44.1 | 25 | |
![]() |
39.1 | 26 | = Насколько большими могут быть данные? = |
![]() |
3.1 | 27 | |
![]() |
11.1 | 28 | ---- |
29 | |||
![]() |
56.1 | 30 | **Ответ:** большого размера. **Cloud BI** работает как тонкий клиент над БД или средством обработки данных. Основной критерий скорости работы и объема обрабатываемых данных — скорость работы БД, используемой в качестве хранилища данных и являющейся слоем данных для **Cloud BI**. Многие распределенные СУБД выполняют запросы, работающие с терабайтами данных в интерактивном режиме. |
![]() |
12.1 | 31 | |
![]() |
39.1 | 32 | = Как добавить динамические фильтры в дашборд? = |
![]() |
12.1 | 33 | |
![]() |
13.1 | 34 | ---- |
35 | |||
![]() |
55.1 | 36 | **Ответ:** виджет **Filter Box** определяет запрос для заполнения раскрывающихся списков, которые можно использовать для фильтрации. Чтобы создать список различных значений, запустите запрос и отсортируйте результат по убыванию. |
![]() |
12.1 | 37 | |
![]() |
55.1 | 38 | Флажок **Date Filter **включает фильтрацию по времени на панели инструментов. После установки флажка и обновления ознакомьтесь с раскрывающимся списком **от** и **до**. По умолчанию фильтрация применяется ко всем срезам, построенным поверх [[источника данных>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/K.%20%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/]]. Источник имеет то же имя столбца, на котором основан фильтр. Также необходимо, чтобы этот столбец был отмечен как фильтруемый на вкладке столбца редактора таблицы. |
![]() |
12.1 | 39 | |
![]() |
55.1 | 40 | Если нет необходимости в фильтрации определенных виджетов на панели инструментов, отредактируйте дашборд в поле метаданных JSON. Это ключ{{code language="none"}}filter_immune_slices{{/code}}, который получает массив идентификаторов {{code language="none"}}sliceId{{/code}}. На это массив не влияет фильтрация на уровне [[дашборда>>https://wiki.dfcloud.ru/bin/view/Big%20Data/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/B.%20%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%20%D0%B8%20%D0%B4%D0%B0%D1%88%D0%B1%D0%BE%D0%B0%D1%80%D0%B4%D0%BE%D0%B2/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%20%D0%B8%20%D0%B4%D0%B0%D1%88%D0%B1%D0%BE%D0%B0%D1%80%D0%B4%D0%BE%D0%B2/]]. |
![]() |
12.1 | 41 | |
![]() |
16.1 | 42 | {{code language="none"}} |
![]() |
15.1 | 43 | { |
44 | "filter_immune_slices": [324, 65, 92], | ||
45 | "expanded_slices": {}, | ||
46 | "filter_immune_slice_fields": { | ||
![]() |
16.1 | 47 | "177": ["country_name", "__time_range"], |
48 | "32": ["__time_range"] | ||
![]() |
15.1 | 49 | }, |
50 | "timed_refresh_immune_slices": [324] | ||
51 | } | ||
![]() |
16.1 | 52 | {{/code}} |
![]() |
17.1 | 53 | |
![]() |
40.1 | 54 | JSON-объект из примера содержит срезы 324, 65 и 92, которые не затрагиваются фильтрацией на уровне дашборда. |
![]() |
17.1 | 55 | |
![]() |
46.1 | 56 | Обратите внимание на ключ {{code language="none"}}filter_immune_slice_fields{{/code}}. Он определяет, какие поля фильтра следует игнорировать для конкретного {{code language="none"}}slice_id{{/code}}. Ключ {{code language="none"}}time_range{{/code}} зарезервирован для работы с упомянутой выше фильтрацией временных границ. Если имя столбца является общим — фильтр применяется. |
![]() |
20.1 | 57 | |
![]() |
39.1 | 58 | = Как ограничить запланированное обновление дашборда? = |
![]() |
20.1 | 59 | |
![]() |
22.1 | 60 | ---- |
61 | |||
![]() |
47.1 | 62 | **Ответ:** по умолчанию функция обновления дашборда по времени автоматически повторно запрашивает каждый фрагмент дашборда в соответствии с установленным расписанием. Однако иногда нет необходимости обновлять все срезы, особенно если некоторые данные перемещаются медленно или выполняются тяжелые запросы. Чтобы исключить определенные фрагменты из процесса синхронизированного обновления, добавьте ключ {{code language="none"}}timed_refresh_immune_slices{{/code}} в поле метаданных JSON дашборда: |
![]() |
20.1 | 63 | |
64 | {{code language="none"}} | ||
65 | { | ||
66 | "filter_immune_slices": [], | ||
67 | "expanded_slices": {}, | ||
68 | "filter_immune_slice_fields": {}, | ||
69 | "timed_refresh_immune_slices": [324] | ||
70 | } | ||
71 | {{/code}} | ||
72 | |||
![]() |
48.1 | 73 | В приведенном выше примере, если для дашборда задано обновление по времени, каждый срез, кроме 324, автоматически повторно запрашивается по расписанию. Обновление фрагмента происходит в течение указанного периода. При необходимости отключите это смещение, установив для {{code language="none"}}stagger_refresh{{/code}} значение// false//, и измените период сдвига, указав для {{code language="none"}}stagger_time{{/code}} значение в миллисекундах в поле метаданных JSON: |
![]() |
20.1 | 74 | |
75 | {{code language="none"}} | ||
76 | { | ||
77 | "stagger_refresh": false, | ||
78 | "stagger_time": 2500 | ||
79 | } | ||
80 | {{/code}} | ||
81 | |||
![]() |
40.1 | 82 | В примере дашборд обновляется сразу, если периодическое обновление включено. |
![]() |
20.1 | 83 | |
![]() |
40.1 | 84 | {{warning}} |
85 | Время смещения 2,5 секунды **игнорируется**. | ||
86 | {{/warning}} | ||
![]() |
20.1 | 87 | |
![]() |
40.1 | 88 | = Что произойдет при изменении схемы таблиц? = |
89 | |||
![]() |
22.1 | 90 | ---- |
91 | |||
![]() |
56.1 | 92 | **Ответ:** **Cloud BI** отражает изменение схем таблиц. В жизненном цикле дашборда периодически необходимо добавить новое измерение или показатель. Для настройки обнаружения новых столбцов: |
![]() |
20.1 | 93 | |
![]() |
57.1 | 94 | ~1. Перейдите в **Данные** -> **Наборы данных**. |
95 | |||
![]() |
40.1 | 96 | 2. Щелкните значок редактирования рядом с набором данных, схема которого изменилась, и нажмите **Синхронизировать столбцы** из источника на вкладке **Столбцы**. В результате столбцы объединяются. |
![]() |
57.1 | 97 | |
![]() |
48.1 | 98 | 3. При необходимости повторно отредактируйте таблицу, установите соответствующие флажки и снова сохраните данные. |
![]() |
23.1 | 99 | |
![]() |
39.1 | 100 | = Как задать стандартный фильтр на дашборде? = |
![]() |
23.1 | 101 | |
102 | ---- | ||
103 | |||
![]() |
38.1 | 104 | **Ответ:** можно применить фильтр и сохранить дашборд, пока фильтр активен. |
![]() |
26.1 | 105 | |
![]() |
55.1 | 106 | **[[В начало>>doc:Big Data.Сервис Cloud BI.WebHome]] **🡱 |
107 | **[[К следующему разделу>>doc:Big Data.Сервис Cloud BI.4\. Частые вопросы по сервису.03\. Визуализация.WebHome]] **🡲 | ||
108 | **[[К предыдущему раздел>>doc:Big Data.Сервис Cloud BI.4\. Частые вопросы по сервису.WebHome]]у 🡰** |