0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是LOD表达式?如何在Tableau Prep 中生成FIXED LOD 表达式的结果

Tableau社区 来源:未知 作者:李倩 2018-06-28 16:39 次阅读

Tableau Prep 支持与 Tableau Desktop 相同的计算,使您能够根据分析需要充实您的数据集。但是,并非所有的计算类型都可以在 Tableau Prep 中使用:表计算和 INCLUDE 或 EXCLUDE 细节层次表达式均取决于可视化,因此它们不会在数据准备过程中进行。

但是,在 Tableau Prep 中生成和 FIXED LOD 表达式相同的结果并不困难,下面我创建了一个示例工作流程来向您展示如何完成这项操作。对于已经熟悉 LOD 表达式的用户,可以直接跳到分步说明。

什么是 LOD 表达式?

LOD 表达式允许您分析数据并回答涉及多个粒度层次的问题。分析中的 LOD 通常取决于可视化的结构。例如,如果您正在查看每月的销售额,则您的 LOD 是月份。如果您正在查看每个国家的月销售额,那么您的 LOD 是月份和国家。

通过 LOD 表达式,您可以在视图的细节层次之外执行分析并创建可视化 - 就像如果您希望比较每月销售额与总销售额。

例如,下表中包含三个国家的销售信息。美国和德国都有多行销售信息。LOD 表达式(每个国家的销售额)在每行末提供了指定国家的总销售额 - 所以我们可以看到美国的总销售额为 150,无论我们是在查看 100 还是 50 的行。 在 Tableau Desktop 中,计算将写为 { FIXED [ Country ]:SUM([ Sales ])} 。

如何在 Tableau Prep 中生成FIXED LOD 表达式的结果

由于您无法在 Tableau Prep 中编写 LOD 表达式,因此我们需要在几个步骤来完成这项操作:

通过输入步骤将数据带入流程:不要更改细节层次或筛选任何东西。

计算总值来补充完整数据:在这个例子中,总值为每个国家的销售额总和。

将两个数据集组合为一个:这会将添加一个新的聚合列到原始文件中。

模拟这个工作流程,请下载 Tableau Prep 的免费试用版,并连接到位于此处的示例超市数据文件:

1使用输入步骤将数据带入流程

首先连接到数据集。对于这个例子,我使用 Tableau 提供的示例超市数据集。将 Orders 拖到屏幕中,在流程中创建一个输入(input)步骤。然后在输入步骤后添加一个新步骤。

接下来,我们将会让我们的流程分支,以允许我们创建总值并同时保持原始数据集。我们的目标是创建两个独立的数据副本,以便我们可以独立操作。这使我们可以在一条路径上进行聚合,并将完整的数据集保存在另一条路径上。然后,我们可以将它们连接来获得原始数据并固定。

您需要确保在输入步骤的新分支中添加了聚合步骤,而不是在我们刚插入的 Clean 步骤之后。

2计算总值以补充完整数据

在 LOD 表达式中,维度说明(关键字之后和冒号之前的部分)在 Tableau Prep 中由左窗格中的 “分组字段” 区域处理。LOD 的聚合表达式(冒号后的所有内容)由右窗格中的 “聚合字段” 区域处理。

因为我们希望得到每个国家的销售总和,所以我们需要把维度说明(国家)的字段,放到左侧窗格中的分组字段区域中,并聚集表达式(销售额)的字段放在右侧窗格的聚合字段中。并检验所应用的聚合是总值。

此操作的结果是一个数据集,每个国家的总销售额为一个记录。此时,我们将聚合字段重命名为 “LOD Sum per Country” ,以便能更容易识别。

下图显示了我们如何在聚合步骤中设置字段。

3将两个数据集组合成一个

现在我们需要再次将这两个步骤结合在一起。我们可以点击任一步骤旁边的小 “+” 来添加连接,但其实 Tableau Prep 具有一个很好的小功能,您可以在里面通过拖放元素来连接它们。

在这个例子中,将您的 Aggregate 步骤拖到第一步,直到您看到橙色放置区域并在 “New Join” (非 New Union)上放置它。

如果您查看结构,您将看到类似于以下屏幕截图的内容。Tableau Prep 会检测到您想连接国家(毕竟,这是第二个数据集中唯一的维度)。

您还会注意到完整数据集中的 full data set(总数据集)等于 join result(连接结果); 我们没有筛选任何东西,也没有改变我们主数据集的细节层次,所以这就是我们想看到的。如果这两个数字不一样,则说明出现了问题。

如果我们查看 Tableau Prep 中的数据网格,我们可以看到类似于本文顶部的初始表格。每个国家都有一列销售额数据和一列总销售额数据。一个国家的总销售额数据是相同的。

注意:在下图中,它并没有正确地加在一起,因为有很多数据没有出现在截图中。

如果您的数据现在已经完全准备好并能够进行分析,我们只需添加一个输出步骤并运行流程即可生成新的数据集。

现在我该如何使用它?

现在您已经构建了 LOD 表达式,您可以通过多种方式使用它:

与其他人共享:您可以运行流程并将数据输出为 CSV 或 Tableau 数据提取,将其保存到本地或在 Tableau Server 上发布与其他人共享。

将其用作其他计算的基础:您可以在用例中使用 LOD 表达式 - 这是 Top 15 LOD 用例。例如,您可以计算每个国家销售额占总销售额的百分比。您还可以准备客户流失分析或使用它来计算某人成为客户的时间以及他们平均每个月的订单数量。

我如何自定义它?

正如您所知,LOD 表达式非常灵活多变。我们已经通过一个非常简单的例子,复制了计算 {FIXED [Country]:SUM([Sales])},但我们也可以使用此方法执行更复杂的计算。例如,如果我们想复制 {FIXED [Country],[State]:SUM([Sales])},我们可以通过将 State 字段添加到聚合中来实现。

您可以将此 LOD 表达式调整为您的特定用例。要定制它,您需要在两个地方更改聚合级别。

在聚合工具中。在 “分组字段” 区域中添加 “State” 。

在连接步骤中。确保 Tableau Prep 已加入新字段。

现在您对 LOD 表达式和 Tableau Prep 有了更多的了解!赶紧用您自己的 Tableau Prep 试一试效果吧!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24351
  • LOD
    LOD
    +关注

    关注

    0

    文章

    17

    浏览量

    9409

原文标题:如何在 Tableau Prep 中发挥 LOD 表达式的魔力

文章出处:【微信号:TableauChina,微信公众号:Tableau社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    表达式节点

    labview我用表达式节点求sin(x),跟计算器结果不同,是出自哪里的问题?求解
    发表于 03-25 10:30

    shell正则表达式学习

    正则表达式在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多
    发表于 07-25 17:18

    如何创建正则的表达式

    正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用,经常用于表单校验,高级搜索等。
    发表于 10-27 15:49

    正则表达式在Vivado约束文件中的应用

    表达式可以通过&&和||进行组合;同时还有大量的状态、属性和单元名称可用,比如DIRECTION、IN、IS_LOC_FIXED、IS_PRIMITIVE、NAME等等。  我在xdc
    发表于 01-26 07:03

    防范表达式的失控

    在C 语言中,表达式是最重要的组成部分之一,几乎所有的代码都由表达式构成。表达式的使用如此广泛,读者也许会产生这样的疑问,像+ 、- 、3 、/ 、& & 这样简单的运算也会出现
    发表于 04-22 16:57 13次下载

    如何深入浅出地学习LOD表达式

    LOD 表达式”本身不是一种详细级别,而是一种关于 LOD 的语法表达式,它不会脱离当前的视图详细级别而单独构建视图;通过它,在原有的“视图详细级别”基础上,增加新的详细级别数据。理
    的头像 发表于 01-25 14:32 4065次阅读
    如何深入浅出地学习<b class='flag-5'>LOD</b><b class='flag-5'>表达式</b>

    Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则
    发表于 03-26 09:13 10次下载
    Python正则<b class='flag-5'>表达式</b>指南

    Lambda表达式详解

    C++11中的Lambda表达式用于 **定义并创建匿名的函数对象** ,以简化编程工作。下面看一下Lambda表达式的基本构成。
    的头像 发表于 02-09 11:28 844次阅读

    表达式与逻辑门之间的关系

    逻辑表达式是指表示一个表示逻辑运算关系的式子,是一个抽象的类似数学表达式,下面我们重点说明下其表达式与逻辑门之间的关系。
    的头像 发表于 02-15 14:54 1110次阅读
    <b class='flag-5'>表达式</b>与逻辑门之间的关系

    C语言的表达式

    在C语言中,表达式是由操作符和操作数组成。表达式可以由一个或者多个操作数组成,不同的操作符与操作数组成不同的表达式,因此,表达式才是C语言的基本。
    的头像 发表于 02-21 15:09 950次阅读
    C语言的<b class='flag-5'>表达式</b>

    逻辑运算符与表达式

    在C语言中,我们通常会进行真值与假值的判断,这时我们就需要用到逻辑运算符与逻辑表达式。如果表达式的值不为0,则通通返回为真值。只有当表达式的值为0时,才会返回假值。
    的头像 发表于 02-21 15:16 1441次阅读
    逻辑运算符与<b class='flag-5'>表达式</b>

    Python中的Lambda表达式

    在 Python 中,Lambda 表达式是一种非常强大的工具,它可以让你快速创建小型匿名函数,而不需要显式地定义函数名称。Lambda 表达式通常用于传递函数对象或简单的函数式编程。
    的头像 发表于 04-19 15:49 520次阅读

    一文详解Verilog表达式

    表达式由操作符和操作数构成,其目的是根据操作符的意义得到一个计算结果表达式可以在出现数值的任何地方使用。
    的头像 发表于 05-29 16:23 1933次阅读
    一文详解Verilog<b class='flag-5'>表达式</b>

    zabbix触发器表达式 基本RS触发器表达式 rs触发器的逻辑表达式

    zabbix触发器表达式 基本RS触发器表达式 rs触发器的逻辑表达式  Zabbix是一款开源的监控软件,它能通过监控指标来实时监测服务器和网络的运行状态,同时还能提供警报和报告等功能来帮助管理员
    的头像 发表于 08-24 15:50 1207次阅读

    怎么去选择使用gm的三种表达式呢?

    我们在写跨导gm的表达式时,知道gm有三种表达式表达式含有的变量其实只有三个,一个W/L,一个Vgs-Vth,还有一个Id。
    的头像 发表于 09-17 15:31 3069次阅读
    怎么去选择使用gm的三种<b class='flag-5'>表达式</b>呢?