#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 }})
Затем вы можете выбрать необходимые значения из выпадающего списка:
и выполнение запроса должно дать вам что-то вроде этого: