Изменения документа 01. Данные, таблицы и дашборды
Редактировал(а) Ирина Сафонова 22.01.2024, 16:35
От версии 38.1
отредактировано Ирина Сафонова
на 13.07.2023, 13:26
на 13.07.2023, 13:26
Изменить комментарий:
К данной версии нет комментариев
К версии 40.1
отредактировано Ирина Сафонова
на 02.10.2023, 15:25
на 02.10.2023, 15:25
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -2,7 +2,7 @@ 2 2 3 3 {{toc/}} 4 4 5 -= =Можно ли получить доступ к нескольким таблицам одновременно? ==5 += Можно ли получить доступ к нескольким таблицам одновременно? = 6 6 7 7 ---- 8 8 ... ... @@ -10,27 +10,31 @@ 10 10 11 11 При работе с таблицами решение — материализация таблицы с помощью регулярного запланированного процесса пакетной обработки данных. Таблица при этом должна содержать все необходимые для анализа данных поля. 12 12 13 -**Представление (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}},а выполнение работы дважды может снизить производительность.13 +**Представление (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}}. Выполнение работы дважды может снизить производительность. 14 14 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/]]).15 +При использовании таблицы или представления важный фактором является то, достаточно ли быстро работает БД, из которой забираются данные. Быстрая работа необходима для обслуживания БД в интерактивном режиме для обеспечения взаимодействия между СУБД и Cloud BI. 16 16 17 -Однако если использовать[[ Лабораторию 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/]], то такого ограничения нет. Лаборатория позволяет написать SQL-запроса для объединения нескольких таблиц, если учетная запись БД, через которую подключается Cloud BI, имеет доступ к таблицам. 17 +{{info}} 18 +Используйте СУБД с "горячим" доступом в качестве организации "горячего" слоя для 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/]]. 19 +{{/info}} 18 18 19 - ==Насколько большимимогут быть данные?==21 +Если использовать[[ Лабораторию 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/]], то такого ограничения нет. Лаборатория позволяет написать SQL-запрос для объединения нескольких таблиц. Это работает, если учетная запись БД, через которую подключается Cloud BI, имеет доступ к таблицам. 20 20 23 += Насколько большими могут быть данные? = 24 + 21 21 ---- 22 22 23 -**Ответ:** очень большого размера. Cloud BI работает как тонкий клиент над БД или средством обработки данных. Основной критерий скорости работы и объема обрабатываемых данных — скорость работы БД, могутвыполнятьзапросы, работающие с терабайтами данных в интерактивном режиме.27 +**Ответ:** очень большого размера. Cloud BI работает как тонкий клиент над БД или средством обработки данных. Основной критерий скорости работы и объема обрабатываемых данных — скорость работы БД, используемой в качестве хранилища данных и являющейся слоем данных для Cloud BI. Многие распределенные СУБД выполняют запросы, работающие с терабайтами данных в интерактивном режиме. 24 24 25 -= =Как добавить динамические фильтры в дашборд? ==29 += Как добавить динамические фильтры в дашборд? = 26 26 27 27 ---- 28 28 29 -**Ответ:** виджет **Поле фильтра** (Filter Box)позволяет определитьзапрос для заполнения раскрывающихся списков, которые можно использовать для фильтрации. Чтобы создать список различных значений,нужнозапуститьзапрос и отсортироватьрезультат по предоставленной метрике, сортируя по убыванию.33 +**Ответ:** виджет **Поле фильтра, **Filter Box, определяет запрос для заполнения раскрывающихся списков, которые можно использовать для фильтрации. Чтобы создать список различных значений, запустите запрос и отсортируйте результат по предоставленной метрике, сортируя по убыванию. 30 30 31 -В виджете также есть флажок **Фильтр по дате** (Date Filter), который включаетвозможностифильтрациипо времени на панели инструментов. После установки флажка и обновленияможноувидеть раскрывающийся списокбудетприменяться ко всем срезам, построенным поверх источника данных,которыйимеет то же имя столбца, на котором основан фильтр. Также необходимо, чтобы этот столбец был отмечен как фильтруемый на вкладке столбца редактора таблицы.35 +В виджете также есть флажок **Фильтр по дате, **Date Filter, который включает фильтрацию по времени на панели инструментов. После установки флажка и обновления ознакомьтесь с раскрывающимся списком **от** и **до**. По умолчанию фильтрация применяется ко всем срезам, построенным поверх источника данных. Источник имеет то же имя столбца, на котором основан фильтр. Также необходимо, чтобы этот столбец был отмечен как фильтруемый на вкладке столбца редактора таблицы. 32 32 33 -Если нет необходимости в фильтрации определенных виджетов на панели инструментов, томожно сделатьредактирование дашбордаи редактированиев формеполе метаданных JSON. Это ключ filter_immune_slices, который получает массив идентификаторов sliceId. На это массив никогда не должна влиять фильтрация на уровне дашборда.37 +Если нет необходимости в фильтрации определенных виджетов на панели инструментов, отредактируйте дашборда в поле метаданных JSON. Это ключ filter_immune_slices, который получает массив идентификаторов sliceId. На это массив никогда не должна влиять фильтрация на уровне дашборда. 34 34 35 35 {{code language="none"}} 36 36 { ... ... @@ -44,15 +44,15 @@ 44 44 } 45 45 {{/code}} 46 46 47 - В этомJSON-объектеуказанысрезы 324, 65 и 92, которые небудутзатронуты какой-либофильтрацией на уровне дашборда.51 +JSON-объект из примера содержит срезы 324, 65 и 92, которые не затрагиваются фильтрацией на уровне дашборда. 48 48 49 -Обратите внимание на ключ {{code language="none"}}filter_immune_slice_fields{{/code}}, который позволяет более конкретно определить для конкретного {{code language="none"}}slice_id{{/code}}, какие поля фильтра следует игнорировать. Ключ {{code language="none"}}time_range{{/code}} зарезервирован для работы с упомянутой выше фильтрацией временных границ. Если имя столбца является общим,тофильтрбудетприменен.53 +Обратите внимание на ключ {{code language="none"}}filter_immune_slice_fields{{/code}}, который позволяет определить для конкретного {{code language="none"}}slice_id{{/code}}, какие поля фильтра следует игнорировать. Ключ {{code language="none"}}time_range{{/code}} зарезервирован для работы с упомянутой выше фильтрацией временных границ. Если имя столбца является общим — фильтр применяется. 50 50 51 -= =Как ограничить запланированное обновление дашборда? ==55 += Как ограничить запланированное обновление дашборда? = 52 52 53 53 ---- 54 54 55 -По умолчанию функция обновления дашборда по времени позволяетавтоматически повторно запрашиватькаждый фрагмент дашборда в соответствии с установленным расписанием. Однако иногда нет необходимости обновлять все срезы, особенно если некоторые данные перемещаются медленно или выполняются тяжелые запросы. Чтобы исключить определенные фрагменты из процесса синхронизированного обновления, добавьте ключ {{code language="none"}}timed_refresh_immune_slices{{/code}} в поле метаданных JSON дашборда:59 +По умолчанию функция обновления дашборда по времени автоматически повторно запрашивает каждый фрагмент дашборда в соответствии с установленным расписанием. Однако иногда нет необходимости обновлять все срезы, особенно если некоторые данные перемещаются медленно или выполняются тяжелые запросы. Чтобы исключить определенные фрагменты из процесса синхронизированного обновления, добавьте ключ {{code language="none"}}timed_refresh_immune_slices{{/code}} в поле метаданных JSON дашборда: 56 56 57 57 {{code language="none"}} 58 58 { ... ... @@ -63,7 +63,7 @@ 63 63 } 64 64 {{/code}} 65 65 66 -В приведенном выше примере, если для дашборда задано обновление по времени, каждый срез, кроме 324, будетавтоматически повторно запрашиваться по расписанию. Обновление фрагментатакже будетпроисходитьв течение указанного периода.Можно отключитьэто смещение, установив для {{code language="none"}}stagger_refresh{{/code}} значение// false//, и изменитьпериод сдвига, установивдля {{code language="none"}}stagger_time{{/code}} значение в миллисекундах в поле метаданных JSON:70 +В приведенном выше примере, если для дашборда задано обновление по времени, каждый срез, кроме 324, автоматически повторно запрашивается по расписанию. Обновление фрагмента происходит в течение указанного периода. При необходимости отключите это смещение, установив для {{code language="none"}}stagger_refresh{{/code}} значение// false//, и измените период сдвига, указав для {{code language="none"}}stagger_time{{/code}} значение в миллисекундах в поле метаданных JSON: 67 67 68 68 {{code language="none"}} 69 69 { ... ... @@ -72,19 +72,23 @@ 72 72 } 73 73 {{/code}} 74 74 75 -В этомпримеревесьдашбордбудетобновляться сразу, если периодическое обновление включено.Время смещения 2,5 секунды **игнорируется**.79 +В примере дашборд обновляется сразу, если периодическое обновление включено. 76 76 77 -== Что будет, если схема таблицы изменится? == 81 +{{warning}} 82 +Время смещения 2,5 секунды **игнорируется**. 83 +{{/warning}} 78 78 85 += Что произойдет при изменении схемы таблиц? = 86 + 79 79 ---- 80 80 81 - Схемы таблиц могут изменяться, иCloud BIэтоотражает. В жизненном цикле дашбордадовольночасто возникаетнеобходимостьдобавить новое измерение или показатель.ЧтобызаставитьCloud BIобнаруживатьновыестолбцы:89 +Cloud BI отражает изменение схем таблиц. В жизненном цикле дашборда периодически необходимо добавить новое измерение или показатель. Для настройки обнаружения новых столбцов: 82 82 83 83 ~1. Перейдите в **Данные** -> **Наборы данных.** 84 -2. Щелкните значок редактирования рядом с набором данных, схема которого изменилась, и нажмите **Синхронизировать столбцы** из источника на вкладке **Столбцы**. В результате столбцы будутобъединены.92 +2. Щелкните значок редактирования рядом с набором данных, схема которого изменилась, и нажмите **Синхронизировать столбцы** из источника на вкладке **Столбцы**. В результате столбцы объединяются. 85 85 3. При необходимости повторно отредактируйте таблицу, чтобы настроить вкладку **Столбцы**, установите соответствующие флажки и снова сохраните. 86 86 87 -= =Как задать стандартный фильтр на дашборде? ==95 += Как задать стандартный фильтр на дашборде? = 88 88 89 89 ---- 90 90