azure-data-explorer - 我们可以让 pack_all 只考虑非空和非空列吗
问题描述
pack_all()
函数在制作动态对象时考虑所有输入列。是否有可能以某种方式强制它只考虑非空和非空列?如果没有,是否有任何解决方法可以在生成的动态值之上应用过滤器?
解决方案
没有任何味道pack_all
可以做到这一点,但作为替代方案,您可以结合mv-apply
和mv-expand
运算符来实现这一点。这是一个示例(改编自文档):
datatable(SourceNumber:string,TargetNumber:string,CharsCount:long)
[
'555-555-1234','555-555-1212',46,
'555-555-1234','555-555-1213',50,
'555-555-1212','',int(null)
]
| extend values =pack_all()
| mv-apply removeProperties = values on
(
mv-expand kind = array values
| where isempty(values[1])
| summarize propsToRemove = make_set(values[0])
)
| extend values = bag_remove_keys(values, propsToRemove)
| project-away propsToRemove
推荐阅读
- react-native - 多个屏幕(如堆栈)在本机反应中相互叠加
- file - CVC4 无法打开 SMT2 格式的文件
- r - $ 运算符的错误对原子向量无效
- wordpress - WordPress get_posts() 不返回模板标签
- django - 如何在石墨烯django中添加数据库中不存在的自定义字段
- ubuntu - Cron 未运行任务 Ubuntu 18.04
- python - Python 的最长公共前缀
- clojure - 重置功能后试剂原子值仍然为零
- html - Bootstrap 4,无法按确切百分比设置卡片宽度
- asp.net - 如何制作 JsonConvert.DeserializeObject
() 当我不总是将数组传递给它时解析数组?