Версия 27.1 от Ирина Сафонова на 12.04.2023, 00:45

Скрыть последних авторов
Ирина Сафонова 4.1 1 **Содержание**
2
3 {{toc/}}
4
Ирина Сафонова 1.1 5 == Можно ли получить доступ к нескольким таблицам одновременно? ==
6
Ирина Сафонова 11.1 7 ----
8
Ирина Сафонова 1.1 9 **Ответ:** не совсем. Только не в режиме поиска данных или интерфейсе визуализации. Инструмент Лаборатории SQL позволяет получить доступ только к одной таблице или к представлению.
10
11 При работе с таблицами решение — материализация таблицы с помощью регулярного запланированного процесса пакетной обработки данных. Таблица при этом должна содержать все необходимые для анализа данных поля.
12
Ирина Сафонова 5.1 13 **Представление (View)** — это простой логический уровень, абстрагирующий несколько SQL-запросов виртуальной таблицей. Это позволяет объединять несколько таблиц в одну единую и преобразовывать данные с использованием произвольных SQL-запросов. Ограничением является производительность базы данных, поскольку сервис эффективно запускает запрос поверх запроса к представлению. Хорошая практика является — ограничение соединения основной большой таблицы только к одной или к нескольким небольшим таблицам. В этом случае рекомендуется избегать оператора GROUP BY (где это возможно), поскольку BI будет выполнять свою собственную реализацию запроса GROUP BY, а выполнение работы дважды может снизить производительность.
Ирина Сафонова 1.1 14
Ирина Сафонова 6.1 15 При использовании таблицы или представления (view) важный фактором является то, достаточно ли быстро работает БД, из которой забираются данные. Быстрая работа БД необходима для обслуживания БД в интерактивном режиме с целью обеспечения хорошего взаимодействия между СУБД и BI. Лучше всего использовать СУБД с "горячим" доступом в качестве организации горячего слоя для BI (например, [[Clickhouse>>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/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/]]).
Ирина Сафонова 1.1 16
Ирина Сафонова 7.1 17 Однако если использовать Лабораторию SQL, то такого ограничения нет. Лаборатория позволяет написать SQL-запроса для объединения нескольких таблиц, если учетная запись БД, через которую подключается Cloud BI, имеет доступ к таблицам.
Ирина Сафонова 3.1 18
19 == Насколько большими могут быть данные? ==
20
Ирина Сафонова 11.1 21 ----
22
Ирина Сафонова 4.1 23 **Ответ:** очень большого размера. Cloud BI работает как тонкий клиент над БД или средством обработки данных.
Ирина Сафонова 3.1 24 Основной критерий скорости работы и объема обрабатываемых данных — скорость работы БД, используемой в качестве хранилища данных и являющейся слоем данных для Cloud BI.
25 Многие распределенные СУБД могут выполнять запросы, работающие с терабайтами данных в интерактивном режиме.
Ирина Сафонова 12.1 26
27 == Как добавить динамические фильтры в дашборд? ==
28
Ирина Сафонова 13.1 29 ----
30
Ирина Сафонова 14.1 31 **Ответ:** виджет **Поле фильтра** (Filter Box) позволяет определить запрос для заполнения раскрывающихся списков, которые можно использовать для фильтрации. Чтобы создать список различных значений, нужно запустить запрос и отсортировать результат по предоставленной метрике, сортируя по убыванию.
Ирина Сафонова 12.1 32
33 В виджете также есть флажок **Фильтр по дате** (Date Filter), который включает возможности фильтрации по времени на панели инструментов. После установки флажка и обновления можно увидеть раскрывающийся список **от** и **до**.
34
35 По умолчанию фильтрация будет применяться ко всем срезам, построенным поверх источника данных, который имеет то же имя столбца, на котором основан фильтр. Также необходимо, чтобы этот столбец был отмечен как фильтруемый на вкладке столбца редактора таблицы.
36
37 Если нет необходимости в фильтрации определенных виджетов на панели инструментов, то можно сделать редактирование панели мониторинга и редактирование в форме поле метаданных JSON. Это ключ filter_immune_slices, который получает массив идентификаторов sliceId. На это массив никогда не должна влиять фильтрация на уровне панели мониторинга.
Ирина Сафонова 15.1 38
Ирина Сафонова 16.1 39 {{code language="none"}}
Ирина Сафонова 15.1 40 {
41 "filter_immune_slices": [324, 65, 92],
42 "expanded_slices": {},
43 "filter_immune_slice_fields": {
Ирина Сафонова 16.1 44 "177": ["country_name", "__time_range"],
45 "32": ["__time_range"]
Ирина Сафонова 15.1 46 },
47 "timed_refresh_immune_slices": [324]
48 }
Ирина Сафонова 16.1 49 {{/code}}
Ирина Сафонова 17.1 50
51 В этом JSON-объекте указаны срезы 324, 65 и 92, которые не будут затронуты какой-либо фильтрацией на уровне панели мониторинга.
52
Ирина Сафонова 18.1 53 Обратите внимание на ключ **filter_immune_slice_fields**, который позволяет более конкретно определить для конкретного slice_id, какие поля фильтра следует игнорировать.
Ирина Сафонова 17.1 54 Ключ time_range зарезервирован для работы с упомянутой выше фильтрацией временных границ. Если имя столбца является общим, то фильтр будет применен.
Ирина Сафонова 20.1 55
56 == Как ограничить запланированное обновление дашборда? ==
57
Ирина Сафонова 22.1 58 ----
59
Ирина Сафонова 20.1 60 По умолчанию функция обновления панели мониторинга по времени позволяет автоматически повторно запрашивать каждый фрагмент панели мониторинга в соответствии с установленным расписанием. Однако иногда нет необходимости обновлять все срезы, особенно если некоторые данные перемещаются медленно или выполняются тяжелые запросы. Чтобы исключить определенные фрагменты из процесса синхронизированного обновления, добавьте ключ **timed_refresh_immune_slices** в поле метаданных JSON панели мониторинга:
61
62 {{code language="none"}}
63 {
64 "filter_immune_slices": [],
65 "expanded_slices": {},
66 "filter_immune_slice_fields": {},
67 "timed_refresh_immune_slices": [324]
68 }
69 {{/code}}
70
71 В приведенном выше примере, если для панели мониторинга задано обновление по времени, каждый срез, кроме 324, будет автоматически повторно запрашиваться по расписанию.
72 Обновление фрагмента также будет происходить в течение указанного периода. Можно отключить это смещение, установив для **stagger_refresh** значение// false//, и изменить период сдвига, установив для stagger_time значение в миллисекундах в поле метаданных JSON:
73
74 {{code language="none"}}
75 {
76 "stagger_refresh": false,
77 "stagger_time": 2500
78 }
79 {{/code}}
80
81 Здесь вся панель мониторинга будет обновляться сразу, если периодическое обновление включено. Время смещения 2,5 секунды **игнорируется**.
82
83 == Что будет, если схема таблицы изменится? ==
84
Ирина Сафонова 22.1 85 ----
86
Ирина Сафонова 20.1 87 Схемы таблиц могут изменяться, и BI это отражает. В жизненном цикле панели мониторинга довольно часто возникает необходимость добавить новое измерение или показатель. Чтобы заставить BI обнаруживать новые столбцы:
88
89 1. Перейдите в **Данные** -> **Наборы данных.**
90 1. Щелкните значок редактирования рядом с набором данных, схема которого изменилась, и нажмите **Синхронизировать столбцы** из источника на вкладке **Столбцы**. В результате столбцы  будут объединены.
91 1. При необходимости повторно отредактируйте таблицу, чтобы настроить вкладку **Столбцы**, установите соответствующие флажки и снова сохраните.
Ирина Сафонова 23.1 92
93 == Как задать стандартный фильтр на дашборде? ==
94
95 ----
96
97 **Ответ:** можно применить фильтр и сохранить панель мониторинга, пока фильтр активен.
Ирина Сафонова 26.1 98
99 **[[В начало>>url:https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/]] **🡱
Ирина Сафонова 27.1 100 **[[К следующему разделу>>doc:Сервис Cloud BI.4\. Частые вопросы по сервису.03\. Визуализация.WebHome]] **🡲
101 **[[К предыдущему разделу>>doc:Сервис Cloud BI.4\. Частые вопросы по сервису.WebHome]] 🡰**