存储过程:

SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO -- =============================================
-- Author: <Author,,Name>
-- Create date:
-- Description: 评吸质量雷达图分析
-- 调用示例:EXEC [dbo].[usp_Tqc_Raw_SmokingTest] '2013-08-26','2013-08-27'
-- =============================================
ALTER PROCEDURE [dbo].[usp_Tqc_Raw_SmokingTest]
@StartDate VARCHAR(20) , --取样起时间
@EndDate VARCHAR(20) --取样止时间
AS
BEGIN
SET NOCOUNT ON ;
-- 劲头加减计算
SELECT TOP 3
SampleNo ,
Aroma1 ,
Aroma2 ,
Aroma3 ,
Chroma ,
( CASE WHEN VigourAS = '+' THEN ( 20 - Vigour ) / 2
WHEN VigourAS = '-' THEN Vigour / 2
END ) AS Vigour ,
AromaQuality / 2.5 AS AromaQuality ,
AromaContent / 2.5 AS AromaContent ,
Miscellaneous / 1.5 AS Miscellaneous ,
Stimulate / 1.5 AS Stimulate ,
Aftertaste / 2 AS Aftertaste
INTO #TMP_Tqc_Raw_SmokingTest
FROM Tqc_Raw_SmokingTest
WHERE CheckTime BETWEEN @StartDate AND @EndDate DECLARE @t TABLE
(
[样品号] VARCHAR(50) ,
[清香] NUMERIC(18, 2) ,
[甜香] NUMERIC(18, 2) ,
[焦香] NUMERIC(18, 2) ,
[浓度] NUMERIC(18, 2) ,
[劲头] NUMERIC(18, 2) ,
[香气质] NUMERIC(18, 2) ,
[香气量] NUMERIC(18, 2) ,
[杂气] NUMERIC(18, 2) ,
[刺激] NUMERIC(18, 2) ,
[余味] NUMERIC(18, 2)
)
-- 计算平均值
INSERT INTO @t
SELECT SampleNo ,
AVG(Aroma1) ,
AVG(Aroma2) ,
AVG(Aroma3) ,
AVG(Chroma) ,
AVG(Vigour) ,
AVG(AromaQuality) ,
AVG(AromaContent) ,
AVG(Miscellaneous) ,
AVG(Stimulate) ,
AVG(Aftertaste)
FROM #TMP_Tqc_Raw_SmokingTest
GROUP BY SampleNo -- 列转行处理
SELECT [样品号] ,
[检测项] = attribute ,
[检测值] = value
FROM @t UNPIVOT
( value FOR attribute IN ( [清香], [甜香], [焦香], [浓度], [劲头], [香气质], [香气量], [杂气],
[刺激], [余味] ) ) AS UPV DROP TABLE #TMP_Tqc_Raw_SmokingTest END GO

前端代码:

/// <summary>
/// 评吸质量雷达图分析
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button16_Click(object sender, EventArgs e)
{
XtraSmokingTestRadar report = new XtraSmokingTestRadar("2013-08-26","2013-08-27");
report.ShowPreview();
}
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using SQLServerDAL;
using System.Data; namespace XtraReportsTest
{
public partial class XtraSmokingTestRadar : DevExpress.XtraReports.UI.XtraReport
{
public XtraSmokingTestRadar(string startDate, string endDate)
{
InitializeComponent();
string strSQL = @"EXECUTE usp_Tqc_Raw_SmokingTest " + "'" + startDate + "'" + "," + "'" + endDate + "'";
SqlHelper.FillDataset(ControlSql.GetConStr(), CommandType.Text, strSQL, dsTestRadarGraph1, new string[] { "usp_Tqc_Raw_SmokingTest" });
this.xrTableCell75.Text = startDate;
this.xrTableCell77.Text = endDate;
} }
}

效果图:

DevExpressXtraReport—制作雷达图的更多相关文章

  1. 在Excel中制作雷达图

    雷达图的作用 雷达图是专门用来进行多指标体系比较分析的专业图表.从雷达图中可以看出指标的实际值与参照值的偏离程度,从而为分析者提供有益的信息.雷达图一般用于成绩展示.效果对比量化.多维数据对比等等,只 ...

  2. python批量制作雷达图

    老板要画雷达图,但是数据好多组怎么办?不能一个一个点excel去画吧,那么可以利用python进行批量制作,得到样式如下: 首先制作一个演示的excel,评分为excel随机数生成: 1 =INT(( ...

  3. HTML5 Canvas制作雷达图实战

    雷达图又叫蜘蛛网图,是一种对各项数据查看很明显的表现图,在很多游戏中,对游戏中的每个角色的分析图一般也用这种图. 下面,用HTML5的Cavas来实现雷达图. 效果 一.创建Canvas var mW ...

  4. python+matplotlib制作雷达图3例分析和pandas读取csv操作

    1.例一 图1 代码1 #第1步:导出模块 import numpy as np import matplotlib.pyplot as plt from matplotlib import font ...

  5. Excel图表-创意雷达图-原创图表

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  6. WPF 制作雷达扫描图

    实现一个雷达扫描图. 源代码在TK_King/雷达 (gitee.com),自行下载就好了 制作思路 绘制圆形(或者称之轮) 绘制分割线 绘制扫描范围 添加扫描点 具体实现 首先我们使用自定义的控件. ...

  7. WPF DevExpress 设置雷达图Radar样式

      DevExpress中定义的ChartControl很不错,很多项目直接使用这种控件. 本节讲述雷达图的样式设置 <Grid> <Grid.Resources> <D ...

  8. Chart.js中文文档-雷达图

    雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...

  9. 用Excel制作热图(heatmap)的方法

    http://jingyan.baidu.com/article/64d05a0240ec75de55f73bd8.html 利用Excel 2010及以上版本的"条件格式"--& ...

随机推荐

  1. android 圆角编写(懒得去找,写给自己看的)

    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="r ...

  2. 令新手头疼的modelsim库编译

    估计很多人买了CB哥的书来看吧,他们在学习modelsim仿真的过程中可能遇到过明明是按照书上的步骤添加器件库的了,但还是出现如下的错误: 首先,我想说的是CB哥书上的modelsim-altera1 ...

  3. DatePicker的分割线颜色设置

    /** * * 设置时间选择器的分割线颜色 * @param datePicker */ private void setDatePickerDividerColor(DatePicker dateP ...

  4. html5自定义数字键盘

    原理:使用div模拟输入框,避免手机原生键盘弹出,键盘使用div模拟,点击事件使用js控制,光标闪烁使用css模拟,具体代码如下: <!doctype html> <html lan ...

  5. HTML5学习笔记(八):CSS定位

    CSS 定位 (Positioning) 属性允许你对元素进行定位. 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠.定位的基本思想很简单 ...

  6. iOS 开发之版本上线更新流程

    iOS 开发之版本上线更新流程   把自己app上线的流程记录下来,希望能够让自己加深印象,也能帮助到一些人便是极好的! 证书和描述文件的配置就不写了,直接配置工程吧. 大致把我自己上线的流程写一下: ...

  7. js判断网页是真静态还是伪静态的方法

    现在很多网站都是使用以“.html“为扩展名的网页,这样做的好处是有利于搜索引擎收录和排名,或者是其他目的,如可以缩短网址使人容易记住.不过有意思的是并不是所有的以“.html”扩展名的网页都是静态的 ...

  8. sql乘法函数实现方式

    sql中有很多聚合函数,例如 COUNT.SUM.MIN 和 MAX. 但是唯独没有乘法函数,而很多朋友开发中缺需要用到这种函数,今天告诉大家一个不错的解决方案 logx+logy=logx*y 这是 ...

  9. splitter 使用

    splitter1.Width = ; splitter1.Height = ; Label l = new Label(); l.Text = "···"; //写入的字,具体指 ...

  10. java replace方法 无法改变原字符串,使用时需重新赋值

    // TODO:把网页中的链接替换为本地路径及文件名 for (String link : links) { String baseLink = "http://localhost:91/q ...