tableau 创建计算字段计算每个表的消耗

用tableau从数据库导入数据中包含日期,生产线,表名称和每天抄表值这几个字段,现在要创建一个字段来计算每个表上的日常消耗,怎么写函数公式,(当天消耗为相同生产线,同一表名称,下一天抄表值减去当天抄表值)就像上面这个表,每天有一个抄表值,怎么增加一个字段来计算得出这个表当天消耗
2026年09月27日 20:23
有3个网友回答
网友(1):

Tableau系统中已经存在“期间”、“实利收入”、“开票收入”三个字段,

目的:想核算各单位“不同期间”的“管理费用”(开票收入-实得收入)占实得收入的占比。

如:一个单位本年度内的费用收入比、一个单位各月的费用收入比。

方法:创建一个“计算”字段。

问题:聚和公式的写法逻辑不同,导致分析结果与实际工作大相径庭,甚至南辕北辙!!!

内容见下:

方法一:AVG([费用工资占比])

其中,费用工资占比:([开票收入]-[实得收入])/[实得收入] 

方法二:费用收入占比:SUM([开票收入]-[实得收入])/sum([实得收入])

聚和[费用收入占比]

方法三:SUM([费用工资占比]),这个是完全错误的,根本无意义!

其中,费用工资占比:([开票收入]-[实得收入])/[实得收入] 

示例:

1、如果以期间的最小单位"月"计算占比,则每个占比计算都是正确的!




2、按“年”统计,有一个结果发生错误!

方法一,直接先算得各月的占比,将各月占比累加后除以月数,得出月占比的平均数!!

方法二,将各月的实得收入、开票收入,先进行累加,然后进行占比运算!并没有进行平均计算。




总结:

两种方法各有所长,但切计:不能将第一种方法做成:SUM([费用工资占比]),那们会将各月的占比加和,结果就是完全错误的!

///////////////////////////////////////////////计算字段求和发生错误!!!

创建计算字段:人力总成本

人力总成本=SUM([劳务费]+[社保福利])

只要加数有一项为NULL,如劳务费或社保福利有一个项目值为NULL的,和值就是NULL!人力总成本值就是空的,这是为什么呢?只有两项都不是空的,求和值才是正确的!!!

困扰中!!!


解决了,在TABLEAU中,有个函数IFNULL(表达式1,表达式2),如果表达式1为NULL,则返回值表达式2,否则返回表达式1的值!
人力总成本= SUM(IFNULL([劳务费],0)+IFNULL([社保福利],0))



正常了!!

网友(2):

可通过参数与计算字段来实现。设置日期参数,结合计算字段,用日期函数与日期参数结合写出下一天的抄表值,与当天的抄表值,再相减,得出当天的消耗值

网友(3):

=datediff(yyyy,生日,getdate())