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

时间:2018-07-19 08:58:52

标签: delphi vcl teechart delphi-10-seattle

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

据我所知,如果我选择使用堆积图2系列,是否使用TDBChart

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

我举一个例子来澄清:

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

  • 国家
  • 总销售额

原则上,通过这种方式,我可以绘制一个堆积的条形图,其中我可以看到每年的条形图,并且每个国家的total_sales都可以堆积。

但是TDBChart是通过系列进行的,因此,要执行我的结果,我目前被迫在每个国家/地区创建一个系列(sqlFranceSalessqlItalysalessqlIndiaSales,.. )

这很不方便,每次我卖到一个新国家时,我都必须添加一个数据集。此实现的外观如下: TDBChart Stacked Bars with three datasets

请注意,由于我使用的是基于TDBChart的ReportBuilder / TeeChart集成,因此我需要使用TDBChart

实际上,我要查找的是数据透视图,在报表生成器/ TeeChart集成中不可用。

我尝试使用单个数据集而不是每个系列一个数据集来实现TDBCHart来实现堆叠的条形图吗?

1 个答案:

答案 0 :(得分:0)

对于TChart本身,您可以将系列的数据源配置为CrossTab。然后将为您创建额外的系列。不确定是否可以使用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