我有一个数据绑定图表运行从以下MSSQL查询画 -的MSChart - 强制线图,从产地
"SELECT dateinvoiced AS Date, (SELECT SUM(value) FROM jobs WHERE dateinvoiced >= '" +
new DateTime(year, month, 1).ToString("yyyy-MM-dd") + "' AND dateinvoiced <=
j.dateinvoiced)/100 AS Revenue FROM jobs j WHERE dateinvoiced >= '" + new
DateTime(year, month, 1).ToString("yyyy-MM-dd") + "' AND dateinvoiced <= '" + new
DateTime(year, month, daysInMonth).ToString("yyyy-MM-dd") + "' GROUP BY dateinvoiced"
(请原谅我想象空间的处理日期,一言难尽一种奇怪的方式,但我很快就会改变它们。)
该查询获取用户业务在日历月中每天完成的工作所累积的金额。图表本身将该数据与当月的目标数值进行比较,因此用户可以看到每月目标的进展情况。事情的这一面都工作正常,查询也是如此。问题出现在月初。
从上面的查询绘制的线显然是从第一个数据点开始的。如果一个用户在一个月的中途没有拿到任何钱,然后获得一个大的值,那么由于只有一个点存在,因此在图表上不会绘制任何线。它会一直保持这样的状态,直到用户晚些时候拿到钱,然后他们才能看到一条线。
我想要的是确保始终有一行可以从原始图上看到图表,即使用户只有一天的数据。
我自己能够做到这一点的唯一方法是检查数据绑定之前第1天是否有数据,以及是否没有简单地将零价值销售记录插入表中。我相信你可以看到为什么这是不可接受的。有没有办法将一个点手动添加到数据绑定表上?我试过了,似乎无法做到这一点。如果没有,那么是否有某种方法可以改变SQL查询,以便为每个日期赋予一个值,尽管数据对于它们都不存在?或者任何其他方法呢?
谢谢。
多少个系列?显示了什么其他的东西? – V4Vendetta 2012-01-04 10:36:15
整个图表使用了2个系列,但就目前的问题而言,它可能是独立的,只要我能看到,但我可能是错的。该图表有一个系列显示了所描述的行,另一个系列显示了该月的最后一天从原点到月度目标值(例如50,000英镑)的直线。 – Hecksa 2012-01-04 10:49:14
好,你可以尝试设置'EmptyPointStyle.Color' =你的系列线的颜色 – V4Vendetta 2012-01-04 11:00:02