我有一张带有图表的Telerik报告。图的x轴是一系列日期。我们的客户希望这些日期按照从最旧到最近的顺序排列。他们还希望格式化的日期不包括日期的时间部分。过去的一天我试过让它发挥作用,无法弄明白。有人可以解释一下如何做到这一点吗?
我开始使用基于此查询的图表:
SELECT AnalysisNumber
, convert(varchar, DateSampled, 01) as DateSampled
, ViscosityAt100C
FROM tblSample
ORDER BY a.DateSampled ASC
但会生成一个图表,其中日期不按顺序排列:
我无法开始包含图表的所有设置,但我认为这是相关部分。让我知道是否还有其他东西可以告诉你。
请注意,排序是通过DateSampled进行的,当然,现在文本不是日期。
如果我删除了那个排序(试图保留SQL查询中的原始排序),图表将不再起作用:
所以我尝试使用日期而不是文本。查询现在是这样的:
SELECT AnalysisNumber
, DateSampled
, ViscosityAt100C
FROM tblSample
ORDER BY a.DateSampled ASC
...输出看起来一样:
,图表如下所示:
日期按照我想要的方式排序,但所有日期都有一个我不想要的时间元素,因为它不相关,而且占用的空间太大。
我尝试在SQL中更改类型:
Cast(DateSampled as Date) as DateSampled
但它仍然在图表中显示时间。
我尝试使用x轴的属性对其进行格式化:
但它没有改变日期的格式。实际上,更改为该属性中的任何格式都没有改变任何内容。
最后,我尝试在查询中包含字符串和日期:
SELECT AnalysisNumber
, convert(date, DateSampled) as DateSampledText
, DateSampled
, ViscosityAt100C
FROM tblSample
ORDER BY a.DateSampled ASC
并使用DateSampledText进行分组,使用DateSampled进行排序:
它再次破坏了我的图表:
我尝试将文字版本添加到排序和其他变体中,但从未将图表恢复到显示数据的位置。
对图表进行排序和格式化听起来并不困难。这应该是投入生产之前的最后一个变化,我已经花了这么多时间。有人能告诉我如何使这项工作?谢谢!
答案 0 :(得分:0)
我相信您需要更改图表的比例。我认为默认情况下它是Category Scale,但在使用日期时,您需要将其更改为DateTime比例。
在图形属性中,您设置X轴的格式,应该有一个名为Scale的属性。尝试将其设置为DateTime。
基思
答案 1 :(得分:0)
您无法格式化日期的原因是图表将它们视为字符串。
您需要将x轴更改为Category Scale
类型,而不是X
。类别比例是默认值,例如,当您绘制苹果,橘子和梨的数量时,它更适合。
在独立报表设计器中,设置位于 Presentation Category>下。坐标系> cartesiancoordinatesystem1> X轴>规模
...
除了更改比例类型之外,因为比例表达式现在不仅仅是一个字符串,您还需要在线系列上设置"=Fields.DateSampledText"
值。
此设置位于演示文稿类别>下系列> lineseries1> X
由于某些未知原因,该设置不应为"DateSampledText"
,而应为r.mytable
。文档令人恼火,没有这样的细节。