小结:
我们的到了一个接近圆形的,扇形,当然,角度边小一些更清楚的看到是扇形
继续思考:
练习1解决了维度均匀分区的问题, 练习2解决多边形扇形问题
如果将扇形多边形放在每个分区里,问题是否可以得到解决
正式开始制作玫瑰图:
数据源准备,使用脚本生成数据:在附件中
1、打开Tableau Desktop,选择SQL SERVER,选择自定义SQL,输入上面的脚本;2、在工作表界面,右键path,创建,数据桶;
3、创建计算字段 Count 内容:index()
index 内容:index() Edges 内容:index() 是为了定义计算级别
4、创建计算字段Angle, 内容:([Edges]-1)*(2*PI()/WINDOW_MAX([Edges]))
类似于练习1的功能,取得每个分区的开始弧度
5、创建计算字段Radius,内容为:AVG([sales]),是为了求得每个分区半径的 6、创建计算字段Number of Slices,内容WINDOW_MAX([Count]) 注:个人对这个地方不是很理解 7、分别创建计算字段X,Y
IIF([Index]=1 OR [Index]=WINDOW_MAX([Index]),0, WINDOW_MAX([Radius]) * COS([Angle]+
((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*99)))))
IIF([Index]=1 OR [Index]=WINDOW_MAX([Index]),0, WINDOW_MAX([Radius]) * SIN([Angle]+
((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*99)))))
基本思想,从中心点出发,最后回到中心点,那这个扇形将会被平均分为多少个等分,是99个
①举例:假设index总共有5个点, 1与5在中心点,2与4两个弧的边角,中间只有4,也就是弧度被分为2等分
5-3=2 102-3=99
((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*99))))
② 上面弧度加 + 分区开始弧度 = ((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*99)))) + [Angle]
8、标记功能区选择图形为多边形
9、将X字段拖至行功能区,将Y字段拖至列功能区, Date拖至标记功能区,右击-->月,然后拖至颜色
path(数据图)拖至标记功能区-->路径 (确保 显示缺省值) 10、右击行功能区中X字段,编辑表计算-->根据以下因素计算-->高级 分区: Date月
寻址:path(桶)
然后点击确定,回到上一个界面点击应用,!!!!!一定要点击应用,这里不要退出
11、计算字段是有下拉列表的
index: 根据以下因素计算:path(数据桶) Angle:
根据以下因素计算:Date 所在级别:Date 月 重新启动间隔:无 Edges:
根据以下因素计算:Date 所在级别:Date 月 重新启动间隔:无 Count:
根据以下因素计算:Date 所在级别:Date 月 重新启动间隔:无
Number of Slices:
根据以下因素计算:高级 分区:空
寻址:Date 月 path(数据桶)
12、对Y字段做同样的设置,你的图应该可以看到
假设你的图没有看到,那你也别问我,都写恶心啦