Tableau之玫瑰图

准备阶段练习:

一. [endif]均匀分布的圆形散点图

1.数据:维度-日期 度量-销售量

2.日期拖放至标记功能区,选择 月

3.创建计算字段

[X]     cos((index()-1)*(2*pi()/WINDOW_MAX(index())))


[Y]      sin((index()-1)*(2*pi()/WINDOW_MAX(index())))


【INDEX( )

返回分区中当前行的索引,不包含与值有关的任何排序。例如,下表显示每季度销售额。当在 Date 分区中计算 INDEX() 时,各行的索引分别为 1、2、3、4 等。


WINDOW_MAX(expression, [start, end])

返回窗口中表达式的最大值。窗口用与当前行的偏移定义。使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移。如果省略了开头和结尾,则使用整个分区。

例如:WINDOW_MAX(SUM([Profit]),

FIRST()+1, 0) 计算从第二行到当前行的 SUM(Profit) 最大值。】

4.X拖放至列,表计算根据日期

  Y同上

5.图如下,可对日期进行筛选,如论几个点均可均匀分布

二.两条数据进行多边形的制作


1.创建如右图的数据

2.右键id>创建数据桶>数据桶大小为1

3.将id(数据桶)拖至行功能区可发现数据显示为1至102,若不显示勾选“显示缺省值”

  然后将其拖入标记区

4.创建计算字段

  【X】cos((index()-1)*(2*pi()/WINDOW_MAX(index())))

  【Y】sin((index()-1)*(2*pi()/WINDOW_MAX(index())))

5.X—列 Y—行,分别右击 ,计算依据选择id(数据桶)

6.将标记中的自动改为 多边形,将id(数据桶)改为路径


7.修改X Y

【x】IIF(index()=1 or index()=WINDOW_MAX(index()),0, cos((index()-1)*(2*pi()/WINDOW_MAX(index())))

【Y】 IIF(index()=1 or index()=WINDOW_MAX(index()),0, cos((index()-1)*(2*pi()/WINDOW_MAX(index())))

~~~目的:将开始与结束的点都置于圆心~~~


~~~~~~~~~~IIF(test, then, else, [unknown])

使用IIF 函数执行逻辑测试并返回合适值。第一个参数 test 必须是布尔值:数据源中的布尔字段或使用运算符的逻辑表达式的结果(或AND、OR 或 NOT 的逻辑比较)。如果 test 计算为 TRUE,则 IIF 返回 then 值。如果 test 计算为 FALSE,则 IIF 返回 else 值。

布尔比较还可生成值UNKNOWN(既不是TRUE 也不是FALSE),通常是因为测试中存在Null 值。在比较结果为UNKNOWN 时,会返回IIF 的最后一个参数。如果省略此参数,则会返回Null。~~~~~~~~~~


玫瑰图绘制阶段

1.    数据源,在数据中添加一列id


2.   创建计算字段

【Count】              INDEX()

【Edges】               INDEX()

【Index】                INDEX()

【Angle】             ([Edges]-1)*(2*PI()/WINDOW_MAX([Edges]))

【Number of Slices】    WINDOW_MAX([Count])

【Radius】             SQRT(AVG([销售量])/PI())   ~~~AVG用于聚合字段

~~~

AVG(expression)返回表达式中所有值的平均值。AVG只能用于数字字段。会忽略Null 值。


~~~因为id设置为1与102,id(数据桶)为1-102,所以从中心点回到中心点的,每个原始数据行区所形成的扇形被均分为99份,

~~~

【X】

IIF([Index]=1 OR [Index]=WINDOW_MAX([Index]),  0,

WINDOW_MAX([Radius]) *

COS ([Angle]+  ([Index]-2) * WINDOW_MAX(2 * PI()) /  ([Number of Slices] * 99) ))

【Y】

IIF([Index]=1 OR [Index]=WINDOW_MAX([Index]),  0,

WINDOW_MAX([Radius]) *

SIN ([Angle]+([Index]-2)*WINDOW_MAX(2 * PI())  /  ([Numberof Slices]*99) ))


3.如图拖拽字段


其中,

X表计算


Y表计算


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,905评论 0 38
  • 用函数指针变量调用函数 指针变量可以指向一个函数。一个函数在编译时被分配一个入口地址。这个函数入口地址就成为函数的...
    成江阅读 161评论 0 0
  • 谢茜出门前跟父母撒了一个谎,说闺蜜在楼下等晚上不回来住了。说这话的时候,尽量装得轻松自然,母亲从卧房出来,满眼怀疑...
    唐薇阅读 417评论 8 5
  • 有个讲故事的套路用的很多。 我的一个朋友的故事。 通常这个朋友大概率得是个牛人,讲述者的语气也掩饰不住的自豪。 但...
    兔子妈阅读 510评论 0 0