【问题标题】:Equivalent of a VLOOKUP in Tableau?相当于 Tableau 中的 VLOOKUP?
【发布时间】:2020-10-13 02:38:00
【问题描述】:

作为 Tableau 的新手,我已经为此苦苦挣扎了几个小时,所以经过多次搜索后,我想我应该试一试。

我有两个数据源:Tableau 服务器上的数据库和 Excel 文件。数据库包含销售信息(产品编号、数量、订单编号、订单日期等),Excel 文件包含产品编号列表(甚至不包括我们所有的产品编号)和名称 - 为简单起见,我说A和B。A产品需要2天出库,B产品需要5天出库。剩下的都是C,需要在15天内出门。

我创建了一个措施,将 A/B/C 名称与我的数据库(如下)一起拉入主工作表:

措施名称:计划状态

IF ATTR([Direct (Direct SKUs)].[Program]) = "A" THEN "A"

ELSEIF ATTR([Direct (Direct SKUs)].[Program]) = "B" THEN "B"

ELSE "C"

END

效果很好 - 完美地展示在桌子上。我做了一些抽查,据我所知,一切正常。问题出在第二步……

维度名称:计划合规性

IF [Program Status] = "A" AND [Cycle Time to Ship (Weekdays)] >=2.000001 THEN "Late"

ELSEIF [Program Status] = "B" AND [Cycle Time to Ship (Weekdays)] >=5.000001 THEN "Late"

ELSEIF [Program Status] = "C" AND [Cycle Time to Ship (Weekdays)] >=15.000001 THEN "Late"

ELSE

"On Time"

END'''

使用上面的代码,我得到了错误,因为我混合了聚合函数和非聚合函数。老实说,我不知道下一步该去哪里......我不知道我是否需要重新调整“计划状态”度量,为“计划合规性”更改某些内容,或者这可能不可行与 Tableau。我对 Power BI 更加熟悉,有些事情是你无法做到的。

我确实验证了 Excel 文件只有产品编号的唯一值,所以我应该在它和销售数据之间建立一对多的关系。

非常感谢任何帮助!

【问题讨论】:

  • 请在此处上传您的数据样本,至少几行!这里不需要 vlookup,因为您可以连接两个表
  • 我将尝试清理数据(因为它是客户信息)并将一些数据示例放入 Excel 文件中。我忘记在帖子中添加的一件事是,由于我将 Tableau Server 用于一个数据库,因此我无法加入任何内容。我在网上做了几次搜索,似乎一致认为无法完成,但如果有解决方法,我很乐意尝试。
  • 使用 If then else 结束条件在桌面桌面中尝试 IN。我是它会在不加入的情况下解决你的问题。

标签: tableau-api


【解决方案1】:

您的计算中有一个小问题。您可能正在现有表中创建一个新列,而不是连接两个表。让我通过带有 tableau 的示例超市数据集来展示这一点。我创建了一个新的 Excel 表格,其中包含很少的产品 ID 和名称。

第 1 步:为了理解名称以 A 开头的产品是设计 A,以 B 开头的产品是 B,其他所有内容均未包含在表中(您的 C)。

第 2 步:在同一工作表中导入此表并连接,如下图所示。

现在您已经成功地映射了两个表,就像 excel 中的 vlookup 一样。 Null 值可以通过中间计算或直接映射到 C。

希望这会有所帮助。否则请上传您的工作表。

【讨论】:

  • 我使用 Tableau Server 作为一个数据库的源,所以我认为加入是不可行的。我可以将 Excel 文件与其他来源一起加入,但我无法加入 Tableau Server - 我在网上进行的搜索似乎证实了这一点,但也许有人知道解决方法?
  • 关于服务器版本我不太清楚。如果您使用的是最新版本的 Tableau 桌面版,则可以使用 IN 运算符。如果您仍有一长串值,您可以使用 IN 语句生成器,可在 FlerlageTwins 博客上找到。看看是否有帮助
猜你喜欢
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
  • 2016-01-06
  • 2015-09-03
相关资源
最近更新 更多