存储过程:

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. elk 使用中遇到的问题(kafka 重复消费)

    问题描述: 在使用过程中,当遇到大量报错的时候,我们到eagle后台看到报错的那个consumer的消费情况到到lag 远远大于0(正常情况应该为0),activie  节点没有,kibana面板上没 ...

  2. [CTCI] 下一个较大元素

    下一个较大元素 题目描述 现在我们有一个int数组,请你找出数组中每个元素的下一个比它大的元素. 给定一个int数组A及数组的大小n,请返回一个int数组,代表每个元素比他大的下一个元素,若不存在则为 ...

  3. ace admin后台模板

    http://ace.jeka.by/index.html 下载: http://www.daimajiayuan.com/plus/download.php?open=0&aid=18152 ...

  4. 《转》冯森林:手机淘宝中的那些Web技术(2014年)

    Native APP与Web APP的技术融合已经逐渐成为一种趋势,使用标准的Web技术来开发应用中的某些功能,不仅可以降低开发成本,同时还可以方便的进行功能迭代更新.但是如何保证Web APP的流畅 ...

  5. delphi 学习笔记的例子

    由于360改变了共享策略,导致之前的共享连接不能使用 重新共享了下. http://yunpan.cn/cgS2DBRT572jy (提取码:1eda)

  6. [整理]Unity3D游戏开发之Lua

    原文1:[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上) 各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我地博客地址是blog.csdn.net/qinyuanpei.如果 ...

  7. Lua语法基础(3)--迭代器和泛型for

    迭代器和闭包 迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素.在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素. 迭代器需要保留上一次成功调用的状态和下一次成功 ...

  8. 分布式系统唯一ID生成方案汇总【转】

    转自:http://www.cnblogs.com/haoxinyue/p/5208136.html 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结.生成ID的方法有很 ...

  9. 线上服务CPU100%问题快速定位实战

    功能问题,通过日志,单步调试相对比较好定位. 性能问题,例如线上服务器CPU100%,如何找到相关服务,如何定位问题代码,更考验技术人的功底. 58到家架构部,运维部,58速运技术部联合进行了一次线上 ...

  10. Fiddler工具非常强大好用

    传递一个json对象发post请求案例: 1.打开Fiddler,点击Composer选项卡 2.下拉框选择Post 3.输入请求的URL,比如:http://localhost:49194/api/ ...