【问题标题】:Calculated field that will get the % total from a specific date to a year back计算字段,将获取从特定日期到一年前的总计百分比
【发布时间】:2018-08-07 17:46:05
【问题描述】:

数据类型

AffectedDate:日期和时间

RecDate:日期和时间

我有 2 个数据源,我从中提取数据。

上面是被提取到此报告中的数据。 AffectedDate 来自数据源 Elliott_QtyOnHand2,它控制显示多少年/月。

我有这个计算字段,显示的数量由 Elliott_IssueQty 数据源中的 RecDate 控制。

现在,当我将 RecDate 放入过滤器区域时,Prev Amount Calculated 字段会发生变化,因为 RecDate 指示在 Prev Amount 的 Sum(Amount) 部分中汇总了多少数据计算字段

现在我可以将 RecDate 放在过滤器区域中,以在 Prev Amount 计算字段中显示一系列日期之间所有内容的 sum(Amount),但我需要即时完成,因为每个字段都会有所不同。

例如,如果 Affected Date 是 2017 年 1 月,我们希望“上一金额计算”字段中的 Sum(Amount) 仅计算 2016 年 1 月到 1 月的总和, 2017,再次根据 RecDate 计算得出

2017 年 2 月将在 2016 年 2 月至 2017 年 2 月之间的总和(金额)等等......

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    创建一个计算字段并编写以下代码:

    [Order Date] >= MAKEDATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY())) AND 
    [Order Date] < MAKEDATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY()))
    

    用数据库中的日期字段替换订单日期。

    将计算字段放在过滤器架中,然后选择true

    编辑------------------------------------------- -------------------------

    使用过滤器无助于您的需求的动态功能,相反您需要使用参数来实现这一点:

    创建一个参数select date,然后选择数据类型为date,在这里您可以手动输入值或使用list radio button选择任何数据库字段,显示格式应为month year从下拉列表中。

    现在创建一个计算字段并编写以下代码。

            [Order Date] >= MAKEDATE(YEAR([Parameter 1])-1,MONTH([Parameter 1]),1) 
    AND 
    [Order Date] < MAKEDATE(YEAR([Parameter 1]),MONTH([Parameter 1])+1,1)
    
        //Change order date to your **Rec Date**, if **Rec Date** is `date time` then convert t0 date format, else just replace the order date with **REc date**
    

    将创建的计算字段放在过滤区域并选择true

    注意:如果您使用数据库字段来填充参数值,那么如果有任何新数据添加到数据库中,您需要手动更新参数或按照link 中的方法进行操作

    如果您需要我可以分享工作簿,如果您有任何疑问,请发表评论

    【讨论】:

    • 这不起作用。 MAKEDATE 不适用于作为 SQL Server 的数据源。它还告诉我我无法将 int 与 string 进行比较。此外,与今天相比,我不想获取数据,我希望从特定时间提取数据。因此,如果日期字段显示 2015-01,那么我想获取从 2015-01 一直到 2014-01 的所有数据的总和。
    • @Ezzy MAKEDATE 是 tableau 中的一个函数,我已经针对 Excel 连接进行了测试,并且成功获取了数据。如果您收到错误Cannot compare to string,那么您需要提供您在数据库中的确切日期格式(提供有问题的完整详细信息)。如果您没有与今天进行比较,那么您没有提供确切的详细信息,使用确切的详细信息更新您的问题将提供准确的解决方案
    • @Ezzy 我更新了图片。如果您有任何问题,请告诉我。
    • @Ezzy 知道了,但您没有提到日期字段的数据类型是什么,此外,如果您可以与虚拟数据共享 workbbok 将更改并附加相同
    • 我已经更新了数据类型。我不确定如何使用示例数据进行更新,因为这些数据来自 MSSQL?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 2021-08-12
    • 1970-01-01
    相关资源
    最近更新 更多