Databricks 多选下拉列表 select/Deselect 所有值

Databricks multiselect dropdown select/Deselect all values

我们在数据块中使用 multiselect 下拉列表,基于 multiselect 小部件中的 selection 查询结果图形数据。目前我们可以 select 或 unselect 一个一个地选择选项,但我们希望有一种方法 select 和 unselect widget 中的所有选项。

multiselect 小部件的代码:

dbutils.widgets.multiselect("channel", "Temp", [str(x) for x in channel])

我认为多选小部件不可能做到这一点。我唯一的建议是您在小部件中使用一些选项,这些选项在您从小部件中读取值时以所需的行为实现。

例如使用附加的“全部”和“None”选项创建小部件

channel = ["Foo", "Bar", "Temp"]
dbutils.widgets.multiselect("channel", "Temp", [str(x) for x in channel] + ["None",  "All"])

One possible implementation is that when "None" is selected that overrides all other selections. when "All" is selected that overrides all other selections except "None".

out = dbutils.widgets.get("channel").split(",")

if "None" in out:
  channel_out = ['']
elif "All" in out:
  channel_out = channel
else:
  channel_out = out

这看起来不像您在 UI 中想要的那么好,但它会为您提供一种在 运行 之间切换一组频道的简单方法,然后是全部或none.