Tableau开发总结
2017-09-16 00:08
176 查看
一些Tableau开发总结
1.占比: 相应度量字段上,添加表计算
计算类型选择"总额百分比",值汇总范围选择"表(向下)"
可参考:各专业公司T+0产品客户情况统计及分析-注册时长(表格)
2.面积图中的注册时长最高点和最低点
(1)添加注册时长(月) (度量)
CUST_CNT_MONTH: {FIXED [客户注册时长(月)] : SUM([CUST_CNT])}
(2)添加最大值和最小值 (度量)
{EXCLUDE [客户注册时长(月)] : MAX({FIXED [客户注册时长(月)] : SUM([CUST_CNT])})}
{EXCLUDE [客户注册时长(月)] : MIN({FIXED [客户注册时长(月)] : SUM([CUST_CNT])})}
(3)添加计算字段,取最高点和最低点 (度量)
IF [CUST_CNT_MONTH] = [CUST_CNT_MAX] OR [CUST_CNT_MONTH] = [CUST_CNT_MIN]
THEN [CUST_CNT_MONTH] ELSE NULL END
(4)以计算字段为度量绘制一个图,选择"圆",然后点击双轴
可参考:各专业公司T+0产品客户情况统计及分析-注册时长(折线图)
3.分级别统计问题(以年龄分布为例说明)
(1)新增计算字段(维度)AGE_LEVEL(添加级别定义)
IF [AGE] < 18 THEN '<18'
ELSEIF [AGE] >= 18 AND [AGE] < 25 THEN '[18,25)'
ELSEIF [AGE] >= 25 AND [AGE] < 30 THEN '[25,30)'
ELSEIF [AGE] >= 30 AND [AGE] < 35 THEN '[30,35)'
ELSEIF [AGE] >= 35 AND [AGE] < 40 THEN '[35,40)'
ELSEIF [AGE] >= 40 AND [AGE] < 45 THEN '[40,45)'
ELSE '>=45' END
(2)添加各年龄客户数量计算字段(度量)
CUST_CNT_AGE: CUS_CNT
(3)对CUST_CNT_AGE添加表计算: 获取年龄层占比
计算类型选择"总额百分比",值汇总范围选择"表(向下)"
(4)统计各年龄阶段人数的数量 度量)
CUST_CNT_TOTAL: {EXCLUDE [AGE_LEVEL] : SUM([CUST_CNT])}
(5)添加男性/女性人数计算字段(度量)
CUST_CNT_FEMALE: IF [GENDER] = '女' THEN [CUST_CNT] ELSE 0 END
CUST_CNT_MALE: IF [GENDER] = '男' THEN [CUST_CNT] ELSE 0 END
(6)新增两个度量计算字段(度量),分别统计各年龄层男性/女性人数
CUST_CNT_AGE_FEMALE:{FIXED [AGE_LEVEL] : SUM([CUST_CNT_FEMALE])}
CUST_CNT_AGE_MALE:{FIXED [AGE_LEVEL] : SUM([CUST_CNT_MALE])}
(7)新增两个度量计算字段(添加男性/女性人数占比)
CUST_CNT_FEMALE_PERCENT: [CUST_CNT_AGE_FEMALE] / [CUST_CNT_TOTAL]
CUST_CNT_MALE_PERCENT: [CUST_CNT_AGE_MALE] / [CUST_CNT_TOTAL]
可参考:各专业公司T+0产品客户情况统计及分析-注册时长(折线图)
--DATETRUNC的使用
昨日: DATETRUNC('day',NOW()-1)
昨日数据: [统计日期] < DATETRUNC('day',NOW())
最大日期: [统计日期] < DATETRUNC('day',{FIEXD: MAX(统计日期)})
选择日期: [统计日期] = [数据日期CA01_3]
--NOW() 年月日+时分秒
--TODAY() 年月日
--添加{}使聚合函数和非聚合函数匹配: [统计日期] = {MAX([统计日期])}
--默认取最新日期
IF [统计日期] = {MAX([统计日期])} THEN 'Last Date'
ELSE
STR(DATEPART('year',[统计日期]))+'-'+STR(DATEPART('month',[统计日期]))+'-'+STR(DATEPART('day',[统计日期]))
END
--默认取最新日期2
创建计算字段1:{FIXED [Time]: max(year([Date])*100+month([Date]))} --[Month]
创建计算字段2:year([Date])*100+month([Date]) --[latest month]
创建字符串参数: [是否最新日期],默认值为'否'
创建计算字段3: [是否最新日期] = "否" or [Month] = [latest month]
然后将[统计日期]和[是否最新日期] 拖到筛选器中.
--合计值排序:
IF [迁徙路径] = '合计' THEN 1 ELSE 0 END; 接着编辑[迁徙路径]的排序规则,下来选择"合计值排序"字段,点击"最小值"
--负值突出显示:
IF LEFT([字段],1) = '-' THEN 1 ELSE 0 END 接着把"负值突出显示"字段拖放到颜色,编辑显示目标颜色即可
重复值高亮显示: IF { FIEXD [计算字段]: COUNT([计算字段])} > 1 THEN 1 ELSE 0 END
--负值去掉-,换成()显示:
IF LEFT([字段],1) = '-' THEN '('+REPLACE([字段],'-','')+')' ELSE [字段] END 替换掉之前的字段
1.占比: 相应度量字段上,添加表计算
计算类型选择"总额百分比",值汇总范围选择"表(向下)"
可参考:各专业公司T+0产品客户情况统计及分析-注册时长(表格)
2.面积图中的注册时长最高点和最低点
(1)添加注册时长(月) (度量)
CUST_CNT_MONTH: {FIXED [客户注册时长(月)] : SUM([CUST_CNT])}
(2)添加最大值和最小值 (度量)
{EXCLUDE [客户注册时长(月)] : MAX({FIXED [客户注册时长(月)] : SUM([CUST_CNT])})}
{EXCLUDE [客户注册时长(月)] : MIN({FIXED [客户注册时长(月)] : SUM([CUST_CNT])})}
(3)添加计算字段,取最高点和最低点 (度量)
IF [CUST_CNT_MONTH] = [CUST_CNT_MAX] OR [CUST_CNT_MONTH] = [CUST_CNT_MIN]
THEN [CUST_CNT_MONTH] ELSE NULL END
(4)以计算字段为度量绘制一个图,选择"圆",然后点击双轴
可参考:各专业公司T+0产品客户情况统计及分析-注册时长(折线图)
3.分级别统计问题(以年龄分布为例说明)
(1)新增计算字段(维度)AGE_LEVEL(添加级别定义)
IF [AGE] < 18 THEN '<18'
ELSEIF [AGE] >= 18 AND [AGE] < 25 THEN '[18,25)'
ELSEIF [AGE] >= 25 AND [AGE] < 30 THEN '[25,30)'
ELSEIF [AGE] >= 30 AND [AGE] < 35 THEN '[30,35)'
ELSEIF [AGE] >= 35 AND [AGE] < 40 THEN '[35,40)'
ELSEIF [AGE] >= 40 AND [AGE] < 45 THEN '[40,45)'
ELSE '>=45' END
(2)添加各年龄客户数量计算字段(度量)
CUST_CNT_AGE: CUS_CNT
(3)对CUST_CNT_AGE添加表计算: 获取年龄层占比
计算类型选择"总额百分比",值汇总范围选择"表(向下)"
(4)统计各年龄阶段人数的数量 度量)
CUST_CNT_TOTAL: {EXCLUDE [AGE_LEVEL] : SUM([CUST_CNT])}
(5)添加男性/女性人数计算字段(度量)
CUST_CNT_FEMALE: IF [GENDER] = '女' THEN [CUST_CNT] ELSE 0 END
CUST_CNT_MALE: IF [GENDER] = '男' THEN [CUST_CNT] ELSE 0 END
(6)新增两个度量计算字段(度量),分别统计各年龄层男性/女性人数
CUST_CNT_AGE_FEMALE:{FIXED [AGE_LEVEL] : SUM([CUST_CNT_FEMALE])}
CUST_CNT_AGE_MALE:{FIXED [AGE_LEVEL] : SUM([CUST_CNT_MALE])}
(7)新增两个度量计算字段(添加男性/女性人数占比)
CUST_CNT_FEMALE_PERCENT: [CUST_CNT_AGE_FEMALE] / [CUST_CNT_TOTAL]
CUST_CNT_MALE_PERCENT: [CUST_CNT_AGE_MALE] / [CUST_CNT_TOTAL]
可参考:各专业公司T+0产品客户情况统计及分析-注册时长(折线图)
--DATETRUNC的使用
昨日: DATETRUNC('day',NOW()-1)
昨日数据: [统计日期] < DATETRUNC('day',NOW())
最大日期: [统计日期] < DATETRUNC('day',{FIEXD: MAX(统计日期)})
选择日期: [统计日期] = [数据日期CA01_3]
--NOW() 年月日+时分秒
--TODAY() 年月日
--添加{}使聚合函数和非聚合函数匹配: [统计日期] = {MAX([统计日期])}
--默认取最新日期
IF [统计日期] = {MAX([统计日期])} THEN 'Last Date'
ELSE
STR(DATEPART('year',[统计日期]))+'-'+STR(DATEPART('month',[统计日期]))+'-'+STR(DATEPART('day',[统计日期]))
END
--默认取最新日期2
创建计算字段1:{FIXED [Time]: max(year([Date])*100+month([Date]))} --[Month]
创建计算字段2:year([Date])*100+month([Date]) --[latest month]
创建字符串参数: [是否最新日期],默认值为'否'
创建计算字段3: [是否最新日期] = "否" or [Month] = [latest month]
然后将[统计日期]和[是否最新日期] 拖到筛选器中.
--合计值排序:
IF [迁徙路径] = '合计' THEN 1 ELSE 0 END; 接着编辑[迁徙路径]的排序规则,下来选择"合计值排序"字段,点击"最小值"
--负值突出显示:
IF LEFT([字段],1) = '-' THEN 1 ELSE 0 END 接着把"负值突出显示"字段拖放到颜色,编辑显示目标颜色即可
重复值高亮显示: IF { FIEXD [计算字段]: COUNT([计算字段])} > 1 THEN 1 ELSE 0 END
--负值去掉-,换成()显示:
IF LEFT([字段],1) = '-' THEN '('+REPLACE([字段],'-','')+')' ELSE [字段] END 替换掉之前的字段
相关文章推荐
- Java Web项目开发项目经验总结
- Window7安装开发Storm遇到的错误总结
- WebService学习总结(三)——使用JDK开发WebService
- javascript插件开发设计中的疑问与总结
- bootloader·开发总结
- 敏捷开发系列学习总结(11)——Scrum敏捷开发流程的三个角色、四个会议和三个物件
- 【推荐】WinForm开发,窗体显示与传值总结
- 关于SQLite在Android开发中的知识点总结
- 微信小程序 开发中遇到问题总结
- iOS开发技巧之:拍照,摄像,载图总结
- WEBAPP开发技巧总结
- Scrum敏捷开发之我的总结
- 个人博客开发总结
- javaweb学习总结(六)——Servlet开发(二)
- Android日常开发总结的技术经验60条
- iOS开发异常错误总结
- iOS 开发常用宏定义总结
- windows 7 内核程序开发经验总结
- MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK
- 如何多界面切换---总结eseedo开发教学