我想使用单个数据集通过 TDBChart
创建堆积条形图。
据我所知,如果我使用TDBChart
,因为我选择添加了堆叠图表2系列。
此组件似乎很适合从多个数据集创建堆叠图表,其中每个数据集都包含特定类型的数据。
我举一个例子来澄清:
假设我有一个包含以下信息的数据集 (dtsSalesAllCountries
):
- 国家
- 年份
- 总销售额
通过这种方式,原则上我可以绘制一个堆积条形图,其中我可以看到每年的条形图以及每个国家/地区的总销售额。
但是 TDBChart
通过系列来实现这一点,因此为了执行我的结果,我目前被迫为每个国家/地区创建一个系列(sqlFranceSales
、sqlItalysales
, sqlIndiaSales
, ...)
这非常不方便,每次我向一个新国家销售时,我都必须添加一个数据集。这是这个实现的样子:
请注意,我需要使用 TDBChart
,因为我使用基于 TDBChart
的 ReportBuilder/TeeChart 集成。
事实上,我正在寻找的是一个数据透视图,它在报表生成器/TeeChart 集成中不可用。
是否有一种方法可以使用 TDBCHart
来实现我尝试使用单个数据集而不是每个系列一个数据集来实现的堆叠条形销售图表?
最佳答案
对于 TChart 本身,您可以将系列的数据源配置为交叉表。然后将为您创建额外的系列。不确定是否可以使用嵌入在 ReportBuilder 报告中的 TCharts 来完成。
使用来自 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)
产品:
关于delphi - 如何使用 TDBChart VCL Teechart 组件使用单个数据集制作堆积条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51418417/