Metabase学习教程:仪表盘-7 查找
-
使用Metabase构建记录查找工具
如何使用Metabase构建内部查找工具来快速查找有关客户、订单或其他数据的详细信息。
我们写过人们使用Metabase的一些有趣的方式其中之一是使用Metabase作为内部或后台应用程序的解决方案,例如客户查找工具。您不必构建定制页面来查找客户信息、订单信息或其他对您的组织很重要的记录,您只需启动一个Metabase实例并构建一个仪表板这使得人们能够快速提取与订单号、SKU、名称或其他相关的信息领域.
在本文中,我们将指导您如何使用示例数据库包括在Metabase中。我们将向您展示Metabase提供的一些开箱即用的特性,以及一些可以定制查找工具的功能。示例数据库中的数据非常基本,但我们将尝试构建一个仪表板,该仪表板与您在野外实际构建和使用的工具类似。你可以获取Metabase然后继续学习,或者只是通读以获得一些构建自己工具的想法。
以下是我们完成的查找工具:
图1。我们的客户查找工具正在运行。
客户查找工具的目标
我们的目标是建立一个交互式的客户列表,当我们处理帮助通知单或其他与客户相关的任务时,这些列表将非常方便。上面的图1显示了我们使用ID点击ID显示该客户的详细信息,然后提取该客户下的订单。
为此,我们将希望我们的列表可排序和可过滤,并且我们希望能够深入查看每个客户记录。以下是我们想了解客户的一些情况:
• 姓名、电子邮件、城市和州
• 他们和我们一起花了多少钱
• 我们给他们的折扣总额
我们还希望能够通过名称或ID.
下面是构建我们工具的高级计划:- 创建我们的列表
- 将我们的列表添加到新的仪表板
- 向仪表板添加筛选器
- 自定义列表中的单击行为
创建我们的列表
从主导航栏中,我们将选择+新的然后问题>原始数据>示例数据库>People表(因为我们对客户信息感兴趣)。如果我们点击可视化,Metabase将做一些科学研究,我们将得到People表。
图2. People表。
Metabase已经为我们做了一些工作。例如,单击一行中的ID将进入一个详细页面(图3)。
图3。单击ID将显示客户的详细视图。
这没什么特别的,但有它很好,因为它使信息更容易阅读。实际上,这有点特别。这个ID我们单击的字段是实体键,它是表中唯一标识每个表行的字段,在本例中是People表。(查看我们的文件了解有关如何自定义数据模型)Metabase知道它是一个实体键,因此它知道如何链接到这个细节视图。请注意,在这个客户Hudson Borer的详细信息页上,我们1)可以看到People表,不只是我们在问题中包含的字段,2)在右上角,是一个链接,指向与Hudson Borer用户相关的订单ID。如果一个表包含实体键作为外键在另一个表中,Metabase将使该数据可用于在该详细信息页上浏览(图4)。
图4.Metabase将显示与实体键关联的数据,在本例中:与用户ID关联的订单,您可以单击该ID查看。
到目前为止,我们基本上什么都没做,我们已经有了一个很好的开始。为了计算每个客户在公司花费了多少钱,我们需要在列表中包括订单信息。这就要求我们参加这个People表Orders表。我们点击编辑器图标(图5)将查询编辑器.
图5。单击编辑器图标将打开查询编辑器.
接下来,我们将单击联接数据选项,并连接People表Orders表,告诉Metabase它应该链接实体键ID在People表到外键Users_ID在Orders表(图6)。(如果您是新加入表格,请查看我们的关于Metabase中的联接的文章).
图6.加入People表命令关于People数据表。ID=Orders.User_ID。
加入People和Orders表将生成如图7所示的表,其中每个订单的客户信息都会重复。
图7。已加入People和Orders表。
这并不理想:我们不希望一个客户在这个查找工具中被多次列出。如果我们想看到他们的订单,我们可以点击客户的ID查看他们的详细信息页面,但现在我们有了他们的订单信息。
让我们试着找出迄今为止他们和我们一起花的钱的总数。回到查询编辑器,我们将选择总结,然后选择总计.在连接的下面Orders表,我们将选择总计。由于我们希望看到每个用户的总和,我们将按每个用户的ID.
图8。预览订单总数的总和,分组依据ID
预览显示一个只有两个更新的表列:ID我们的新专栏,订单总数→ 总计($)我们还要计算折扣(订单总数→ 折扣($)),就像我们处理订单总数一样。
接下来,我们将添加要包含在表中的列,方法是将它们添加到分组依据盒子总结第节。以下是我们的完整专栏:
• ID
• 电子邮件
• 姓名
• City
• 州
• Zip
• 创建时间:月
• 订单总数→ 总计
• 订单总数→ 优惠
图9我们完成的查询。
我们的笔记本已经填好了,让我们点击可视化按钮,Metabase会给我们提供列表。
图10我们的基本客户名单。
到目前为止还不错,但让我们看看能不能把它修饰一下。让我们更改聚合列的格式,可以通过单击该列的标题,然后单击齿轮图标.
图11。更改列的格式。
我们会改变的列标题到“总花费”,切换显示迷你条形图,然后设置显示货币单位的位置每一个单元格。
图12。向列中添加小条形图以显示单元格的相对值。
这个迷你条形图将显示单元格相对于列中的值范围的值,这样可以很容易地看到我们的客户与其他客户相比花费了多少钱。
我们将对“折扣总额”列执行相同的操作:添加迷你条形图、重命名标题、在每个单元格中显示货币。
图13。我们的表有两个聚合列,支出总额和折扣合计,每个都有一个小条形图。
我们还可以为整个表加入一些条件格式。在屏幕的左下角,我们将单击设置按钮对于这个问题,Metabase将滑出设置侧边栏。在侧边栏的顶部,我们将选择“条件格式”选项卡(图14)。例如,我们可以为大消费人群(在我们的产品上降价超过1000美元的客户)突出显示蓝色的行,如果我们给他们的折扣超过30美元,则用红色突出显示行(因此我们知道我们可能应该为该客户的折扣降温)。
图14。我们添加了一条规则来突出那些花钱大手大脚的人(>1000美元)。现在我们添加了另一条规则:如果折扣超过30美元,Metabase应该用红色突出显示该行。
我们的名单都打扮得漂漂亮亮的,我们把它保存为客户名单.
将我们的问题添加到仪表板
为了能够查找客户,我们需要能够筛选器按ID和名称列出的表。我们能够在问题级别进行筛选,但在这种情况下,最好将我们的列表放在仪表板中:它为我们提供了更多选项,例如过滤器小部件它可以过滤我们将来可能要添加的其他列表或图表,或者允许我们自定义当人们单击列中的某个值时会发生什么。
我们会的创建新仪表板并将其命名为“客户查找工具”。接下来,我们将添加客户名单向我们的新仪表板提问。
向仪表板添加筛选器
因为我们希望人们能够通过ID或姓名,我们需要为每个查找方法添加一个过滤器小部件。要添加过滤器,请单击铅笔图标要编辑仪表板,请单击过滤器图标。我们将添加一个ID过滤器ID过滤器小部件,和类别过滤器姓名过滤器小部件。
图15。正在将ID筛选器添加到仪表板。
我们将每个过滤器连接到客户名单卡(“ID”过滤器人.ID以及类别过滤到人名). 为了让用户清楚地了解每个过滤器的作用,我们将过滤器的标签改为客户ID和客户名称.查看我们的文档仪表板筛选器来了解更多关于如何将这些连接起来的信息。
图16。正在将ID筛选器添加到仪表板。
如果过滤器的行为与预期不符,则可能需要更改字段类型在数据模型中。查看我们的文档编辑元数据,特别是关于为列选择筛选器用户界面,它显示了如何选择让筛选器显示所有可用值的列表,还是显示为搜索框。
自定义单击行为
在构建客户查找工具时,您可能需要设置列表,以便单击客户名称或ID之类的值将带您进入另一个dashbooard、第三方应用程序,甚至是您自己的应用程序。为此,可以自定义仪表板卡上的单击行为并设置自定义目的地。为了演示该功能,我们将对其进行设置,以便当用户单击该用户的地址时,它将打开预先加载了该地址的谷歌地图。
图17。设置的单击行为地址列将人员发送到外部URL。
我们可以点击可以参考的值下拉列表查看我们可以插入的值参数.基于谷歌地图API文档,我们将按如下格式设置URL:
https://www.google.com/maps/search/?api=1&query={{address}},{{city}},{{state}},{{zip}}
我们传递的参数用双大括号括起来:地址,城市,状态,和邮编,而Metabase将为我们跳过逗号。一旦我们保存了自定义的目的地,我们现在可以点击一个地址,Metabase将打开谷歌地图中的地址。
图18。自定义目标:单击某个地址可打开指向该地址的谷歌地图。
将工具嵌入wiki或应用程序中
您可以将查找工具保留在Metabase实例中,但也可以将该工具嵌入到其他应用程序中,如组织的wiki或自行开发的应用程序。看看我们的文章嵌入图表和仪表板.
就这样!
还是真的?我们现在有了一个像样的客户查找工具可以使用,我们可以扩展仪表板。我们可以将其他问题和其他筛选器添加到仪表板,或设置更多自定义目标以链接到其他仪表板和工具。我们希望本文能为您提供一些可以构建或升级现有仪表板的工具的想法。