如何将此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
子句或更改聚合函数,但您可能想要开始…