计算字段,该字段将获得从特定日期到一年后的总百分比

时间:2018-02-27 23:16:28

标签: tableau

数据类型

AffectedDate :日期&时间

RecDate :日期&时间

enter image description here

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

enter image description here

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

enter image description here

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

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

现在我可以将RecDate放在过滤区域中,向我显示一系列日期之间所有内容的上一个金额计算字段中的总和(金额),但我需要在飞行中完成,因为每个领域都会有所不同。

例如,如果受影响的日期是2017年1月,我们希望计算出上一个金额的总和(金额)仅从2016年1月到1月的总和, 2017年,再次由RecDate计算

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

1 个答案:

答案 0 :(得分:0)

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

[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中的方法

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

enter image description here