I01. Данные, таблицы и дашборды
Можно ли получить доступ к нескольким таблицам одновременно?
Ответ: можно, но только не в режиме поиска данных или интерфейсе визуализации. Лаборатория SQL позволяет получить доступ только к одной таблице или представлению.
Материализуйте таблицу с помощью регулярного запланированного процесса пакетной обработки данных. Таблица при этом должна содержать все необходимые для анализа данных поля.
Представление (View) — простой логический уровень, абстрагирующий несколько SQL-запросов виртуальной таблицей. Представление объединяет несколько таблиц в одну единую и преобразовывает данные с использованием произвольных SQL-запросов. Ограничением является производительность базы данных (БД), поскольку сервис эффективно запускает запрос поверх запроса к представлению. Хорошая практика в этом случае — ограничение соединения основной большой таблицы только к одной или к нескольким небольшим таблицам. Старайтесь избегать оператор GROUP BY , поскольку Cloud BI выполняет свою реализацию запроса GROUP BY. Двукратное выполнение запроса снижает производительность.
При использовании таблицы или представления важным фактором является то, достаточно ли быстро работает БД, из которой забираются данные. Быстрая работа необходима для обслуживания БД в интерактивном режиме для обеспечения взаимодействия между СУБД и Cloud BI.
При использовании Лаборатории SQL такого ограничения нет. Вы можете написать SQL-запрос для объединения нескольких таблиц. Функционал объединения работает, если учетная запись БД, через которую подключается Cloud BI, получает доступ к таблицам.
Насколько большими могут быть данные?
Ответ: большого размера. Cloud BI работает как тонкий клиент над БД или средством обработки данных. Основной критерий скорости работы и объема обрабатываемых данных — скорость работы БД, используемой в качестве хранилища данных и являющейся слоем данных для Cloud BI. Многие распределенные СУБД выполняют запросы, работающие с терабайтами данных в интерактивном режиме.
Как добавить динамические фильтры в дашборд?
Ответ: виджет Filter Box определяет запрос для заполнения раскрывающихся списков, которые можно использовать для фильтрации. Чтобы создать список различных значений, запустите запрос и отсортируйте результат по убыванию.
Флажок Date Filter включает фильтрацию по времени на панели инструментов. После установки флажка и обновления ознакомьтесь с раскрывающимся списком от и до. По умолчанию фильтрация применяется ко всем срезам, построенным поверх датасета. Источник имеет то же имя столбца, на котором основан фильтр. Также необходимо, чтобы этот столбец был отмечен как фильтруемый на вкладке столбца редактора таблицы.
Если нет необходимости в фильтрации определенных виджетов на панели инструментов, отредактируйте дашборд в поле метаданных JSON. Это ключfilter_immune_slices, который получает массив идентификаторов sliceId. На это массив не влияет фильтрация на уровне дашборда.
"filter_immune_slices": [324, 65, 92],
"expanded_slices": {},
"filter_immune_slice_fields": {
"177": ["country_name", "__time_range"],
"32": ["__time_range"]
},
"timed_refresh_immune_slices": [324]
}
JSON-объект из примера содержит срезы 324, 65 и 92, которые не затрагиваются фильтрацией на уровне дашборда.
Обратите внимание на ключ filter_immune_slice_fields. Он определяет, какие поля фильтра следует игнорировать для конкретного slice_id. Ключ time_range зарезервирован для работы с упомянутой выше фильтрацией временных границ. Если имя столбца является общим — фильтр применяется.
Как ограничить запланированное обновление дашборда?
Ответ: по умолчанию функция обновления дашборда по времени автоматически повторно запрашивает каждый фрагмент дашборда в соответствии с установленным расписанием. Однако иногда нет необходимости обновлять все срезы, особенно если некоторые данные перемещаются медленно или выполняются тяжелые запросы. Чтобы исключить определенные фрагменты из процесса синхронизированного обновления, добавьте ключ timed_refresh_immune_slices в поле метаданных JSON дашборда:
"filter_immune_slices": [],
"expanded_slices": {},
"filter_immune_slice_fields": {},
"timed_refresh_immune_slices": [324]
}
В приведенном выше примере, если для дашборда задано обновление по времени, каждый срез, кроме 324, автоматически повторно запрашивается по расписанию. Обновление фрагмента происходит в течение указанного периода. При необходимости отключите это смещение, установив для stagger_refresh значение false, и измените период сдвига, указав для stagger_time значение в миллисекундах в поле метаданных JSON:
"stagger_refresh": false,
"stagger_time": 2500
}
В примере дашборд обновляется сразу, если периодическое обновление включено.
Что произойдет при изменении схемы таблиц?
Ответ: Cloud BI отражает изменение схем таблиц. В жизненном цикле дашборда периодически необходимо добавить новое измерение или показатель. Для настройки обнаружения новых столбцов:
1. Перейдите в Данные -> Наборы данных.
2. Щелкните значок редактирования рядом с набором данных, схема которого изменилась, и нажмите Синхронизировать столбцы из источника на вкладке Столбцы. В результате столбцы объединяются.
3. При необходимости повторно отредактируйте таблицу, установите соответствующие флажки и снова сохраните данные.
Как задать стандартный фильтр на дашборде?
Ответ: можно применить фильтр и сохранить дашборд, пока фильтр активен.