delphi - 如何使用 TDBChart VCL Teechart 组件使用单个数据集制作堆积条形图?

标签 delphi vcl teechart delphi-10-seattle

我想使用单个数据集通过 TDBChart 创建堆积条形图。

据我所知,如果我使用TDBChart,因为我选择添加了堆叠图表2系列。

此组件似乎很适合从多个数据集创建堆叠图表,其中每个数据集都包含特定类型的数据。

我举一个例子来澄清:

假设我有一个包含以下信息的数据集 (dtsSalesAllCountries):

  • 国家
  • 年份
  • 总销售额

通过这种方式,原则上我可以绘制一个堆积条形图,其中我可以看到每年的条形图以及每个国家/地区的总销售额。

但是 TDBChart 通过系列来实现这一点,因此为了执行我的结果,我目前被迫为每个国家/地区创建一个系列(sqlFranceSalessqlItalysales , sqlIndiaSales, ...)

这非常不方便,每次我向一个新国家销售时,我都必须添加一个数据集。这是这个实现的样子: TDBChart Stacked Bars with three datasets

请注意,我需要使用 TDBChart,因为我使用基于 TDBChart 的 ReportBuilder/TeeChart 集成。

事实上,我正在寻找的是一个数据透视图,它在报表生成器/TeeChart 集成中不可用。

是否有一种方法可以使用 TDBCHart 来实现我尝试使用单个数据集而不是每个系列一个数据集来实现的堆叠条形销售图表?

最佳答案

对于 TChart 本身,您可以将系列的数据源配置为交叉表。然后将为您创建额外的系列。不确定是否可以使用嵌入在 ReportBuilder 报告中的 TCharts 来完成。

enter image description here

使用来自 SQL Server 的源数据:

SELECT * FROM (VALUES ('CA',2012,2500),('US',2012,5600)
                     ,('CA',2013,3000),('US',2013,7000)
                     ,('CA',2014,2600),('US',2014,8000)) 
AS A(Country,Year,Sales)

产品:

enter image description here

关于delphi - 如何使用 TDBChart VCL Teechart 组件使用单个数据集制作堆积条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51418417/

相关文章:

windows - CreateProcess 钩子(Hook)添加 CommandLine

c++ - TDateTime 变量中的当前日期/时间

delphi - 如何更改 TDBNavigator 组件的行为?

delphi - TeeChart的PieSeries能否将不重要的数据汇总到 "Other"切片中?

java - Java中通过拖动鼠标事件Teechart编辑系列

java - 如何设置 "absolute"区域渐变?

Delphi 通用类型 - 特异性?

delphi - 聚焦右侧窗口

使用泛型的 Delphi 属性 getter 函数

delphi - 滚动框鼠标滚轮delphi