Запросы в sql: основные операторы, виды, синтаксис, написание, создание базы данных, примеры простых и сложных команд
Содержание
Создание SQL запросов
В том случае, если встроенного языка запросов ZuluGIS недостаточно, запросы могут
выполняться с использованием OGC расширения языка SQL.
В программе используется диалект языка SQL основанный на диалекте Transact-SQL,
разработанном компаниями Microsoft и Sybase (см. http://msdn.microsoft.com/en-us/library/bb510741(SQL.100).aspx и http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.sqlug/html/sqlug/title.htm). Используемый диалект дополнен в соответствии с OGC расширением языка SQL, информация о
котором приводится по адресам http://www.opengeospatial.org/standards/sfa (общая
архитектура) и http://www.opengeospatial.org/standards/sfs (SQL
расширение).
IntelliSense — технология автодополнения, дописывает название функции при вводе начальных
букв. Кроме прямого назначения IntelliSense используется для доступа к документации и для
устранения неоднозначности в именах переменных, функций и методов. Подсветка синтаксиса —
выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и
начертаний. Обычно применяется для облегчения чтения исходного текста компьютерных программ,
улучшения визуального восприятия.
Рисунок 694. Написание SQL запроса с IntelliSense
Для вызова диалога формирования SQL запросов выполните команду меню
Карта|Запрос|SQL запрос, либо нажмите кнопку панели инструментов.
Рисунок 695. Диалог SQL запроса
В области ввода задается текст SQL запроса. В правой части диалога расположен навигатор по
полям карты (Источник:), позволяющий быстро добавить запрос данных из какого либо поля карты.
Для добавления запроса данных поля, выберите в списке требуемый слой, БД и выполните двойной
щелчок по названию поля, запрос будет добавлен в область ввода.
Примечание | |
---|---|
Для быстрого поиска нужных полей в списке Источник, введите начало названия требуемого Для отображения реальных названий полей базы данных в области полей сделайте щелчок правой |
После задания текста запроса нажмите кнопку Выполнить панели
инструментов, в области Ответ в нижней части диалога отобразится панель
данных с результатами запроса. Панель можно открепить от диалога запроса для дальнейшей работы с
результатами, для этого наведите указатель мыши на заголовок панели, нажмите левую кнопку мыши,
не отпуская ее, переместите мышь в произвольную часть окна программы ZuluGIS, после чего
отпустите кнопку мыши. Подробнее о панели данных см. «Панель данных».
В диалоге SQL запросов предусмотрено сохранение текущего запроса в файл, открытие запроса из
файла и создание нового запроса:
Для открытия запроса из файла (в формате .sql) выполните команду меню
Файл|Открыть, или нажмите кнопку панели инструментов – и выберите требуемый файл в стандартном диалоге выбора файлов;Для сохранения текущего запроса в файле (формата . sql) выполните команду меню
Файл|Сохранить, или нажмите кнопку панели инструментов – и задайте требуемое название файла в стандартном диалоге сохранения
файлов.Для создания нового запроса выполните команду меню Файл|Новый запрос,
либо нажмите кнопку панели инструментов .
Сложные SQL-запросы
Сложные SQL-запросы
Пожалуйста, включите JavaScript в браузере!
Сложные SQL-запросы
С помощью строки поиска вы можете вручную создавать SQL-запросы любой сложности для фильтрации событий.
Чтобы сформировать SQL-запрос вручную:
- Перейдите в раздел События веб-интерфейса KUMA.
Откроется форма с полем ввода.
- Введите SQL-запрос в поле ввода.
- Нажмите на кнопку .
Отобразится таблица событий, соответствующих условиям вашего запроса. При необходимости вы можете отфильтровать события по периоду.
Поддерживаемые функции и операторы
SELECT
– поля событий, которые следует возвращать.Для
SELECT
в программе поддержаны следующие функции и операторы:- Функции агрегации:
count, avg, max, min, sum
. - Арифметические операторы:
+, -, *, /, <, >, =, !=, >=, <=
.Вы можете комбинировать эти функции и операторы.
Если вы используете в запросе функции агрегации, настройка отображения таблицы событий, сортировка событий по возрастанию и убыванию, получение статистики, а также ретроспективная проверка недоступны.
- Функции агрегации:
FROM
– источник данных.При создании запроса в качестве источника данных вам нужно указать значение events.
WHERE
– условия фильтрации событий.AND, OR, NOT, =, !=, >, >=, <, <=
IN
BETWEEN
LIKE
ILIKE
inSubnet
match
(в запросах используется синтаксис регулярных выражений re2)
GROUP BY
– поля событий или псевдонимы, по которым следует группировать возвращаемые данные.Если вы используете в запросе группировку данных, настройка отображения таблицы событий, сортировка событий по возрастанию и убыванию, получение статистики, а также ретроспективная проверка недоступны.
ORDER BY
– столбцы, по которым следует сортировать возвращаемые данные.Возможные значения:
DESC
– по убыванию.ASC
– по возрастанию.
OFFSET
– пропуск указанного количества строк перед выводом результатов запроса.LIMIT
– количество отображаемых в таблице строк.Значение по умолчанию – 250.
Если при фильтрации событий по пользовательскому периоду количество строк в результатах поиска превышает заданное значение, вы можете отобразить в таблице дополнительные строки, нажав на кнопку Показать больше записей. Кнопка не отображается при фильтрации событий по стандартному периоду.
Примеры запросов:
SELECT * FROM `events` WHERE Type IN ('Base', 'Audit') ORDER BY Timestamp DESC LIMIT 250
Все события таблицы events с типом Base и Audit, отсортированные по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250.
SELECT * FROM `events` WHERE BytesIn BETWEEN 1000 AND 2000 ORDER BY Timestamp ASC LIMIT 250
Все события таблицы events, для которых в поле BytesIn значение полученного трафика находится в диапазоне от 1000 до 2000 байт, отсортированные по столбцу Timestamp в порядке возрастания. Количество отображаемых в таблице строк – 250.
SELECT * FROM `events` WHERE Message LIKE '%ssh:%' ORDER BY Timestamp DESC LIMIT 250
Все события таблицы events, которые в поле Message содержат данные, соответствующие заданному шаблону
%ssh:%
в нижнем регистре, и отсортированы по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250.SELECT * FROM `events` WHERE inSubnet(DeviceAddress, '10.0.0.1/24') ORDER BY Timestamp DESC LIMIT 250
Все события таблицы events для хостов, которые входят в подсеть 10.0.0.1/24, отсортированные по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250.
SELECT * FROM `events` WHERE match(Message, 'ssh.*') ORDER BY Timestamp DESC LIMIT 250
Все события таблицы events, которые в поле Message содержат текст, соответствующий шаблону
ssh.*
, и отсортированы по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 250.SELECT max(BytesOut) / 1024 FROM `events`
Максимальный размер исходящего трафика (КБ) за выбранный период времени.
SELECT count(ID) AS "Count", SourcePort AS "Port" FROM `events` GROUP BY SourcePort ORDER BY Port ASC LIMIT 250
Количество событий и номер порта. События сгруппированы по номеру порта и отсортированы по столбцу Port в порядке возрастания. Количество отображаемых в таблице строк – 250.
Столбцу ID в таблице событий присвоено имя Count, столбцу SourcePort присвоено имя Port.
Если вы хотите указать в запросе специальный символ, вам требуется экранировать его, поместив перед ним обратную косую черту (\).
Пример:
Все события таблицы events, которые в поле Message содержат текст, соответствующий шаблону
|
При переключении на конструктор параметры запроса, введенного вручную в строке поиска, не переносятся в конструктор: вам требуется создать запрос заново. При этом запрос, созданный в конструкторе, не перезаписывает запрос, введенный в строке поиска, пока вы не нажмете на кнопку Применить в окне конструктора.
После обновления KUMA до версии 1.6 при фильтрации событий с помощью SQL-запроса, содержащего условие inSubnet, может возвращаться ошибка Code: 441. DB::Exception: Invalid IPv4 value. В таких случаях необходимо на серверах хранилища (на каждой машине кластера ClickHouse) в файле /opt/kaspersky/kuma/clickhouse/cfg/config.d/users.xml в разделе profiles → default добавить директиву <cast_ipv4_ipv6_default_on_conversion_error>true</cast_ipv4_ipv6_default_on_conversion_error>
.
Подробнее об SQL см. в справке ClickHouse.
В начало
Что такое запрос в SQL?
SQL означает язык структурированных запросов. Он используется в компьютерном программировании для обработки или управления базами данных. Мы используем запросы в SQL для обработки баз данных. Запрос больше похож на вопрос или просьбу простыми словами. Предположим, у вас есть запрос — Пожалуйста, предоставьте мне идентификатор сотрудника всех сотрудников, работающих в бухгалтерии. Или запрос вроде — сколько мест забронировано на шоу? Следовательно, мы запрашиваем или запрашиваем для некоторой информации.
В общих чертах, запрос в SQL — это запрос к базам данных на выборку (или извлечение) информации. Мы используем общий язык — SQL, для запросов к нашим базам данных. Он используется всякий раз, когда у компаний есть масса данных, которыми они хотят манипулировать. Если вы храните свои данные в реляционной базе данных , вы также можете использовать SQL!
Прежде чем углубляться в запросы, давайте кратко рассмотрим SQL.
Краткий обзор SQL
SQL означает язык структурированных запросов. Это один из основных языков запросов, используемых для обработки потоков данных и управления реляционными базами данных. SQL позволяет нам получать доступ к базам данных и управлять ими. SQL имеет широкий спектр приложений в современном мире.
Давайте взглянем на обязательное использование SQL для сбора, хранения и обработки данных и т. д. —
- SQL можно использовать для выполнения (или выполнения) запросов к базе данных.
- SQL может вставлять, обновлять, удалять или извлекать данные из баз данных.
- SQL может создавать новые таблицы или хранимые процедуры, представления и т. д.
- SQL может устанавливать разрешения для таблиц, процедур и представлений.
Зачем использовать SQL-запрос?
SQL Query используется для запроса или извлечения информации из баз данных. Мы можем выполнять следующие операции с помощью SQL-запроса:
- Использовать SQL-запрос для создания новой базы данных и вставки данных в базу данных
- Используйте SQL-запрос для извлечения (или извлечения) данных из базы данных. Кроме того, для изменения или обновления существующих данных в базе данных.
- Чтобы удалить или удалить данные или таблицу из базы данных с помощью SQL-запроса . Кроме того, после этого мы можем создать новую таблицу,
- Использование SQL-запроса для установки разрешений для таблиц, представлений и процедур. Также для создания функций, представлений и хранимых процедур.
.
.
Как написать SQL-запрос?
Основой запроса в SQL Server является предложение SELECT , которое позволяет выбрать отображаемые данные.
Оператор SQL SELECT извлекает записи из таблицы базы данных согласно пунктам (например, FROM и WHERE ), которые определяют критерии, на основании которых будут выбираться наши данные. Синтаксис оператора SQL SELECT:
SELECT столбец1, столбец2. ИЗ таблицы1, таблицы2 ГДЕ столбец1 = 'xyz' и столбец2 = 'abc';В приведенном выше операторе SQL:
- Предложение SELECT указывает один или несколько столбцов, которые необходимо получить из базы данных. Чтобы указать несколько столбцов, мы должны использовать запятую и пробел между именами столбцов. Однако, если мы хотим получить все столбцы, мы можем использовать подстановочный знак * (звездочка) SELECT * FROM . .. .
- Предложение FROM указывает одну или несколько таблиц, которые должны быть запрошены . Мы можем использовать запятую и пробел между именами таблиц при указании нескольких таблиц, например, FROM Names, Addresses, Phone_Numbers , где Names, Addresses и т. д. — это имена таблиц.
- Предложение WHERE выбирает только те строки , в которых указанный столбец содержит указанное значение. WHERE позволяет отфильтровать запрос, чтобы сделать его более конкретным. Значение обычно заключается в одинарные кавычки (например, WHERE color = ‘teal’ ).
- Точка с запятой (;) является терминатором оператора . Однако если у вас есть однострочный оператор SQL-запроса, вы можете пропустить точку с запятой (;). Но это обязательно, если у вас многострочный запрос. Как правило, рекомендуется включать точку с запятой после каждого завершающего оператора SQL-запроса.
В приведенном выше объяснении и синтаксисе мы использовали заглавные буквы для каждого предложения SQL. Однако обратите внимание, что SQL не чувствителен к регистру . То есть SELECT совпадает с select , FROM совпадает с из и т. д.
Примеры SQL-запросов
Давайте рассмотрим несколько примеров, чтобы лучше понять SQL-запросы. Предположим, у нас есть таблица с именем Customers . Давайте выполним некоторые операции SQL для извлечения данных из нашей таблицы и управления ими.
Пример 1. Оператор SELECT
Чтобы получить все столбцы нашего SQL из таблицы «Клиенты», мы можем использовать следующий оператор SQL:
SELECT * FROM Customers;После выполнения вышеуказанного запроса мы получим следующий вывод:
Вывод:
Следовательно, использование * (звездочка) дает нам в качестве вывода всю таблицу.
Теперь предположим, что мы хотим получить на выходе только имя, фамилию и страну, в которой они живут. Для этого мы выполним следующий SQL-запрос:
ВЫБЕРИТЕ имя, фамилию, страну ИЗ Клиентов;Выполнение вышеуказанного запроса даст нам следующий вывод:
Вывод:
first_name | last_name | country | |||
---|---|---|---|---|---|
John | Doe | USA | |||
Robert | Luna | USA | |||
David | Robinson | UK | |||
John | Рейнхардт | UK | |||
Betty | DOE | ULE | . после выполнения вышеуказанного запроса. Это связано с тем, что мы указали только эти имена столбцов в нашем запросе на выборку. Давайте также возьмем пример, где мы меняем порядок имен наших таблиц и проверяем, получаем ли мы выходные данные в том же порядке или нет. ВЫБЕРИТЕ страну, customer_id ОТ клиентов;
В приведенном выше выводе вы можете видеть, что мы попытались выбрать имя, фамилию и элемент из обеих таблиц, что привело к приведенному выше выводу. Кроме того, мы использовали ‘как’ , который используется как псевдоним. Команда AS используется для переименования столбца или таблицы с помощью псевдонима. Псевдоним существует только на время выполнения запроса. Следовательно, после этого запроса имена столбцов/имена таблиц будут такими же, как и в оригинале. Следует заметить, что в обеих таблицах есть общее имя столбца, которое представляет собой столбец идентификатора клиента . Таким образом, для отображения идентификатора клиента нам нужно явно указать имя таблицы, за которым следует оператор точки (.), а затем указать имя столбца. Давайте посмотрим на это на примере. Код: ВЫБЕРИТЕ Customers.customer_id в качестве идентификатора, first_name в качестве имени, элемент ОТ клиентов, заказов;
Следовательно, в приведенном выше примере кода после явного упоминания идентификатора клиента с именем его таблицы мы можем получить приведенный выше вывод. Если бы мы не упомянули Customers.customer_id , то получили бы ошибку Error: ambiguous column name: customer_id . Давайте также рассмотрим пример использования DISTINCT. Оператор SELECT DISTINCT используется для возврата только различных или отличающихся значений. Внутри таблицы столбец иногда содержит много повторяющихся значений, и вам часто нужно перечислить только разные значения. Итак, давайте посмотрим на его использование. Код: ВЫБЕРИТЕ РАЗЛИЧНУЮ позицию, количество ОТ Заказов;
Подключение к пользовательскому SQL-запросу Для большинства баз данных можно подключить Хотя существует несколько распространенных причин, по которым вы можете использовать пользовательский SQL, вы можете использовать пользовательский SQL для объединения ваших данных между таблицами, преобразования полей для выполнения соединений между базами данных, реструктуризации или уменьшения размера ваших данных для анализа и т. д. Для источников данных Excel и текстовых файлов этот параметр доступен только в книгах, созданных до Tableau Desktop 8.2, или при использовании Tableau Desktop в Windows с устаревшим подключением. Чтобы подключиться к Excel или текстовым файлам с помощью устаревшего подключения, подключитесь к файлу и в диалоговом окне «Открыть» щелкните раскрывающееся меню «Открыть», а затем выберите «Открыть с помощью устаревшего подключения». ПРИМЕЧАНИЕ. Начиная с Tableau 2020.2, устаревшие соединения Excel и Text больше не поддерживаются. См. документ «Альтернативы устаревшего подключения» в сообществе Tableau, чтобы узнать об альтернативах использованию устаревшего подключения. Подключение к пользовательскому SQL-запросу
Когда вы нажмете OK, запрос запустится, и на логическом уровне холста появится пользовательская таблица SQL-запросов. Только релевантные поля Дополнительные сведения о логических и физических слоях холста см. в разделе Модель данных Tableau. Примеры пользовательских SQL-запросовОбъединение таблиц по вертикали (объединение) Если вам нужно добавить данные друг к другу, вы можете использовать опцию объединения на физическом уровне холста в Tableau. В некоторых случаях ваша база данных не поддерживает эту опцию, поэтому вместо нее вы можете использовать собственный SQL. Например, предположим, что у вас есть следующие две таблицы: ноябрь и декабрь.
Вы можете использовать следующий пользовательский SQL-запрос, чтобы добавить вторую таблицу, декабрь, к первой таблице, ноябрь: Результат запроса в таблице данных выглядит следующим образом: Дополнительные сведения об опции объединения см. в разделе Объединение ваших данных. Измените тип данных поля, чтобы выполнить соединение между базами данных Если вы хотите выполнить соединение между двумя таблицами на физическом уровне холста, тип данных полей, которые вы соединяете, должен быть одинаковым. В случаях, когда типы данных полей не совпадают, вы можете использовать пользовательский SQL для изменения типа данных (приведения) поля перед выполнением объединения. Например, предположим, что вы хотите соединить две таблицы, основную и вспомогательную, используя поля Root и ID соответственно. Поле Root представляет собой числовой тип, а поле ID – строковый тип. Вы можете использовать следующий пользовательский SQL-запрос, чтобы изменить тип данных Root с числа на строку, чтобы можно было соединить основные и вспомогательные таблицы с помощью полей Root и ID. Результат этого запроса показывает исходное поле Root и поле Root, преобразованное в строку. Дополнительные сведения о соединениях и соединениях между базами данных см. в разделе Объединение ваших данных. Уменьшите размер ваших данных При работе с очень большими наборами данных иногда можно сэкономить время при работе с данными, если сначала уменьшить их размер. Например, предположим, что у вас есть большая таблица с именем FischerIris. Вы можете использовать следующий пользовательский SQL-запрос для извлечения указанных столбцов и записей, тем самым уменьшая размер набора данных, к которому вы подключаетесь из Tableau. Реструктуризация данных (основной) В некоторых случаях вы можете работать с таблицей, которую необходимо реструктурировать перед анализом. Хотя этот тип задач можно выполнить на физическом уровне холста в Tableau с помощью таких параметров, как поворот, ваша база данных может не поддерживать его. В этом случае вместо этого вы можете использовать собственный SQL. Например, предположим, что у вас есть следующая таблица: Чтобы изменить его структуру и оптимизировать данные для анализа в Tableau, вы можете использовать следующий пользовательский SQL-запрос: Результат запроса в таблице данных выглядит следующим образом: Дополнительные сведения о параметре сводки см. в разделе Сведение данных из столбцов в строки. Объединить (объединить) и агрегировать данные Если вам нужно объединить таблицы и агрегировать данные, вы можете использовать параметры типа объединения и агрегации по умолчанию на физическом уровне холста в Tableau. В некоторых случаях вам может понадобиться вместо этого использовать пользовательский SQL. Например, предположим, что у вас есть следующие две таблицы: Orders и Vendors.
Вы можете использовать следующий пользовательский SQL-запрос, чтобы подсчитать количество заказов и выполнить левое соединение в таблицах Orders и Vendors: Результат запроса выглядит так: Дополнительные сведения о объединениях см. в разделе Объединение ваших данных. Ошибки при ссылке на повторяющиеся столбцы Если ваш пользовательский запрос SQL ссылается запрос корректен, но поле au_id неоднозначно Примечание: . Рекомендуется по возможности определять псевдонимы столбцов с предложением AS в пользовательском SQL-запросе. Это связано с тем, что каждая база данных имеет свои собственные правила автоматического создания имени столбца всякий раз, когда псевдоним не используется. Редактирование пользовательского SQL-запросаРедактирование пользовательского SQL-запроса
Чтобы изменить имя пользовательского запроса SQL Когда вы перетаскиваете пользовательский SQL-запрос на логический слой холста, Tableau присваивает ему имя по умолчанию: Пользовательский SQL-запрос, Пользовательский SQL-запрос1 и т. д. Вы можете изменить имя по умолчанию на более значимое.
Использование параметров в пользовательском запросе SQLПараметры в пользовательском операторе запроса SQL можно использовать для замены постоянного значения динамическим значением. Затем вы можете обновить параметр в книге, чтобы изменить соединение. Например, вы можете подключиться к пользовательскому SQL-запросу, который предоставляет данные о веб-трафике для конкретной страницы, указанной идентификатором страницы. Вместо использования постоянного значения для значения pageID в SQL-запросе вы можете вставить параметр. Затем, после завершения подключения, вы можете отобразить элемент управления параметрами в рабочей книге. Используйте элемент управления параметрами, чтобы отключить идентификатор страницы и получить данные для каждой интересующей страницы без необходимости редактирования или дублирования соединения. В Tableau Desktop можно создать параметр непосредственно из диалогового окна Пользовательский SQL или использовать любые параметры, являющиеся частью рабочей книги. Если вы создаете новый параметр, он становится доступным для использования в рабочей книге, как и любой другой параметр. См. раздел Создание параметров, чтобы узнать больше. Для веб-разработки (в Tableau Cloud или Tableau Server) вы можете использовать существующий параметр, опубликованный из Tableau Desktop. Вы не можете создать новый параметр в веб-разработке. Чтобы добавить параметр в пользовательский запрос SQL
Примечание. Параметры могут заменять только буквальные значения. Они не могут заменить выражения или идентификаторы, такие как имена таблиц. В приведенном ниже примере пользовательский запрос SQL возвращает все заказы, отмеченные как срочные. В пользовательском операторе SQL приоритет порядка является постоянным значением. Если вы хотите изменить соединение, чтобы увидеть заказы с высоким приоритетом, вам придется отредактировать источник данных. Вместо того, чтобы создавать и поддерживать множество вариантов одного и того же запроса, вы можете заменить постоянное значение приоритета порядка параметром. Параметр должен содержать все возможные значения приоритета заказа. После создания параметра его можно вставить в оператор SQL, чтобы заменить постоянное значение. После того, как вы закончите редактирование соединения, новый параметр появится в списке в области «Параметры» в нижней части панели «Данные», а элемент управления параметром отобразится в правой части экрана. При выборе других значений соединение обновляется. Примечание: Если вы используете выписку, вы должны обновить выписку, чтобы отразить изменения в параметре. Публикация источника данных, использующего пользовательские параметры SQL, включает в себя параметры. Параметры передаются во все рабочие книги, подключенные к источнику данных. Поддержка каталога Tableau для пользовательского SQLНачиная с 2019.3, каталог Tableau доступен как часть предложения по управлению данными для Tableau Server и Tableau Cloud. Дополнительные сведения о каталоге Tableau см. в разделе «О каталоге Tableau» в справке Tableau Server или Tableau Cloud. Поддерживаемые запросыКаталог поддерживает пользовательские запросы SQL, соответствующие стандарту ANSI SQL-2003, за тремя известными исключениями:
Начиная с 2021. 4, каталог Tableau также поддерживает использование диалекта Transact-SQL (T-SQL) в пользовательском SQL со следующими исключениями:
Поддерживаемые возможности и функцииКаталог поддерживает следующие дополнительные функции для источников данных, рабочих книг и потоков с подключениями, использующими драйверы MySQL или PostgreSQL, например, Amazon Aurora для MySQL, Amazon RedShift, Pivotal Greenplum Database, MemSQL, Denodo , и другие.
Другие пользовательские сценарии и функции SQL могут работать, но Tableau специально не тестирует и не поддерживает их. Поддерживаемое происхождениеКогда актив использует пользовательский SQL, на вкладке Происхождение страницы актива появляется сообщение с кнопкой Показать пользовательский SQL-запрос. Нажмите кнопку, чтобы увидеть пользовательский SQL, используемый в соединении. Затем, если вы хотите скопировать пользовательский SQL в буфер обмена, нажмите «Копировать». Некоторые типы пользовательского SQL могут привести к тому, что восходящая линия будет неполной. Когда это происходит, появляется сообщение с этой информацией. Карточки сведений о полях могут не содержать ссылок на связанные столбцы или вообще не отображать связанные столбцы. Карточки сведений о столбцах могут не содержать ссылок на поля, использующие столбец, или вообще не отображать никаких полей. Если вы изучаете происхождение таблицы, обратите внимание, что Каталог не поддерживает отображение информации столбца в происхождении для метаданных таблицы, собранных с помощью пользовательского SQL. Однако, если другие активы используют ту же таблицу и не используют пользовательский SQL, каталог Tableau может отображать информацию о столбцах, обнаруженных с помощью этих других активов. На следующем снимке экрана таблица factAccountOpportunityByQuarter была проиндексирована, поскольку она используется источником данных. Однако, поскольку на него ссылается пользовательский запрос SQL, информация о столбце недоступна. В случае, когда таблица используется более чем в одном источнике данных, рабочей книге или потоке, любые ресурсы ниже по течению от этой таблицы, использующие пользовательский запрос SQL, исключаются при применении фильтров на уровне столбца. |