如何在 Tableau 上查找前几天
How to find previous days on Tableau
我正在努力实现类似的目标。如果今天是星期一,我需要倒退 3 天,否则 1 天。
if datename(weekday,mydate)='monday'
then mydate=dateadd(day,today()-3)
elseif mydate=dateadd(day,today()-1)
end
你很接近。
首先,您只需要else
,而不是elseif
; elseif
仅在您有其他条件需要考虑时使用。
其次,您必须正确获取函数调用的参数。 dateadd
采用 3 个参数:间隔的大小(带引号的字符串)、要添加的间隔数以及要添加间隔的日期。你只有两个参数,第一个没有引用
最后,您需要确保您的初始条件是正确的。事实证明,datename
函数 returns 是一个大写字符串("Monday",而不是 "monday"),这对相等性比较很重要。
总而言之,你最终得到
if datename('weekday',today()) = 'Monday'
then dateadd('day',-3,today())
else dateadd('day',-1,today())
END
假设您有名为 mydate 的列
if datename('weekday',[mydate])='Monday'
THEN dateadd('day',-3,[mydate])
ELSE dateadd('day',-1,[mydate]) END
我正在努力实现类似的目标。如果今天是星期一,我需要倒退 3 天,否则 1 天。
if datename(weekday,mydate)='monday'
then mydate=dateadd(day,today()-3)
elseif mydate=dateadd(day,today()-1)
end
你很接近。
首先,您只需要else
,而不是elseif
; elseif
仅在您有其他条件需要考虑时使用。
其次,您必须正确获取函数调用的参数。 dateadd
采用 3 个参数:间隔的大小(带引号的字符串)、要添加的间隔数以及要添加间隔的日期。你只有两个参数,第一个没有引用
最后,您需要确保您的初始条件是正确的。事实证明,datename
函数 returns 是一个大写字符串("Monday",而不是 "monday"),这对相等性比较很重要。
总而言之,你最终得到
if datename('weekday',today()) = 'Monday'
then dateadd('day',-3,today())
else dateadd('day',-1,today())
END
假设您有名为 mydate 的列
if datename('weekday',[mydate])='Monday'
THEN dateadd('day',-3,[mydate])
ELSE dateadd('day',-1,[mydate]) END