在表格中选择表格中的值

时间:2015-11-04 09:22:29

标签: date select tableau

我是Tableau的新手,所以要耐心等待我:)

我有两张桌子, 表1(T1)包含我的所有数据,第一行是Year-Week,如2014-01,2014-02,依此类推。关于这一点的快速问题,我如何让Tableau将其视为日期,而不是字符串?

T1包含许多如下所示的数据:

 YearWeek   Spend   TV   Movies
 2014-01    5000    42   12
 2014-02    4800    41   32
 2014-03    2000    24   14
 ....
 2015-24    7000    45   65

我有另一个表(T2),其中包含有关我希望与T1列相乘的某些值的信息,T2看起来像:

NAME         TV    Movies
Weight       2     5
Response     6     3
Ad           7     2
Version      1     0

我想创建一个计算字段(TVNEW),它从电视的T1中获取值,并将响应(TV)添加到它,并用重量(电视)计时, 所以像这样:

(T1[TV]+T2[TV[Response]])*T2[TV[Weight]]

对于行看起来像这样:

 (42+6)*2
 (41+6)*2
 (24+6)*2
 ...
 (45+6)*2

所以计算应从T2获取一个特定值,并对T1 [TV]中的每个值进行计算

提前致谢

1 个答案:

答案 0 :(得分:1)

您问题的简单答案将是:不,不是本地的。 您想要做的事情听起来像访问二维数组,这并不是Tableau的意图。此外,您有2个完全独立的表,没有JOIN的公共属性。 Tableau并不意味着以这种方式工作。

我想不出一种动态提取该值的方法(我假设你的例子只是一个例子;在你的情况下,你不只是在计算中使用两个值,否则你可以创建2您可以在计算字段中使用的参数

当我查看你的牌桌时,看起来你可以转置并加入他们,理想情况如下:(编辑:评论说转置不是一种选择)

Medium  Value   YearWeek    Spend
Movies  12      2014-01     5,000
Movies  32      2014-02     4,000
Movies  14      2014-03     2,000
Movies  65      2015-24     7,000
TV      42      2014-01     5,000
TV      41      2014-02     4,000
TV      24      2014-03     2,000
TV      45      2015-24     7,000

Medium  Weight  Response    Ad  Version
TV      2       6           7   1
Movies  5       3           2   0

根据您使用的系统,您可以将其放在一个CSV或表中,这样就无需在Tableau中进行JOIN。

现在您可以在Tableau中本地创建第一个表(从版本9.0开始),如果打开数据源,在数据源预览中选择电视和电影列,单击小三角形,然后单击即可。 (此时您还可以选择YearWeek列点击三角形,然后拆分为年份和周创建一个单独的字段。您将无法为其分配类型日期。不给你任何不利之处。)

对于第二张表,我可以想到两种可能性:

  1. 您可以访问可以转置表格的工具(Excel可以看到:Convert matrix to 3-column table ('reverse pivot', 'unpivot', 'flatten', 'normalize')完成后,您可以在Tableau中打开它并加入 Medium
  2. 您可以根据媒介创建计算字段:

    Field: Weight
    CASE [Medium] 
      WHEN 'TV' THEN 2
      WHEN 'Movies' THEN 5
    END
    

    相应的响应,广告和版本
    显然,如果你真的需要一些价值观,这是合理的。

  3. 完成此操作后,只需使用

    创建计算字段即可
    ([Value]+[Response])*[Weight]
    

    这将计算表格的所有值