Исходный код вики 01. Данные, таблицы и дашборды
Версия 55.1 от Ирина Сафонова на 31.10.2023, 16:11
Скрыть последних авторов
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 | |
![]() |
43.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/]]. Ограничением является производительность базы данных (БД), поскольку сервис эффективно запускает запрос поверх запроса к представлению. Хорошая практика в этом случае — ограничение соединения основной большой таблицы только к одной или к нескольким небольшим таблицам. Старайтесь избегать |
![]() |
1.1 | 17 | |
![]() |
43.1 | 18 | (% id="cke_bm_24744S" style="display:none" %) (%%)оператор {{code language="none"}}GROUP BY{{/code}} , поскольку Cloud BI выполняет свою реализацию запроса {{code language="none"}}GROUP BY{{/code}}. Двукратное выполнение запроса снижает производительность. |
19 | |||
![]() |
45.1 | 20 | При использовании таблицы или представления важным фактором является то, достаточно ли быстро работает БД, из которой забираются данные. Быстрая работа необходима для обслуживания БД в интерактивном режиме для обеспечения взаимодействия между СУБД и Cloud BI. |
![]() |
1.1 | 21 | |
![]() |
40.1 | 22 | {{info}} |
![]() |
54.1 | 23 | Используйте СУБД с "горячим" доступом в качестве организации "горячего" слоя для 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 | 24 | {{/info}} |
![]() |
3.1 | 25 | |
![]() |
55.1 | 26 | При использовании Лаборатории 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 | 27 | |
![]() |
39.1 | 28 | = Насколько большими могут быть данные? = |
![]() |
3.1 | 29 | |
![]() |
11.1 | 30 | ---- |
31 | |||
![]() |
55.1 | 32 | **Ответ:** большого размера. Cloud BI работает как тонкий клиент над БД или средством обработки данных. Основной критерий скорости работы и объема обрабатываемых данных — скорость работы БД, используемой в качестве хранилища данных и являющейся слоем данных для Cloud BI. Многие распределенные СУБД выполняют запросы, работающие с терабайтами данных в интерактивном режиме. |
![]() |
12.1 | 33 | |
![]() |
39.1 | 34 | = Как добавить динамические фильтры в дашборд? = |
![]() |
12.1 | 35 | |
![]() |
13.1 | 36 | ---- |
37 | |||
![]() |
55.1 | 38 | **Ответ:** виджет **Filter Box** определяет запрос для заполнения раскрывающихся списков, которые можно использовать для фильтрации. Чтобы создать список различных значений, запустите запрос и отсортируйте результат по убыванию. |
![]() |
12.1 | 39 | |
![]() |
55.1 | 40 | Флажок **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 | 41 | |
![]() |
55.1 | 42 | Если нет необходимости в фильтрации определенных виджетов на панели инструментов, отредактируйте дашборд в поле метаданных 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 | 43 | |
![]() |
16.1 | 44 | {{code language="none"}} |
![]() |
15.1 | 45 | { |
46 | "filter_immune_slices": [324, 65, 92], | ||
47 | "expanded_slices": {}, | ||
48 | "filter_immune_slice_fields": { | ||
![]() |
16.1 | 49 | "177": ["country_name", "__time_range"], |
50 | "32": ["__time_range"] | ||
![]() |
15.1 | 51 | }, |
52 | "timed_refresh_immune_slices": [324] | ||
53 | } | ||
![]() |
16.1 | 54 | {{/code}} |
![]() |
17.1 | 55 | |
![]() |
40.1 | 56 | JSON-объект из примера содержит срезы 324, 65 и 92, которые не затрагиваются фильтрацией на уровне дашборда. |
![]() |
17.1 | 57 | |
![]() |
46.1 | 58 | Обратите внимание на ключ {{code language="none"}}filter_immune_slice_fields{{/code}}. Он определяет, какие поля фильтра следует игнорировать для конкретного {{code language="none"}}slice_id{{/code}}. Ключ {{code language="none"}}time_range{{/code}} зарезервирован для работы с упомянутой выше фильтрацией временных границ. Если имя столбца является общим — фильтр применяется. |
![]() |
20.1 | 59 | |
![]() |
39.1 | 60 | = Как ограничить запланированное обновление дашборда? = |
![]() |
20.1 | 61 | |
![]() |
22.1 | 62 | ---- |
63 | |||
![]() |
47.1 | 64 | **Ответ:** по умолчанию функция обновления дашборда по времени автоматически повторно запрашивает каждый фрагмент дашборда в соответствии с установленным расписанием. Однако иногда нет необходимости обновлять все срезы, особенно если некоторые данные перемещаются медленно или выполняются тяжелые запросы. Чтобы исключить определенные фрагменты из процесса синхронизированного обновления, добавьте ключ {{code language="none"}}timed_refresh_immune_slices{{/code}} в поле метаданных JSON дашборда: |
![]() |
20.1 | 65 | |
66 | {{code language="none"}} | ||
67 | { | ||
68 | "filter_immune_slices": [], | ||
69 | "expanded_slices": {}, | ||
70 | "filter_immune_slice_fields": {}, | ||
71 | "timed_refresh_immune_slices": [324] | ||
72 | } | ||
73 | {{/code}} | ||
74 | |||
![]() |
48.1 | 75 | В приведенном выше примере, если для дашборда задано обновление по времени, каждый срез, кроме 324, автоматически повторно запрашивается по расписанию. Обновление фрагмента происходит в течение указанного периода. При необходимости отключите это смещение, установив для {{code language="none"}}stagger_refresh{{/code}} значение// false//, и измените период сдвига, указав для {{code language="none"}}stagger_time{{/code}} значение в миллисекундах в поле метаданных JSON: |
![]() |
20.1 | 76 | |
77 | {{code language="none"}} | ||
78 | { | ||
79 | "stagger_refresh": false, | ||
80 | "stagger_time": 2500 | ||
81 | } | ||
82 | {{/code}} | ||
83 | |||
![]() |
40.1 | 84 | В примере дашборд обновляется сразу, если периодическое обновление включено. |
![]() |
20.1 | 85 | |
![]() |
40.1 | 86 | {{warning}} |
87 | Время смещения 2,5 секунды **игнорируется**. | ||
88 | {{/warning}} | ||
![]() |
20.1 | 89 | |
![]() |
40.1 | 90 | = Что произойдет при изменении схемы таблиц? = |
91 | |||
![]() |
22.1 | 92 | ---- |
93 | |||
![]() |
48.1 | 94 | **Ответ:** Cloud BI отражает изменение схем таблиц. В жизненном цикле дашборда периодически необходимо добавить новое измерение или показатель. Для настройки обнаружения новых столбцов: |
![]() |
20.1 | 95 | |
![]() |
36.1 | 96 | ~1. Перейдите в **Данные** -> **Наборы данных.** |
![]() |
40.1 | 97 | 2. Щелкните значок редактирования рядом с набором данных, схема которого изменилась, и нажмите **Синхронизировать столбцы** из источника на вкладке **Столбцы**. В результате столбцы объединяются. |
![]() |
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]]у 🡰** |