2 Replies Latest reply on Oct 26, 2019 6:29 PM by Michael Gao

    如何将时间筛选器筛选出来的用户,带入另一段时间计算相关值?

    hang su

      问题:

      我想实现以下计算:

      1:通过日期筛选出一部分用户。

      2:然后计算该部分用户在另一个时间条件下的订单数量的相关项(如订单数量为2的用户是多少)。

      例:

      我先筛选出9月28日有订单的6位用户(0000001,0000002,0000007,0000008,0000009,0000010),然后计算这6位用户在9月29日至9月30日的订单数量如下

      用户id                 订单数

      0000001            4

      0000002            1

      0000007            4

      0000008            6

      0000009            2

      0000010           4

      根据以上结果最终得到:

      订单数               用户数

      1                         1

      2                         1

      4                          3

      6                          1

       

      请问以上问题该如何解决

        • 1. Re: 如何将时间筛选器筛选出来的用户,带入另一段时间计算相关值?
          Shu Hua Zang

          不知道怎么带附件,我描述一下,看能不能说清楚。

          1.通过日期筛选一部分用户:

          首先设置一个【筛选日期】参数,整数型式,创建一个整数型式的数据日期与之对应。直接将【客户id】拖到筛选器,设置“条件”为“按公式”:

          MAX( IIF([数据日期]=[筛选日期],1,0))=1

          2.将【数据日期】拖到筛选器,设置筛选范围

           

          即可。

           

          若筛选日期为某时间段,如2017年-2019年,则筛选日期参数取2017,第一步的公式变为:

          MAX( IIF([数据日期]=[筛选日期],1,0))+MAX( IIF([数据日期]=[筛选日期]+1,1,0))+MAX( IIF([数据日期]=[筛选日期]+2,1,0))=3

          1 of 1 people found this helpful
          • 2. Re: 如何将时间筛选器筛选出来的用户,带入另一段时间计算相关值?
            Michael Gao

            答案请下载工作簿:测试_v2018.1.twbx

             

            这个问题的要点:

            1. 要用动态集 (Zang shu Hua提供的条件公式筛选器也是类似的意思),判断数据日期在参考区间内,参考区间时间段用两个参数表达。

            2. 要用两个上下文筛选器,一个事动态集筛选器,另一个是普通时间筛选器

            3. 要用LOD (fixed)计算用户的完单数据量,然后把LOD表达式作为维度使用。

             

            算是一个比较复杂的问题了,要明白其中原理,建议把Tableau软件再学习深入一些。

            1 of 1 people found this helpful