学习笔记,仅供参考,有错必纠

参考自:某不知名课程



文章目录




计算字段



逻辑运算



IF



语法:

//基本用法
IF 逻辑判断 THEN 为TRUE时的输出结果
ELSE 为FALSE时的输出结果
END

//高级用法
IF 逻辑判断 THEN 为TRUE时的输出结果
ELSEIF 逻辑判断 THEN 为TRUE时的输出结果
ELSE 为FALSE时的输出结果
END



  • 举个例子


对于下面的数据,我们首先创建计算字段

Tableau研学小课堂(part7)--计算字段_字符串



键入如下代码,对记录数进行分割:

Tableau研学小课堂(part7)--计算字段_字符串_02



得到新字段​​if_demo1​​:

Tableau研学小课堂(part7)--计算字段_逻辑判断_03

点击​​显示筛选器​​:

Tableau研学小课堂(part7)--计算字段_逻辑判断_04



Tableau研学小课堂(part7)--计算字段_数据分析_05

只显示记录少的字段:

Tableau研学小课堂(part7)--计算字段_数据分析_06



CASE…WHEN…



语法:

CASE 字段
WHEN 值1 THEN 输出结果1
WHEN 值2 THEN 输出结果2
WHEN 值3 THEN 输出结果3
WHEN 值… THEN 输出结果…
END



  • 举个例子


同样,对于上面的数据,我们增加一个计算字段:

Tableau研学小课堂(part7)--计算字段_字段_07

点击​​显示筛选器​​:

Tableau研学小课堂(part7)--计算字段_字段_08

此时,可以进行筛选了。



空值判断



语法:

ISNULL(字段)
IFNULL(字段,字段值为空时的值)
ZN(字段)

​ISNULL​​:判断指定单元格是否为空,输出结果为TRUE或FALSE;

​IFNULL​​:判断指定单元格是否为空,若为空则输出指定结果;

​ZN​​:用0替换为空的单元格.



日期运算



语法:

DATE(输入)
DATE(STR(年)+','+STR(月)+','+STR(日))
TODAY()
YEAR(日期字段)
MONTH(日期字段)
DAY(日期字段)

DATE:将输入的内容转为日期格式(精确到日);

DATETIME:将输入的内容转为日期格式(精确到分钟);

TODAY:输出当天的系统日期;

YEAR:从日期中截取​​年​​,输出结果为整数;

MONTH:从日期中截取​​月​​​,输出结果为​​1-12​​;

DAY:从日期中截取​​日​​​,输出结果为​​1-31​​.



文本截取



语法:

LEN(字段/字符串)
LEFT(字段/字符串, n)
RIGHT(字段/字符串, n)
MID(字段/字符串, 起始位置, 截取的长度)
CONTAINS(字段/字符串, 被查找的文本)
REPLACE(字段/字符串, 被替换的文本, 新文本)

LEN:输出字符串的长度(整数);

LEFT:从字符串起始位置(左边)开始截取;

RIGHT:从字符串结束位置(右边)开始截取;

MID:从指定起始位置开始截取文本;

CONTAINS:判断字符串是否包含指定文本,输出结果为TRUE或FALSE;

REPLACE:用指定文本,替换字符串中特定文本.



位置运算



语法:

RANK(聚合后的度量, 'asc') //升序
RANK(聚合后的度量, 'desc') //降序
INDEX()
LOOKUP(聚合的度量, 偏移量)
FIRST()
LAST()

RANK:计算当前行在分区中的排名,默认为降序;

INDEX:计算当前行在分区中的索引,即序号;

LOOKUP:返回目标行预第一行/最后一行,指定偏移量的数值;

FIRST:计算当前行到分区第一行的行数,0到负无穷;

LAST:计算当前行到分行最后一行的行数,0到正无穷.



统计指标



语法:

CORR([度量1], [度量2])
STDEV([度量])

CORR:计算两个度量的相关性,最大值为1,最小值为-1。相关性绝对值越接近1, 说明两个变量相关性越强(一个变量增大,另一个变量同时增大或减少),越接近 0,说明变量的相关性越弱(一个变量增大或减少,另一个变量基本不变);

STDEV:计算度量的的标准差(它反映组内个体间的离散程度).