数据库多选下拉菜单选择/取消选择所有值
问题描述
我们在Databricks中使用多选下拉菜单,根据多选小部件中的选择,查询结果为图形数据。目前,我们可以逐个选择或取消选择选项,但我们希望有一种方法来选择和取消选择Widget中的所有选项。
多选小工具的代码:
dbutils.widgets.multiselect("channel", "Temp", [str(x) for x in channel])
解决方案
我认为多选小工具不可能做到这一点。我唯一的建议是,当您从小部件读入值时,您可以在小部件中使用一些选项,这些选项是以所需的行为实现的。
例如,使用添加的所有和无选项创建小部件
channel = ["Foo", "Bar", "Temp"]
dbutils.widgets.multiselect("channel", "Temp", [str(x) for x in channel] + ["None", "All"])
一种可能的实现是,当选择了覆盖所有其他选择的&None&Quot;时。如果选择了覆盖除&Quot;None;之外的所有其他选择的&Quot;All&Quot;。
out = dbutils.widgets.get("channel").split(",")
if "None" in out:
channel_out = ['']
elif "All" in out:
channel_out = channel
else:
channel_out = out
这看起来不会像您在用户界面中想要的那样好,但它为您提供了一种简单的方法,可以在为一组频道运行,然后选择全部或不运行之间进行切换。
相关文章