Devart数据库工具【教程】:PostgreSQL中的数据透视表

透视表是用于计算,编译和分析结合到简化模式和趋势的搜索数据的有效技术。数据透视表可以帮助您汇总,排序,组织,重新组织,分组,求和或平均存储在数据库中的数据,从而以最佳方式理解数据关系和依赖性。

典型的关系数据库表包含多个行,很多行中经常有重复的值。这样的表中的数据通常以随机顺序存储。通过运行查询以从数据库表中选择数据,您可以对数据执行过滤,排序,分组,选择和其他操作。

但是,此类查询(数据)的结果仍将向下显示,这可能会使分析复杂化。数据透视表(倒置表)将数据跨而不是向下扩展。这样,查询结果更易于感知,比较,分析和过滤。

点击此处查看或下载Devart数据库产品

什么是数据透视表/strong>

透视表是用于计算,编译和分析结合到简化模式和趋势的搜索数据的有效技术。数据透视表可以帮助您汇总,排序,组织,重新组织,分组,求和或平均存储在数据库中的数据,从而以最佳方式理解数据关系和依赖性。

让我们比较一下创建数据透视表的两种方法。在第一个工作示例中,我们将在PostgreSQL中使用crosstab()函数,而在第二个示例中将使用dbForge Studio for PostgreSQL工具。

使用crosstab()函数创建数据透视表

在PostgreSQL中,数据透视表是在crosstab()函数的帮助下创建的,该函数是可选tablefunc模块的一部分。要开始使用此功能,需要为所需的数据库安装tablefunc模块。在PostgreSQL 9.1和更高版本中,通过运行一个简单命令来安装此模块:

CREATE EXTENSION IF NOT EXISTS tablefunc;

安装模块后,您可以使用交叉表来获取透视结果集:

SELECT * FROM crosstab($$SELECT customers_name, product_name, SUM(cost) AS cost  FROM v_product_customers   GROUP BY customers_name, product_name   ORDER BY customers_name$$,$$SELECT 'Tweetholdar' UNION ALL  SELECT 'Promuton' UNION ALL  SELECT 'Transniollor' UNION ALL  SELECT 'Cleanputon' UNION ALL  SELECT 'Tabwoofphone' UNION ALL  SELECT 'Supceivra' UNION ALL  SELECT 'Supputommar' UNION ALL  SELECT 'Mictellar' UNION ALL  SELECT 'Armlififiator' UNION ALL  SELECT 'Monoculimry'$$)AS ct(customers_name VARCHAR, Tweetholdar NUMERIC,Promuton NUMERIC,Transniollor NUMERIC,Cleanputon NUMERIC,Tabwoofphone NUMERIC,Supceivra NUMERIC,Supputommar NUMERIC,Mictellar NUMERIC,Armlififiator NUMERIC,Monoculimry NUMERIC);

作为输出,您将获得以下数据透视表:

Devart数据库工具【教程】:PostgreSQL中的数据透视表

必须指出,如果您需要重新排列数据透视表统计信息或向数据透视表添加中间计算,则必须针对每种特定情况编辑查询文本。

在dbForge Studio for PostgreSQL中创建数据透视表

PostgreSQL的dbForge Studio提供了一种非常简单方便的机制来创建数据透视表。

首先,让我们创建数据透视表文档。有三种方法可以做到这一点:

  • 从主菜单(文件->新建->数据透视表)
  • 从数据库浏览器窗口中的表(视图)的上下文菜单中(发送至->数据透视表);
  • 在“起始页”窗口中(数据分析->构建->数据透视表)。

Devart数据库工具【教程】:PostgreSQL中的数据透视表

然后,您需要将表(视图)拖到“数据透视表”文档的“数据源”区域中。或者,您可以单击工具栏上的“编辑SQL文本”按钮并执行查询。

在将输入数据加载到“数据透视表”窗口中并显示表列名称之后,您可以立即继续创建数据透视表:

  1. 将您创建数据透视表的列拖到“在此处放置行字段”区域。
  2. 将带有类别的列(在本例中为“ 名称”列)拖到“在此处放置列字段”区域。
  3. 将包含数据的列(在我们的示例中为Counts列)拖到Drop Data Items Her e区域。

Devart数据库工具【教程】:PostgreSQL中的数据透视表

结果,我们得到了一个透视表,该透视表与在crosstab()函数的帮助下创建的表非常相似。请注意,用于PostgreSQL的dbForge Studio自动生成“总计”列。默认情况下,“总计”单元格包含行(列)值的总和。您可以配置显示以下内容,而不是所有值的总和:

  • 平均值
  • 最大值
  • 最小值
  • 价值计数
  • 标准偏差(都计入一个子集或整个数据)
  • 总体方差(都计入一个子集或整个数据)。

Devart数据库工具【教程】:PostgreSQL中的数据透视表

数据透视表文档窗口具有极为用户友好的图形界面。例如,要将排序或过滤应用于数据透视表中的任何列,只需单击两次即可。

您无需花费太多精力,即可更改数据透视表单元格的背景,字体颜色或将数据透视图可视化为图表。

Devart数据库工具【教程】:PostgreSQL中的数据透视表

结论

dbForge Studio内置的数据透视表功能提供了交互式数据可视化,大大优于PostgreSQL中的crosstab()功能。要从完全不同的角度查看数据,用户只需单击几下即可。此外,与标准的PostgreSQL数据透视表创建工具不同,dbForge Studio提供了一个简单且极其用户友好的图形界面,该界面使创建,编辑和操作数据透视表变得更快,更容易。dbForge数据透视表功能包括用于汇总大型数据集的灵活实用的工具,除其他功能外,该工具还可以为所有数据和选定数据范围创建图表。

是否想以不同的方式交互式浏览PostgreSQL数据载dbForge Studio for PostgreSQL工具,尝试一下,您会发现从庞大而详细的数据集中提取重要性从未如此简单。

想了解更多产品信息或想要购买产品正版授权请点击【咨询在线客服】
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月12日
下一篇 2020年1月12日

相关推荐

发表回复

登录后才能评论