параметр в базах данных sql analytics

#parameter-passing #dropdown #databricks #databricks-sql-analytics #databricks-sql

Вопрос:

У меня есть такой стол, как

Имя значение 1 значение 2
Джон a x
Кевин b y
Ларри c z

Я хочу передать параметр со значениями раскрывающегося списка a,b,c,все, где, если пользователь выбирает a, то вывод-первая строка, или если пользователь выбирает все, то также вывод-все три строки. Пожалуйста, предложите.

Ответ №1:

Решение в Пыспарке:

 Choise_List = map(lambda x: str(x[0]), <Dataframe_Name>.select("value1").distinct().collect()) 
dbutils.widgets.dropdown("a", "a", Choice_List)
 

Примечание. Измените <имя_рамы_данных> на свое фактическое имя фрейма данных.

Комментарии:

1. Спасибо. Но я ищу sql в SQL Analytics в Databricks. Не могу придумать, как это сделать.

2. пожалуйста, попробуйте docs.microsoft.com/en-us/azure/databricks/notebooks/…

3. это для ноутбуков, а не для SQLA

Ответ №2:

Вам необходимо следовать документации по созданию параметров для Databricks SQL. При редактировании запроса нажмите на {} значок, чтобы вставить новый параметр в запрос, затем выберите «Выпадающий список» в качестве «Типа» и введите возможные значения. Установите флажок «Разрешить несколько значений», если вы хотите разрешить выбор нескольких значений. И если вы используете строки, метки времени или даты, выберите соответствующее значение из раскрывающегося списка «Предложение».:

введите описание изображения здесь

а затем измените свой запрос на что-то вроде ( actions это имя параметра):

 where action in ({{ actions }})
 

Затем вы можете выбрать необходимые значения из выпадающего списка:

введите описание изображения здесь

и выполнение запроса должно дать вам что-то вроде этого:

введите описание изображения здесь