access中总计为first_关于学习Tableau中的坑记录

本文记录了作者在学习Tableau过程中遇到的时间数据类型、表计算和求和函数理解的难点。重点讲解了DATEPART与DATETRUNC的区别,特定维度在表计算中的作用,以及Window_sum、running_sum和total的适用场景和差异。
摘要由CSDN通过智能技术生成

0300bb6f970e5195515dfeba93f8838d.png

最近由于工作需要不断在学习Tableau,因此把学习过程中遇到的坑记录下来,给自己巩固的同时也让别人能少走弯路:

①时间数据类型上的坑:

情景一:同样是选择时间颗粒,为什么两个都样显示是周数的但实际结果却不同

9a5f5df1a0ba31dc037914f7ef6a3e28.png
选择两个看似一样的时间颗粒——周

e4d0ef2ce5547273af80c91f85361cd9.png
通过这两个看似一样的周做出的图

fdf2ec30b3a32635ff304989b8004d41.png
通过点击详细数据确认问题

解释:通过点击详细数据可以看出左图称为方式一,右图称为方式二,方式一中的周选择方式仅关注周,不带任何其他信息,即1996/1/5和1997/1/7会被当成是同样的“周一”。而方式二的周选择方式会包含年的维度,即1996/1/5和1997/1/7会被分开成两个周。

从函数上来看,方式一的函数是DATEPART(),方式二的函数叫DATETRUNC()

DATEPART() 以整数形式返回指定日期的一部分,该部分由date part定义。如果省略start_of_week,则周起始日由为数据源配置的起始日确定。示例:DATEPART(’month‘,#2004-04-15#)=4

从上述引用信息看出,该函数直接把周抠出,其他信息舍弃。

DATETRUNC() 按date_part所指定的准确度截断指定日期并返回新日期。如果省略start_of_week,则周起始日由为数据源配置的起始日确定。示例:DATETRUNC(’quarter‘,’#2004-08-15#‘)= 2004-07-01 12:00:00AM

从上述引用信息看出,该函数仅是对日期进行重新划定,保留年月日等信息。

至此上述两个函数差异总结完毕。

②关于表计算中的横穿,特定维度中的理解

情景二:在Tableau表计算的时候对选项总是不确定,只能选了之后看结果,然后再验证,心里总是有点慌。

7d4e409440ff5747a3191216992b4f91.png
Tableau中选择添加快速表计算,选择汇总

6df67174f0354cfa749550760778604f.png
默认是表计算,但是注意下方有个特定维度的选项

点击特定维度你会发现没有变化,那么这个特定维度的选项意义在哪?思考一下既然这个维度可以选择特定,那很自然会想到会有一个不特定,不特定就是指随着一些改动而变化。

dede18eb4edc46bb28a7ecb90551d938.png
选择特定维度之后改变列中的季度和年的顺序

通过上图可见,选择特定之后改变季度和年的顺序,特别地需要注意,在表计算选项卡里面,"Date 年"和"Date 个季度"是可以调整上下顺序的。当你是默认“表(横穿)”的时候,你把“季度”改在前面,“年”改在后面的时候,下面相应顺序也会自动调过来。

0c5182013b132c2d5c71385cfb5f7b1c.png
选择默认表(横穿)调整后结果会默认正常横穿

理解了上述区别,就能理解表横穿和特定维度的区别了~

③几个求和函数的区别-Window_sum,running_sum,total

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

使用场景:用于移动平均,移动求和,移动最大值,移动最小值。

running_sum():返回给定表达式从分区中第一行到当前行的运行总计。

使用场景:表计算中的汇总即利用running_sum,需要注意的是running_sum并不能调整计算窗口的大小,即每个值都是从当前行到第一行的汇总合计。

total():组成分区(视图)的所有数据行的avg(利润)

从灵活性来看,window_sum可以完整覆盖running_sum和total()的功能。

①window_sum([表达式],first(),0) = running_sum([表达式])

②window_sum([表达式],first(),last())=total([表达式])

特别地,windowsum还可以代替vlookup中的位置功能,例如vlookup([表达式],-1) = window_sum([表达式],-1,-1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值