Оформление
Пример записи параметров набора данных 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) = . ;'${квартал}' | копии |
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('${начальный месяц}' ; 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 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('${начальный месяц}' ; 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 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','${до месяца}' 😉 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','${до месяца}' 😉 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 <параметр> и "тип контракта" в ('${текстовый параметр}')</параметр>. | копии |