【问题标题】:Tableau calculated field datesTableau 计算的字段日期
【发布时间】:2014-08-29 14:51:15
【问题描述】:

我试图做一个计算字段,但我无法让它正常工作。

首先我试图复制我在访问中所做的事情......

    =DateDiff("d",[90 Days to Exp],[Expiration])        

但这给了我一个错误

我做了一些研究,发现了一些可以让我进行有效计算的东西......

    window_sum(datediff('day',
                lookup(min([90 Days to Exp]), 0),
                min([Expiration])))                     

只显示我已经知道的 90 天

我想确保它正在倒计时天到“到期”,所以我将其更改为...

    window_sum(datediff('day',
                lookup(min(NOW()), 0),
                min([Expiration])))          

也试过了....

    window_count(datediff('day',
                lookup(min(NOW()), 0),
                min([Expiration])))

仍然是一个有效的计算,但数字相差甚远......我尝试了 min 和 max 有和没有......但我似乎仍然无法获得准确的倒计时

【问题讨论】:

    标签: tableau-api window-functions calculated-field


    【解决方案1】:

    退后一步。不要给我们随机的代码片段,而是解释你想要实现的目标(你期望的结果)以及你的数据库是什么样的(例如,字段是什么)。

    我会给出一个解决方案来解决我认为你正在尝试实现的我认为你拥有的数据库。

    我相信您有一个数据库,其中每个条目都是具有到期日期 ([Expiration]) 的产品。我认为您想要实现的是知道距离到期日期还有多少天。

    因此,如果您想为数据库中的每个条目计算此值,公式应为:

    DATEDIFF('day',NOW(),[Expiration])
    

    这很简单,您正在计算从今天到到期日期之间的天数

    我不知道您为什么在建议中使用表格计算,但如果不应该为每个条目(而是为一组条目)进行此计算,那么表格计算可能很有用,但不可能如果我不完全理解您想要什么,请提出任何建议

    【讨论】:

    • 我实际上之前运行过相同的计算,但它仍然没有给我一个准确的倒计时,例如我创建了 2 个计算 DATEDIFF('day',NOW(),[Expiration]) 和 DATEDIFF( 'day',[Expiration],NOW()) 每个都给我相同的答案 (1) 但后一个 calc 应该是 28,因为 exp 日期 8/1 和现在之间的差异是 28 天,但它只给了我答案作为 1
    • 再一次,当我看不到数据时,很难理解发生了什么。可能的解释是:[Expiration] 的格式错误,您的时钟不正确,您生成的可视化是错误的(您可能以错误的方式聚合值)。您是否尝试从数据连接(搜索按钮旁边的“列表按钮”)查看数据?在那里你应该看到正确的答案。否则,请详细说明您的数据、您正在做什么(包括您正在使用的可视化)以及您所看到的
    • 我修好了...谢谢,由于某种原因,我的度量默认为计数而不是求和,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    相关资源
    最近更新 更多