有人能解释一下Tableau里的ATTR( )函数吗
ATTR属于tableau聚合函数中的一种,官方给出的解释是 “如果给定表达式对于组中的所有行仅具有单个值,则返回改表达式的值,否则显示星号(*)。会忽略Null值。”
或者举个栗子会更容易去理解。我们使用tableau万能的超市数据来看看这个函数是怎么样的。
首先,创建一个ARRT的计算字段
然后,把这个字段拖放到标记卡的标签,再把字段拖到行功能区,如下图
看到每个细分都对应出来了一个值(尽管这个值是文本格式),这就说明了公司、消费者和小型企业是一一对应的关系(这个栗子是不是在说废话)。。。那我们换一个维度看看,比如换为,
【有人能解释一下Tableau里的ATTR( )函数吗】
好的,星号出来了,为什么星号出来了呢?那是应该每个办公用品的类别对应了有不同细分的情况,也就是说来买办公用品的客户群体既有公司的,也有消费者和小型公司的,这个时候就是一对多的关系,不再是唯一,所以就出来星号了。
这个是基于维度建的计算字段,我们可以再看看建一个度量的情况,比如ATTR(),可以猜到,如要要不出现星号,那基本上是粒度去到最小才会显示了,直接上图吧
■网友
最简单的理解,attr是用来聚合维度的。
严谨一点的说法就是让某字段不影响视图的详细级别(粒度)。通常度量是会执行聚合的动作,所以不会影响视图详细级别。而维度是会影响的,如果把维度改成属性,那tableau就会自动帮你加上attr(),这样这个维度就和度量一样被聚合了。
其实维度也可以用聚合函数来聚合的,只是大多数维度是字符串,没办法用sum之类常用聚合函数,但max和min却是数字和字符串通吃。所以你要是愿意,用max或min来代替掉attr()也行。
又其实,attr的算法就是比较这个字段的max和mim是否相等,若相等就返回这个字符串,若不等就返回星号。
所以,为什么要聚合维度呢?在tableau里最常见的理由就是在聚合计算中,有时需要用维度去做一些辅助计算,而聚合计算是要求所有字段都必须在聚合状态下的,这时你就必须要聚合维度了。
以上,不知道有没有解释清楚。
■网友
近期看过的一篇文章:ATTR() - Tableau\u0026#39;s Attribute Function Explained
推荐阅读
- 建议|育婴师给出这几点建议,来了解一下小孩发烧咳嗽怎么办
- 还有人不知道会过不知道会过VIP?
- 车祸违驾|为什么交警在查车时,会用手摸一下车尾,你知道是什么意思吗?
- 有哪些做短视频的自媒体推荐
- 想买个30w—50w的轿车,外形优雅精致,气质沉静内敛。要能够顾家,稳定,安全性能好。请帮忙推荐一下
- 汽车扒一扒|有谣言说国内的雷克萨斯配置低,我澄清一下,这不是谣言
- 为啥dropbox 分享占据所有分享人员的空间并让所有人拥有修改权限
- 怎样防止U盘内的文件被复制
- 汽车知识|广汽丰田旗下全新TNGA中型SUV“威兰达”,还不来了解一下
- 卫星云图中这种图像是啥情况