如何将此Excelgraphics数据转换为SQL查询?

Excel中有一个3轴柱面图,它是从一个SQL数据库表中产生的数据透视表生成的。 目前,Excel只是简单地将SQL表中的所有数据提取到数据透视表中,以生成数据源。 我想使用一个T-SQL查询来拉取所需的数据,以便在Excel之外生成一个类似的graphics(在JavaScript中是精确的)。 该图看起来像这样:

圆柱图

而SQL表的列结构如下(可怕的架构,我知道):

  • 的EntryID
  • 操作者
  • Date_Year
  • Date_Month
  • Date_Day
  • 各种其他项目(与生成图表无关)

到目前为止,我已经能够使用代码来拉取Excel以外的源代码所需的数据,虽然这产生了122个单独的查询 – 显然是不可接受的。 我在代码中的做法是通过select所有不同的Date_Years,Date_Months和Date_Operators,如下所示:

  • SELECT DISTINCT Date_Year from dbo.Items
  • SELECT DISTINCT Date_Month from dbo.Items
  • SELECT DISTINCT Operator from dbo.Items

然后遍历数年,数月和运营商。 我正在寻找一种方法来尽可能less地查询所有这些数据,而不是迭代并重复地访问数据库服务器。

任何援助将不胜感激 – 请让我知道如果进一步澄清是必要的。 谢谢!

从本质上说,Excel是以某种方式对值进行分组的,因此在图中,按年份,月份和运算符分组,显示的是这些值的聚合。 基本上它是做类似于:

 SELECT Date_Year, Date_Month, Operator, COUNT(*) AS Value FROM dbo.Items GROUP BY Date_Year, Date_Month, Operator 

当然,你可以调整,以适应WHERE子句或更改聚合函数,但您可能想要开始…