Skip to content

Пример записи параметров набора данных SQL

1. Обзор

1.1 Версия

Версия FineBIФункциональные изменения
6.0-
6.0.16Оптимизация параметров связывания компонентов фильтра1) Оптимизация отображения параметров:* Отображаются только параметры, включенные в источник данных в рамках темы; параметры, не относящиеся к теме, больше не отображаются; * Parameter отображает путь к источнику параметра и имя параметра, что облегчает поиск источника параметра; * Для более наглядного отображения параметров используется двухуровневое дерево каталогов; 2)Оптимизация привязки параметров* Поддержка элемента управления фильтром для привязки нескольких параметров SQL, после привязки нескольких параметров все привязанные параметры управляются значением элемента управления фильтром. * При настройке привязки SQL-параметров в компоненте фильтра той же панели инструментов нельзя выбрать параметры, которые уже были привязаны в этой панели.

1.2 Функциональный профиль

В этой статье приведен пример записи SQL с использованием параметров набора данных SQL в данных реального времени.

Примечание: Разные базы данных написаны по-разному, в этой статье приведены только справочные примеры.

1.3 Примечания

(1) где 1=1 означает, что условие всегда истинно, чтобы не допустить отсутствия последующих параметров-условий, где более одного и приводят к ошибкам.

2) <параметр> и </параметр> Этот дополнительный параметр используется для получения всех значений, когда средний параметр пуст. Его можно использовать для "текстового параметра", "числового параметра" и "параметра даты".

3) Подготовка данных sql таблицы параметр, год-месяц параметр, год-квартал параметр, год-месяц интервал параметр в месяц и квартал параметр типа для текстового типа, принимать значение (1 ~ 12) и (1 ~ 4), не может быть записано как 01 этот формат, иначе управление в панели для считывания данных будет неправильным.

2. Microsoft SQL Server

2.1 Параметры класса даты

Тип датыПример SQLРекомендуемые типы параметров
винтажиSELECT * FROM Данные доступа в Интернет WHERE YEAR(дата продажи)='${год}'копии
дни жизниSELECT * FROM Данные доступа в Интернет WHERE ГОД(дата продажи)='${год}' и месяц(дата продажи)='${месяц}'копии
датыSELECT * FROM Данные доступа в Интернет WHERE CAST(дата статистики как varchar) in ('${дата}')даты
Диапазон датSELECT * FROM Данные о доступе в Интернет WHERE Дата статистики между '${начальная дата}' и '${конечная дата}'даты
интервал год-месяцSELECT * FROM Данные доступа к Интернету WHERE format(stat date,'yyyyMM') >= concat('${начальный год}',case when '${начальный месяц}'>9 then '${начальный месяц}&# 39;else concat(0,'${начальный месяц}') end ) and format(stat date,'yyyyMM') <=concat('${конец года}',case when '${конец месяца}'>9 then '${до месяца}'else concat(0,'${до месяца}') end )копии
четверть годаSELECT * FROM Данные доступа к Интернету WHERE CAST(YEAR(время регистрации) as varchar) = '${год}' и CAST(FLOOR((MONTH(время регистрации)+2)/3) as varchar) =&nbsp. ;'${квартал}'копии

2.2 Параметры текстового класса

тип текстаПример SQLРекомендуемые типы параметров
Параметр может принимать только одно значениеSELECT * FROM Данные доступа в Интернет WHERE Тип контракта = '${текстовый параметр}'копии
Параметры могут принимать несколько значенийSELECT * FROM Данные доступа в Интернет WHERE Тип контракта в ('${текстовый параметр}')копии
Если параметр пуст, отображаются все, если параметр имеет значение, отображается значение параметраselect * from new_dian where 1=1 ${if(len(affiliated_region2) == 0,"", "and affiliated_region in ('" + affiliated_region2 + "')& quot;)}Или: select * from new_dian where 1=1 <параметр> и Affiliated Region in ('${affiliated region}')</параметр>.копии

3. Oracle (teradata similar)

3.1 Параметры класса даты

Тип датыПример SQLРекомендуемые типы параметров
винтажиSELECT * FROM Данные доступа к Интернету WHERE TO_CHAR (" Дата продажи,"'YYYY ')='${Год А}'копии
дни жизниSELECT * FROM new_salesdetail WHERE TO_CHAR (" Дата продаж", 'YYYY')='${Year}' и EXTRACT(MONTH FROM " Дата продаж") =' ${Месяц}'копии
датыSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'YYYY-MM-DD') in ('${параметр даты}')даты
Диапазон датSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'YYYY-MM-DD') между '${Начальная дата}' и '${Конечная дата}'даты
интервал год-месяцSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'YYYYMM') >= concat('${Начальный год}',case when '${Начальный месяц} ' > 9 then '${Начальный месяц}' else concat(0,'${Начальный месяц}') end ) and TO_CHAR("Дата продаж",'ГГГГММ') <=concat('${ cutoff year}',case when '${cutoff month}'>9 then '${cutoff month}' else concat(0,'${cutoff month}') end )копии
четверть годаSELECT * FROM DEMO_CONTRACT WHERE TO_CHAR("Время регистрации",'YYYY')='${Год}' и FLOOR((EXTRACT(MONTH FROM "Время регистрации")+ 2)/3)='${квартал}'копии

3.2 Параметры текстового класса

тип текстаПример SQLРекомендуемые типы параметров
Параметр может принимать только одно значениеSELECT * FROM demo_contract WHERE "тип контракта" = '${текстовый параметр}'копии
Параметры могут принимать несколько значенийSELECT * FROM demo_contract WHERE "тип контракта" in ('${текстовый параметр}')копии
Если параметр пуст, отображаются все, если параметр имеет значение, отображается значение параметраSELECT * FROM demo_contract WHERE 1=1 <параметр> и "тип контракта" в ('${текстовый параметр}')</параметр>.Текст/Дата/Значение

4. Престо

4.1 Параметры класса даты

Тип датыПример SQLРекомендуемые типы параметров
винтажиSELECT * FROM new_salesdetail WHERE cast(year(sales date) as varchar)='${year}'копии
дни жизниSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'yyyy')='${year}' и cast(EXTRACT(MONTH FROM "Дата продаж") as varchar)='${месяц}'копии
датыSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'yyyy-mm-dd') in ('${параметр даты}')даты
Диапазон датSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'yyyy-mm-dd') между '${Начальная дата}' и '${Конечная дата}'даты
интервал год-месяцSELECT * FROM DEMO_CONTRACT WHERE TO_CHAR("время регистрации",'yyyymm') >= concat('${начальный год}',case when cast('${начальный месяц}&#39 ; as tinyint)>9 then '${начальный месяц}' else concat('0','${начальный месяц}') end ) and TO_CHAR("Время регистрации",'yyyymm')&lt ;=concat('${до года}',case when cast('${до месяца}' as tinyint)>9 then '${до месяца}' else concat('0','${до месяца}&# 39;) end )копии
четверть годаSELECT * FROM DEMO_CONTRACT WHERE TO_CHAR("Время регистрации",'yyyy')='${year}' and cast(FLOOR((EXTRACT(MONTH FROM "Время регистрации& quot;)+2)/3) as varchar)='${квартал}'копии

4.2 Параметры текстового класса

тип текстаПример SQLРекомендуемые типы параметров
Параметр может принимать только одно значениеSELECT * FROM demo_contract WHERE "тип контракта" = '${текстовый параметр}'копии
Параметры могут принимать несколько значенийSELECT * FROM demo_contract WHERE "тип контракта" in ('${текстовый параметр}')копии
Если параметр пуст, отображаются все, если параметр имеет значение, отображается значение параметраSELECT * FROM demo_contract WHERE 1=1 <параметр> и "тип контракта" в ('${текстовый параметр}')</параметр> используется длякопии

5. Postgresql

5.1 Параметры класса даты

Тип датыПример SQLРекомендуемые типы параметров
винтажиSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'YYYY')='${Год A}'копии
дни жизниSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'YYYY')='${Year}' и EXTRACT(MONTH FROM "Дата продаж")=' ${Месяц}'копии
датыSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'YYYY-MM-DD') in ('${параметр даты}')даты
Диапазон датSELECT * FROM new_salesdetail WHERE TO_CHAR("Дата продаж",'YYYY-MM-DD') между '${Начальная дата}' и '${Конечная дата}'даты
интервал год-месяцSELECT * FROM DEMO_CONTRACT WHERE TO_CHAR("время регистрации",'yyyymm') >= concat('${начальный год}',case when cast('${начальный месяц}&#39 ; as tinyint)>9 then '${начальный месяц}' else concat('0','${начальный месяц}') end ) and TO_CHAR("Время регистрации",'yyyymm')&lt ;=concat('${до года}',case when cast('${до месяца}' as tinyint)>9 then '${до месяца}' else concat('0','${до месяца}&# 39;) end )копии
четверть годаSELECT * FROM DEMO_CONTRACT WHERE TO_CHAR("Время регистрации",'YYYY') = '${Год}' и FLOOR((EXTRACT(MONTH FROM "Время регистрации")+ 2)/3) = '${квартал}'копии

5.2 Параметры текстового класса

тип текстаПример SQLРекомендуемые типы параметров
Параметр может принимать только одно значениеSELECT * FROM demo_contract WHERE "тип контракта" = '${текстовый параметр}'копии
Параметры могут принимать несколько значенийSELECT * FROM demo_contract WHERE "тип контракта" in ('${текстовый параметр}')копии
Если параметр пуст, отображаются все, если параметр имеет значение, отображается значение параметраSELECT * FROM demo_contract WHERE 1=1 <параметр> и "тип контракта" в ('${текстовый параметр}')</параметр>.копии

6. APACHE IMPALA

6.1 Параметры класса даты

Тип датыПример SQLРекомендуемые типы параметров
винтажиSELECT * FROM xxxx WHERE cast(year(date of sale) as STRING)='${year}'копии
дни жизниSELECT * FROM xxxx WHERE cast(year(date of sale) as STRING)='${year}' and cast(month(date of sale) as STRING)='${month}'копии
датыSELECT * FROM xxxx WHERE время регистрации в ('${параметр даты}')даты
Диапазон датSELECT * FROM xxxx WHERE время регистрации между '${начальная дата}' и '${конечная дата}'даты
интервал год-месяцSELECT * FROM xxxx WHERE TO_CHAR("время регистрации",'yyyymm') >= concat('${начальный год}',case when cast('${начальный месяц}' as tinyint)>9 then '${начальный месяц}' else concat('0','${начальный месяц}') end ) and TO_CHAR("Время регистрации",'yyyymm') <= concat('${до года}',case when cast('${до месяца}' as tinyint)>9 then '${до месяца}' else concat('0','${до месяца}&#39 😉 end )копии
четверть годаSELECT * FROM xxxx WHERE cast(year(registration time) as STRING)='${year}' and cast(truncate((month(registration time)+2)/3) as STRING)='${quarter}'копии

6.2 Параметры текстового класса

тип текстаПример SQLРекомендуемые типы параметров
Параметр может принимать только одно значениеSELECT * FROM demo_contract WHERE тип контракта = '${текстовый параметр}'копии
Параметры могут принимать несколько значенийSELECT * FROM demo_contract WHERE тип контракта в ('${текстовый параметр 1}')копии
Если параметр пуст, отображаются все, если параметр имеет значение, отображается значение параметраSELECT * FROM demo_contract WHERE 1=1 <параметр> и тип контракта в ('${текстовый параметр}')</параметр>.копии

7. ClickHouse

7.1 Параметры класса даты

Тип датыПример SQLРекомендуемые типы параметров
винтажиSELECT * FROM xxxx WHERE toString(toYear(время регистрации)) = '${year}'копии
дни жизниSELECT * FROM xxxx WHERE toString(toYear(время регистрации)) = '${год}' и toString(toMonth(время регистрации)) = '${месяц}'копии
датыSELECT * FROM xxxx WHERE время регистрации в ('${параметр даты}')даты
Диапазон датSELECT * FROM xxxx WHERE время регистрации между '${начальная дата}' и '${конечная дата}'даты
интервал год-месяцSELECT * FROM xxxx WHERE TO_CHAR("время регистрации",'yyyymm') >= concat('${начальный год}',case when cast('${начальный месяц}' as tinyint)>9 then '${начальный месяц}' else concat('0','${начальный месяц}') end ) and TO_CHAR("Время регистрации",'yyyymm') <= concat('${до года}',case when cast('${до месяца}' as tinyint)>9 then '${до месяца}' else concat('0','${до месяца}&#39 😉 end )копии
четверть годаSELECT * FROM xxxx WHERE toString(toYear(время регистрации))='${год}' и toString(floor((toMonth(время регистрации)+2)/3))='${квартал}'копии

7.2 Параметры класса "Текст

тип текстаПример SQLРекомендуемые типы параметров
Параметр может принимать только одно значениеSELECT * FROM demo_contract WHERE "тип контракта" = '${текстовый параметр}'копии
Параметры могут принимать несколько значенийSELECT * FROM demo_contract WHERE "тип контракта" in ('${текстовый параметр}')копии
Если параметр пуст, отображаются все, если параметр имеет значение, отображается значение параметраSELECT * FROM demo_contract WHERE 1=1 <параметр> и "тип контракта" в ('${текстовый параметр}')</параметр>.копии