Ⅰ sql server里面有一张这样的表,我现在想做一个报表,
1、select opendate,count(*) from table group by opendate ;
2、select rel,count(*) from table where opendate>= date1 and opendate <=date2 group by rel;
Ⅱ 如何用jfreechart显示饼状图,数据来自我的数据库当中。求具体代码
/*
*生成3D饼状图
*/
(Stringtitle,
List<TimeSeriesDataBean>list){
FontCtl.setFont();//解决乱码问题
List<String[]>dataList=newArrayList<String[]>();
String[]ss;
for(TimeSeriesDataBeanbean:list){
ss=newString[2];
ss[0]=bean.getNam();
ss[1]=bean.getVal()+"";
dataList.add(ss);
}
DefaultPieDatasetdataset=DataSetBuilder.buildPieChartDataSet(title,
dataList);
JFreeChartchart=ChartFactory.createPieChart3D(title,dataset,true,
true,false);
//chart.addSubtitle(newTextTitle("SUBTITLE测试"));
PiePlotpieplot=(PiePlot)chart.getPlot();
//{0}:({1})%代表显示格式:0=名称1=值比如:名称:19%
=(
"{0}:({1})",NumberFormat.getNumberInstance(),NumberFormat
.getPercentInstance());
pieplot.setLabelGenerator(standarPieIG);
//没有数据的时候显示的内容
pieplot.setNoDataMessage("无数据显示");
pieplot.setLabelGap(0.02D);
PiePlot3Dpieplot3d=(PiePlot3D)chart.getPlot();
//设置开始角度
pieplot3d.setStartAngle(120D);
//设置方向为”顺时针方向“
pieplot3d.setDirection(Rotation.CLOCKWISE);
//设置透明度,0.5F为半透明,1为不透明,0为全透明
pieplot3d.setForegroundAlpha(0.7F);
ChartFrameframe=newChartFrame(title,chart);
frame.pack();
frame.setVisible(true);
returnchart;
}
Ⅲ 用tableau怎么做三维饼图
tableau貌似不支持任何三维图表,在二维的屏幕上模拟三维图表会扭曲长度、大小,反而令信息失真。如果你一定要做三维饼图的话,我现在用的finereport倒是可以的,具体步骤如下:
1、准备数据
新建工作簿,添加数据集,SQL语句为SELECT*FROM 订单 WHERE 货主国家='中国',查询出中国的所有订单信息。
制作一张分组报表统计出中国各地区的销量总和,以此为数据源制作一张三维饼图,如下:
5、保存于预览
保存模板,点击分页预览,效果即如上。
Ⅳ 数据库结构的SQL语句怎么转换成图表
用PowerDesigner可以转换
Ⅳ VB + SQL饼图代码怎么写
你可以参考下EXCEL的饼图,使用宏命令录制饼图,然后查看VBA代码,或查看OFFICE OWC的帮助文件。
Ⅵ SQL语句制作报表
t1,t2,t3对应表123
列名用了拼音首字母代替,自己看下吧
SELECT isnull(t1.GG,isnull(t2.gg,t3.gg)) 规格,
isnull(SR,0) 收入,isnull(FC,0) 发出,isnull(jc,0) 结存
FROM
t1 full join t2
on t1.gg=t2.gg
full join t3
on t1.gg = t3.gg
Ⅶ 如何通过sql语句生成图表
sql 没办法直接生成图表。
办法1,可以使用python R语言,调用sql,再将sql的检索结果转为想要的图形。
办法2,先用sql查询数据,将数据导入倒excel,用excel 生成图形。
办法3,用excel 驱动链接数据,然后通过sql取到数据
Ⅷ 怎么写sql语句,实现下图效果
SQL查询语句得到的结果集都是一个表格,不会有这种跨行跨列的效果。这种效果是要自己用其他工具实现的, 单纯的SQL语句做不到此效果的。
你这个报表对数据的查询应该可以使用分析函数, sum(field) over (partion by ... order by ...)得到结果集(实现表格中的小计,合计值),然后再配合应用程序的代码就可以做出此表格。
Ⅸ 如何将mysql数据库中的数据画成饼状图,求代码。
<?
//
参数以
a
为参数名传入,
a
的文本形态应该是用“
,
”分割的若干数字连接的字符串
//
这里首先判断
a
是否存在
if($_GET["a"]=="") die("0");
//
将得到的数据分解,存入数组
$shuju
中
$shuju=split(",",$_GET["a"]);
//
再次判断数据的合法性,返回错误代码
if(count($shuju)==0) die("2");
//
定义整个图形的宽度和高度
//
读者可以根据需要修改这两个变量的值
$tukuan=300;
$tugao=150;
//
定义一个数组,用来存放每一个色块的角度范围
$jiao = array();
//
定义存贮数据和的变量
$total=0;
//
遍历数组求和
for ($i = 0; $i < count($shuju); $i++) {
if(!is_numeric($shuju[$i])) die("1");
$total+=$shuju[$i];
}
//
再次遍历,计算色块角度并存入数组
for ($i = 0; $i < count($shuju); $i++) {
array_push ($jiao, round(360*$shuju[$i]/$total));
}
//
创建图像
$image = imagecreate($tukuan, $tugao);
//
定义一个灰色背景色
,
这个颜色其实就是大家很熟悉的页面色系
16
进制数字表示的
#EEEEEE
$white = imagecolorallocate($image, 0xEE, 0xEE, 0xEE);
//
再定义
10
对深浅对应的彩色,存入二维数组
$yanse = array(
array(
imagecolorallocate($image, 0x97, 0xbd, 0x00),
imagecolorallocate($image, 0x00, 0x99, 0x00),
imagecolorallocate($image, 0xcc, 0x33, 0x00),
imagecolorallocate($image, 0xff, 0xcc, 0x00),
imagecolorallocate($image, 0x33, 0x66, 0xcc),
imagecolorallocate($image, 0x33, 0xcc, 0x33),
imagecolorallocate($image, 0xff, 0x99, 0x33),
imagecolorallocate($image, 0xcc, 0xcc, 0x99),
imagecolorallocate($image, 0x99, 0xcc, 0x66),
imagecolorallocate($image, 0x66, 0xff, 0x99)
),
array(
imagecolorallocate($image, 0x4f, 0x66, 0x00),
imagecolorallocate($image, 0x00, 0x33, 0x00),
imagecolorallocate($image, 0x48, 0x10, 0x00),
imagecolorallocate($image, 0x7d, 0x64, 0x00),
imagecolorallocate($image, 0x17, 0x30, 0x64),
imagecolorallocate($image, 0x1a, 0x6a, 0x1a),
imagecolorallocate($image, 0x97, 0x4b, 0x00),
imagecolorallocate($image, 0x78, 0x79, 0x3c),
imagecolorallocate($image, 0x55, 0x7e, 0x27),
imagecolorallocate($image, 0x00, 0x93, 0x37)
)
);
//
由下至上画
10
个像素高的深色饼图,作为阴影
$yuanxin_x=$tukuan/
2;
for ($h = $tugao/
2+5; $h > $tugao/
2-5; $h--) {
$kaishi=0;
$jieshu=0;
for ($i = 0; $i < count($shuju); $i++) {
$kaishi=$kaishi+0;
$jieshu=$kaishi+$jiao[$i];
$yanse_i=fmod($i,10);
imagefilledarc($image,$yuanxin_x,$h,$tukuan,$tugao-20,$kaishi,$jieshu,$yanse[1][$yanse_i],IM
G_ARC_PIE);
$kaishi+=$jiao[$i];
$jieshu+=$jiao[$i];
}
}
//
在最高处
(
也就是
$h
最小时
)
画一个浅色饼图,
这个浅色图跟先画上的深色饼图就能产生立
体效果了
for ($i = 0; $i < count($shuju); $i++) {
$kaishi=$kaishi+0;
$jieshu=$kaishi+$jiao[$i];
$yanse_i=fmod($i,10);
imagefilledarc($image,
$yuanxin_x,
$h,
$tukuan,
$tugao-20,
$kaishi,
$jieshu,
$yanse[0][$yanse_i], IMG_ARC_PIE);
$kaishi+=$jiao[$i];
$jieshu+=$jiao[$i];
}
//
设定文件头
header('Content-type: image/png');
//
输出图像
imagepng($image);
//
释放资源
imagedestroy($image);
?>
使用方法
在需要显示图像的位置插入如下代码
<img src="bing_img.php?a=3,2,3,4"/>
a
的文本格式是由“
,
”连接的若干个数据的字符串,
get
方式传入。
Ⅹ 在C#里,任何把数据库里的动态数据用饼图,柱形图,曲线图显示出来
用SQL语句,从数据库中取出数据,放到数据集中,然后将该结果数据集邦定到图形控件即可。.Net下的图形空间很多,例如:Teechart
For
.NET;
ComponentOne
Studio
;Dundas
Chart
for
.NET
等。这些控件都有Demo。很容易使用。