构建低代码仪表板的指南 | Mendix

跳到主要内容

低代码仪表板构建指南

博客标题 - 低代码仪表板构建指南

当我们谈论低代码仪表板时,我们通常指的是应用程序中专门设计用于帮助用户了解需要关注哪些领域的单屏页面。但是,仪表板不止一种,所以我们将讨论在设计和构建系统时会遇到的两种主要仪表板类型。

这篇文章将介绍设计适合您要解决的需求的仪表板的技巧,以及如何为仪表板构建数据。我还将介绍外部报告仪表板以及如何显示数据供他们使用。

请记住,所有这些都是指导原则。仪表板没有硬性规定。有时您需要在应用程序中使用报告仪表板。有时您需要在仪表板上显示大量数据。您应该始终对新想法和可能性持开放态度,但也记得在需要时予以反击!

如果你想要 TL;DR 版本,请查看 Mendix – 如何使用仪表板快速指南!

仪表板类型

开发应用程序时,总有一天你会需要仪表板。你遇到的第一种仪表板可能是可操作仪表板,即你用作用户登录页面的仪表板。

这种类型可用于向管理员显示当天的任务和一些有关未解决问题的警告,或者可以向客户显示他们最近的订单和他们可能喜欢的一些新产品。这些仪表板向用户显示与他们现在要做的事情相关的一些信息。换句话说,它应该反映当前数据并指导他们采取下一步行动。

另一种主要的仪表板类型是报告仪表板。这些仪表板旨在处理大量汇总数据,并用于更广泛地分析绩效。它可以是某个团队在某个月的绩效,也可以是整个公司在一年的绩效。最重要的是它包含大量信息。

在这两种类型中,我们最关注的是可操作的仪表板,因为这些是您想要构建到您的 Mendix 应用程序。我们将讨论报告仪表板如何向其公开数据,但报告仪表板的设计最好留给商业智能专家。

设计可操作的低代码仪表板

在设计仪表板时,最好提前确定数据将涵盖哪个时间段。我能给你的最好建议是尽可能缩短数据。你不会想汇总大量数据集。通常七天就差不多了。一个月(30 天)通常是上限。

设计仪表板时应遵循以下一些指导原则:

  • 少即是多 – 不要试图在仪表盘上塞满东西。放在仪表盘上的每样东西都应该有价值。
  • 保持在一个屏幕上 – 仪表板的内容应该适合你针对的任何类型的设备的单个屏幕。如果用户必须滚动才能看到内容,那么你可能添加了太多内容。(对于移动仪表板来说,这一点不太重要)
  • 加载时间短 – 仪表板在汇总数据时很容易需要很长时间才能加载。您应该尝试尽可能缩短加载时间(与所有应用页面一样)。
  • 优先级 – 大多数用户都是从上到下和从左到右阅读的,因此您应该考虑信息的放置顺序。例如,KPI 通常位于第一行,因为这是用户需要首先考虑的内容。图表通常可以位于底部,因为虽然它们信息丰富,但通常不可操作。如果您的受众是从右到左阅读的,请考虑翻转布局。

在设计可操作的仪表板时,需要考虑几个关键问题:

  1. 我们需要强调哪些关键领域表现不佳/超出预期?(关键绩效指标)
  2. 有哪些领域我们需要在短时间内取得持续进展?(图表)
  3. 观众下一步需要做什么?(任务列表)

如何使用关键绩效指标 (KPI)

当您查看仪表板时,您可能首先会看到 KPI(关键绩效指标)。一种简单的呈现方式是将其显示为一个大数值,突出显示以显示某个指标表现良好还是不佳。有时显示基线值也很有用……

1_低代码仪表板构建指南_基线值图像

因此,我们一眼就能看到,这段时间内的订单总数呈绿色,这意味着它们高于平均水平,没有任何问题。但是,延迟交付值显示为红色,因此这是一个值得关注的领域。让此值可点击以带您查看延迟交付列表对于可操作内容来说是理想的选择。

不同类型的图表以及何时使用它们

如果没有一两个图表,仪表板又算什么?它们很有趣,可以帮助用户立即描绘数据。但是,图表很容易被滥用。当您将它们添加到仪表板时,请谨慎使用它们并尽量保持简单。以下是一些基本准则。

条形图、折线图和柱形图相关提示

使用条形图、折线图和柱形图来比较数据集。如果您要比较一段时间的数据,请确保按日期顺序排列;如果不是按时间顺序排列,请尝试按合理的顺序显示它们。
这可以是按字母顺序排列,也可以是从大到小排列。

不要显示太多数据组。您应尝试将折线图上的系列限制在不超过五个,条形图或柱形图上的元素限制在不超过八个。

2_低代码仪表板构建指南_条形图

何时不应使用饼图、甜甜圈图和热图

这些方法通常使用不当,一般应尽可能避免。但是,如果您确实需要使用它们,请尽量不要比较太多值,如果您的数据集具有非常相似的值,请不要使用它们。

3_低代码仪表板构建指南_饼图

为什么不应使用 3D 图表、样式过多的图表和仪表

保持图表简洁。3D 效果和过度样式的图表可能会分散人们对图表实际用途的注意力。尽量使用简单的颜色和格式来最好地突出重要信息。此外,仪表曾经非常流行,但以数字方式重新创建物理显示通常不是一个好主意。例如,仪表通常最好以 KPI 的形式表示,如上所示。

4_低代码仪表板构建指南_3D 图表

任务清单中应该包含什么?

提示用户的一个好方法是使用任务列表。我指的不一定是明确称为任务的东西。任务列表可以由需要发布的订单或需要回答的客户反馈组成。它应该是用户需要完成的任何操作,这些操作应在不久的将来执行,甚至已经过期。列表应该保持简短,如果可能的话,屏幕上不超过十个项目,最坏的情况是应该分页显示前面的子集。

每个条目应仅显示最相关的信息,而不要尝试显示太多信息。可以将条目设置为可点击,以便用户可以根据需要深入了解更多信息。

如果用户可能需要执行多种类型的任务,您可以考虑使用带有标记的标签容器,其中显示每个标签的任务数量。但请注意,如果过度使用,这种格式很容易看起来混乱。尽量不要使用超过三个标签。

5_低代码仪表板构建指南_任务列表

如何汇总数据

当您构建仪表板时,尤其是使用 KPI 时,您将需要聚合(汇总、计数、求和)一些数据。有几种方法可以实现这一点,其中一些比其他方法更省代码。

  1. 使用微流数据源汇总所需的数据
  2. 创建并维护预汇总数据表
  3. 使用对象查询语言 (OQL) 创建复杂查询来汇总数据

使用哪种方法取决于您处理的数据量、是否进行时间段之间的比较以及您需要多少位或汇总数据。

使用微流数据源聚合数据

您最常使用的工具是微流数据源。这只是页面上的简单数据视图,其数据源设置为微流,返回包含一些汇总数据的非持久性实体。

微流本身将具有一些数据检索和列表操作,以不同的方式聚合数据。然后它将创建非持久性实体的实例并返回它。就这么简单。

需要注意的是,当你使用检索和列表操作时, Mendix 将自动优化您的查询,使其仅执行检索、分组数据,然后聚合结果。其他实体数据永远不会返回(除非您在查询的后面使用检索操作)。

6_低代码仪表板构建指南_优化查询

当您开始检索越来越多的 KPI 值、比较不同时期或使用更大的数据集时,这可能会变得效率低下,您应该考虑转向下一个选项。

何时以及如何预先汇总数据

如果动态聚合数据会成为问题(通常是由于查询时间过长),则另一种选择是存储预先聚合的数据。这意味着创建一个专门用于保存聚合信息的实体,以及它所代表的时间段的日期戳,并将其用作仪表板的来源。

数据可能会以与上一个选项相同的方式进行聚合,即使用微流,但通常会作为计划任务执行。任务的频率取决于您聚合的数据周期,但通常,汇总前一天的数据(尽管可能是一周甚至一个月)会是一个夜间例行工作。

预聚合的另一个选项是随着更改而增加。这可以通过作为创建微流的一部分的额外更新来实现,也可以是对象提交时触发的事件。这再次取决于您预期的数据量。如果您的事务数很高,最好安排它,而不是不断更新聚合表。但是,如果您正在寻找实时数据,则需要使用此选项。

如何以及何时使用对象查询语言 (OQL)

最后一种选择是使用对象查询语言。它允许您编写自己的查询,该查询将直接针对您的数据库运行。当您需要返回多个聚合(可能跨多个数据组)时,最好使用它。这种选择不适合那些寻求真正低代码方法的人,并且主要针对那些具有 SQL 知识的人。

要使用它,你首先需要安装 OQL 小部件 从市场上,然后我建议查看 OQL指南 在我们的文档网站上。

此选择的核心是创建一个字符串作为查询,然后使用执行 OQL 语句操作并在非持久实体中捕获返回的数据。

7_低代码仪表板构建指南_OQL 和 Mendix

使用 OQL 并非一项轻松的任务。请务必考虑这是否是解决特定问题的最佳方法,并仔细检查查询的效率,因为平台不会为您优化它。

如何在 Mendix

如果你想在你的 Mendix 仪表板,那么最好的起点就是图表小部件。它提供开箱即用的支持:

  • 柱形图
  • 条形图
  • 气泡图
  • 热图
  • 饼状图
  • 折线图
  • 时间序列

我们的文档区中有完整的图表小部件指南,但我只在这里做一个简短的介绍。

首先,选择您要添加的图表类型并将小部件拖到页面上,我们将使用柱状图。

8_低代码仪表板构建指南_柱状图

注意:在旧版本的图表小部件中,您的小部件需要位于数据视图或列表中,其数据源需要返回一个对象。任何对象都可以。最新版本不再如此。

接下来双击该小部件,您将看到“图表属性”选项卡。此选项卡上是“系列”部分,您可以在此处添加第一个数据集。

点击系列列表上的新建按钮,您将看到一个弹出窗口,询问您希望从哪里获取数据。我们将保持简单,使用静态数据源而不是动态数据源(即预设数据点而不是可自定义的数据点),并从数据库中获取数据。

该系列的起点将是我们用来填充图表的实体,在本例中假设它是一个订单实体。然后我们可以使用 XPath 约束将其限制为本月迄今为止下达的订单:

[OrderPlacedDate > '[%BeginOfCurrentMonth%]'] 

接下来,我们转到“静态系列”选项卡并为系列命名,假设它是“每日订单”,然后转到“数据点”选项卡。在这里,我们将 X 轴设置为“OrderPlacedDate”,Y 轴可以是任何我们喜欢的内容,例如“PricePaid”,因为我们将使用底部的“聚合类型”选项并将其设置为“计数”。这意味着它将自动按天分组我们的数据并向我们显示总下单数量。

完成后,您可以关闭该弹出窗口并返回“图表属性”窗口,将轴标签设置为“下单日期”和“订单数”等。就这样!全部完成。您现在应该有一个如下所示的基本图表……

9_低代码仪表板构建指南_示例图表

您还可以使用不同的来源和动态范围自定义外观和更改数据加载方式。查看文档以了解有关这些功能的更多信息,最重要的是,进行实验!

值得一提的是,我们的图表小部件是使用 Plotly 库 您可以去那里了解更多信息,并从其库中的示例中获取一些灵感。如果您真的想摆脱束缚,使用完全定制的图表,那么我们提供 AnyChart 小部件.

AnyChart 小部件的使用更为复杂,最好以 JSON 格式提供数据;使用 JSON 结构文件和导出映射。它确实允许您使用 Plotly 的几乎任何图表类型,并完全定制样式。但是,请记住,这不是一种低代码方法,最好由具有开发经验的人尝试。

如何实施外部报告选项

因此,您已经构建了可操作的仪表板,但有人仍希望获得更高级别的报告。您如何实现这一点 Mendix?

最简单的方法是 将数据发布为 OData 源。然后,大多数报告平台(例如 Power BI、Grafana 和 Excel)都可以使用它。使用后,您就可以对数据进行建模并使用所选平台的报告工具进行呈现。

还值得一提的是,当您发布 OData 时,您的源将在您的数据中心目录中可用。这使得它能够快速轻松地在其他 Mendix 应用程序。使用 Power BI 和 Grafana 等 SaaS 产品时,您甚至可以将这些高级报告嵌入到 Mendix 如果你愿意,可以使用类似 Power BI EmbeddediFrame 组件.

10_低代码仪表板构建指南_报告仪表板

从长远来看,将 OData 消费到数据湖或仓库中会更好,因为这可用于预编译和组合数据源,以便企业更轻松地使用。这在很大程度上取决于您组织的报告策略或数字化转型计划。

这篇博文的要点

现在您应该对如何制作仪表板有所了解。根据当前用户的需求创建可操作的页面,并只在前面显示最重要的信息。指导他们注意需要注意的内容以及下一步应该做什么。

请记住,这些都是指导原则,您始终应该在一定程度上灵活地满足用户的需求。我说“在一定程度上”,是因为有时用户会提出不合理的要求,例如将 Excel 重新创建为仪表板,您需要知道何时拒绝。

如果你想要这篇文章的精简版,请随意下载 Mendix – 如何使用仪表板快速指南.

最后,最重要的是,实验!你正在使用 Mendix 在这里,你可以快速轻松地构建、试用,如果失败了就扔掉。我们从错误中吸取的教训最多,所以要大胆尝试新事物。

选择你的语言