准备阶段练习:
一. [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表计算