Tableau中固定工作日数的每日平均值计算问题求助
解决方案
错误原因说明
你之前的公式报错是因为不能在同一个IF表达式里同时混用聚合函数(比如COUNT([VISIT]))和非聚合字段(比如[Business Day]),Tableau会判定这种混合逻辑不合法。
分步解决方法
假设你已经有标记工作日/非工作日的[Business Day]字段,按以下步骤创建计算字段:
- 计算统计周期内的总工作日天数(固定分母)
创建计算字段总工作日天数,用LOD表达式获取全局范围内的工作日数量(不受当前视图日期维度影响):
{FIXED : COUNTD(IF [Business Day] = 'Business Day' THEN [日期字段] END)}
{FIXED : ...}表示忽略视图中的所有维度,计算整个数据集的结果,保证分母是固定的总工作日数COUNTD用于对工作日日期去重,避免同一天被重复统计
- 计算最终的每日平均访问量
创建计算字段每日平均访问量,直接用总访问次数除以固定的总工作日天数:
COUNT([VISIT]) / [总工作日天数]
- 分子
COUNT([VISIT])会统计所有日期(包括周末)的访问次数,不会丢失数据 - 分母是第一步得到的固定总工作日数,不会因为包含周末日期而失真
补充:如果还没正确创建[Business Day]字段
如果你的[Business Day]字段还需要调整,可以用以下公式判断工作日(需替换成你的日期字段和节假日判断字段):
IF DATENAME('weekday', [你的日期字段]) IN ('星期一','星期二','星期三','星期四','星期五') AND NOT [是否节假日] THEN 'Business Day' ELSE 'Non-Business Day' END
内容的提问来源于stack exchange,提问作者user18709081
相关产品推荐
相关产品推荐

