FineReport_颜文

1,参数为空数据集选全部

select * from 订单
where 1=1
${if(len(货主地区) == 0,"",“and 货主地区 = '” + 货主地区 + “’”)}

2,参数为空 模板参数

if(len( 货 主 地 区 ) = = 0 , n o f i l t e r , 货主地区)==0,nofilter, )==0,nofilter,货主地区)

3, 班级平均分

个人平均分之和/班级人数 sum(E3)/count(C3)

个人平均分:AVERAGE(D3)

4, 组内序号

5,JS获取控件值和赋值

5.1 获取参数面板参数

_g().parameterEl.getWidgetByName(“text”) //获取控件名

_g().parameterEl.getWidgetByName(“text”).getValue() //获取控件值

&op=form_adaptive

_g().parameterEl.getWidgetByName(“text”).setValue(456) //给控件赋值

_g().parameterEl.getWidgetByName(“button0”).fireEvent(“click”) //调用按钮里的点击事件

5.2 获取工具栏值

​ contentPane.toolbar.options.items[0].getValue() //index 表示第几个位置 // 获取值

5.3 获取单元格的值

$(“td[id^=A1-]”).text() //获取单元格A1的值 适合分页预览

$("#REPORT0").find(“td[id^=‘A1-’]”)

contentPane.getWidgetByCell(“B1”).getValue() //获取单元格B1的值

contentPane.getWidgetByName(“text”).getValue() //获取单元格的值

contentPane.getWidgetByCell(“C1”).setEnable(false) //启用 或者禁用

contentPane.getWidgetByCell(“C1”).setVisible(false) // 设置按钮不可见

5.4 获取决策报表组件

_g().getWidgetByName(“button0”) .fireEvent(“click”) //获取组件按钮中的点击事件

6.0 填报预览

contentPane.getCellValue(sheet,col,row) 获取单元格的实际值

contentPane.getCellValue(0,0,0) //默认获取A1单元格的值

contentPane.setCellValue(0,0,0,789) //更改A1单元格的值

contentPane.curLGP.getCellValue(“A1”) // 获取A1单元格的值

contentPane.curLGP.setCellValue(“A1”,null,321) //更改A1单元格的值

contentPane.getWidgetByCell(“C1”).setEnable(false) 设置按钮置灰

7,全选

//复选框全选实现 A1添加状态改变事件
var flag=this.getValue();               //获取当前复选框控件的状态,true /false
for(var i=0;i<window.lineboxes.length;i++){            //循环遍历每个复选控件
var cr=FR.cellStr2ColumnRow(window.lineboxes[i].options.location);
                                         //由每个控件位置获取行号列号
_g().setCellValue(cr.col, cr.row, flag);            //逐一赋值当前状态
}
----------
//A2 添加初始化后事件
if (!window.lineboxes) {  
    window.lineboxes = [];        //控件加入到一个全局数组里
}  
lineboxes[lineboxes.length] = this;
----------------
//A2添加状态改变后事件
//A1为一键全选按钮的位置,可根据实际情况修改
//当前复选框未选择时,设置全选不选中
if(this.getValue()==false){
	_g().setCellValue('A1',null,false);
} else {
var allChecked=true;
//循环判断所有复选框都选中时,将全选复选框选中
for(var i=0;i<lineboxes.length;i++){
	if(lineboxes[i].getValue()==false){
		allChecked=false;
	}
}
//如果全选中时,自动让A1全选复选框选中
_g().setCellValue('A1',null,allChecked);
}

------------------

1,FR对象

1.1 打开对话框

FR.showDialog(tittle,width,height,innercontent) 标题 宽度 高度 内容

FR.showDialog(“周五”,800,500,“放假了”)

//录入
var loc=this.options.location;
var cr=FR.cellStr2ColumnRow(loc);
var col=cr.col-1;
var row=cr.row;
var url="http://localhost:8075/webroot/decision/view/report?viewlet=帮扶.cpt&op=write&col="+col+"&row="+row;
var $iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='no' frameborder='0'>"); // iframe参数的命名及宽高等  
$iframe.attr("src", url); //jsson.cpt为以上所说的点击选择按钮时,引用js后弹出一个对话框,对话框中嵌入的下拉选项模板  
var o = {  
title : "录入",
width : 800,  
height: 500 

};  
FR.showDialog(o.title, o.width, o.height, $iframe,o); //首先弹出对话框  

//录入
var url="http://localhost:8075/webroot/decision/view/report?viewlet=帮扶.cpt&op=write";
var $iframe = $("<iframe width='100%' height='100%' scrolling='no' frameborder='0'>"); // iframe参数的命名及宽高等  
$iframe.attr("src", url); //jsson.cpt为以上所说的点击选择按钮时,引用js后弹出一个对话框,对话框中嵌入的下拉选项模板  
var o = {  
title : "录入",
width : 800,  
height: 500 

};  
FR.showDialog(o.title, o.width, o.height, $iframe); //首先弹出对话框  

1.2 关闭对话框

FR.closeDialog(); //关闭对话框
parent.FR.closeDialog();   //父页关闭对话框

1.3 网页跳转

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MmtDVLyK-1632302555697)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106150152232.png)]

var url="http://localhost:8075/webroot/decision/view/report?viewlet=帮扶.cpt&op=write";

var config={地区:"华北"};  //参数

var target="_blank"; // _self,dialog

var feature={width:800,height:450};

FR.doHyperlinkByGet(url,config,target,feature);

1.4 帆软公式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CjQwdk3j-1632302555699)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106151720041.png)]

2,MSG对象

2.1 alert

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ArztrFKG-1632302555700)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106152016136.png)]

FR.Msg.alert(title,message,callback)  //callback 可以省略
//编辑前弹框提示  回调函数可以省略
FR.Msg.alert("警告","请选择一个记录再编辑",function(){});

2.2 confirm

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tGWl7FNr-1632302555702)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106153313284.png)]

//删除公式  回调函数可以省略
FR.Msg.confirm(title,message,callback,min_width)

FR.Msg.confirm("警告","确定删除吗? ",function(value){

if(value){

alert("即将删除!")

}else{

alert("取消删除!")

}

},500)
 //删除当前行
FR.Msg.confirm("警告","确定要删除吗?",function(value){
if(value){
contentPane.deleteReportRow("Q"+row, 0, 1)  //字母Q为内置的删除按钮所在列
_g('${sessionID}').writeReport();
}else{
}
})

FR.Msg.confirm("警告","确定要送审吗?",function(value){
if(value){
_g('${sessionID}').verifyAndWriteReport();
return true;	
}else{
this.setEnable(true);
 return false;
}
})

if(confirm("确认提交吗"))   //弹出确认删除对话框   
{ 
  setTimeout(function() {  
     _g('${sessionID}').verifyAndWriteReport();     //执行提交入库操作 
    }, 1000); 
  return true;    //点击确定时,返回值为true,执行如上操作。 
} 
else 
{ 
   setTimeout(function() {  
     this.setEnable(true);   //执行提交入库操作 
    }, 1000);
   return false; //点击取消时,返回值为false,不执行操作。 
}





//批量删除js 前面带复选框的
var $span = $(".fr-checkbox-checkon");
var darray = [];
var $tds = $("td").has($span);
if($tds.length==0){
	FR.Msg.alert("警告","请选择一个记录再删除")
	}
	else{	
for (var i = 0, len = $tds.length; i < len; i ++) {
   var id = $($tds[i]).attr("id");
   if (id) {
     darray.push(id);
  }
FR.Msg.confirm("警告","确定删除吗? ",function(value){

if(value){
contentPane.deleteReportRC(null,darray);
_g('${sessionID}').writeReport();
}
},500)
}
}

2.3 prompt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pl78aeoI-1632302555703)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106155029073.png)]

弹出可以传递参数的对话框

function test(){
	var num=arguments[0].toString();//获取输入框的内容
	contentPane.setCellValue("A1",null,num);//将这个内容赋值给A1单元格
};
FR.Msg.prompt("输入","内容",null,test,100)

案例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kYTkmVPD-1632302555704)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106184350360.png)]

2.4 toast

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wpF0i5kr-1632302555705)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106184707810.png)]

FR.Msg.toast("填报成功")

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YfOPL07b-1632302555706)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106184919424.png)]

3,FS对象

3.1 退出决策平台

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DHcUM38s-1632302555707)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106185053335.png)]

3.2打开新标签

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WiIi1qgj-1632302555708)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106185226217.png)]

3.3 关闭标签

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eo27woPF-1632302555709)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106185428750.png)]

4,图表接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vtXrbjTk-1632302555709)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106185601267.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYVExxgM-1632302555710)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106190040618.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d9swVJJj-1632302555711)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106190254870.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-53DsH19M-1632302555712)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106190525846.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9w9we8i3-1632302555713)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106190557837.png)]

4.6 缩放等级接口

多用于地图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yolgb4Ot-1632302555714)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106190726343.png)]

5,逻辑判断

5.1 判断哪个控件为空

//获取a,b,c三个控件值
var a= _g().parameterEl.getWidgetByName("a").getValue();
var b=_g().parameterEl.getWidgetByName("b").getValue();
var c=_g().parameterEl.getWidgetByName("c").getValue();
//定义一个空数组
var arr=[];
//判断三个控件是否为空
if(a.length==0||b.length==0||c.length==0){
if(a.length==0){
    arr.push("a控件");//a为空,则将a控件插入数组
               }
 if(b.length==0){
    arr.push("b控件");//b为空,则将b控件插入数组
               }
 if(c.length==0){
    arr.push("c控件");//c为空,则将c控件插入数组
               } 
  FR.Msg.alert("警告",arr+"不能为空");//弹出提示框
}else{
	_g().parameterCommit();//执行查询
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wi1QAX50-1632302555714)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106194159167.png)]

5.2 无数据不跳转 并提示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7eFpIhBv-1632302555715)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201106204230455.png)]

var sql=
"SQL(\"FRDemo\",\"Select 产品ID from (select * from S产品 limit 3) where 产品ID='"+id+"'\",1)";//1代表第一列
var value=FR.remoteEvaluate(sql); //根据id去S产品表查询是否有对应的值
if(value.length!=0){
	window.location.href='http://localhost:8075/webroot/decision/view/report?viewlet=无数据不跳转B.cpt&id='+id; //有值则跳转
}else{
FR.Msg.alert("警告","数据为空无法跳转");
}
// 删除行 下面的行序号替换删除行的
if(window.deleteflag==1){
	var $tds=$('td[col=1][fmt!="T"]');
	var n=0;
	$tds.each(function(i,e){
		if(i>=0){
			n=n+1;
			$(e).text(n);//将当前编号重新设置
		}
		});
		window.deleteflag=0;//
}

6,样式修改

6.1 按钮点击变色

$("#fr-btn-BUTTON0").find("button").css("color","red");
$("#fr-btn-BUTTON1").find("button").css("color","white");
$("#fr-btn-BUTTON2").find("button").css("color","white");

图例:点击其中一个按钮变色 其他不变色 使用如上js代码 通过F12去点击找对应的id 和按钮

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8M1Mcq9z-1632302555716)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201107114044014.png)]

6.2 对话框顶部颜色修改 并把右上角的❌号去掉

$(".fr-core-panel-header.fr-core-panel-style-blue.fr-core-window-header").css("background","red")  //找到对应的class 改变背景颜色
$(".fr-core-panel-tool-close").remove()  //去除右上角×按钮

图例如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-amll40nf-1632302555717)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201107125600721.png)]

6.3鼠标悬浮行变色

//分别在分页预览设置,填报预览设置和数据分析设置 加载结束添加如下js代码 
$(".x-table tr[tridx!='0'][tridx!='1'][tridx!='2'][tridx!='3']").mouseover(function(){//给除了标题行外的行设置悬浮事件
	//alert($(this).attr('id'))
	window.color=$(this).find("td").css("background");//获取原来的td颜色
	$(this).find("td").css("background","yellow");//将当前背景颜色换色
})
$(".x-table tr[tridx!='0'][tridx!='1'][tridx!='2'][tridx!='3']").mouseout(function(){//给除了标题行外的行设置鼠标移开事件
	$(this).find("td").css("background",color);//将当前背景颜色改为原先色
})
$("#fr-btn-MONTH").css("background",)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IYbUyWbc-1632302555718)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201107111609010.png)]

效果图如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CSRVgZoy-1632302555719)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201107114707237.png)]

思考:
1,当删除剩下一条记录的时候会默认选中上面的复选框,此时无法编辑剩下的这一行?搞定
2,全部删除完,刷新之后还会出来一行空的行?//搞定  添加条件属性 内容为空 设置行高为0 
3,查看当前行,提交按钮需要隐藏?搞定
4,点击录入 编辑 查看 按钮 加载的子报表需要铺满整个屏幕?
5,鼠标悬浮变色?搞定



2020.11.11 信义玻璃

SELECT SUBSTR(year_month,5) FROM “dm”.“xyg_alwip_dm_equipment_break” //截取月份

SELECT SUBSTR(year_month,1,4) FROM “dm”.“xyg_alwip_dm_equipment_break” //截取年份

“检测时间:”+FORMAT( s t a t b e g i n t i m e , ′ Y Y Y Y − M M − d d H H : m m ′ ) + " − " + f o r m a t ( stat_begin_time,'YYYY-MM-dd HH:mm')+"-"+format( statbegintime,YYYYMMddHH:mm)+""+format(stat_end_time,‘HH:mm’)//取小时和分钟

${if(len(year_month)=0,"","and year_month = '"+year_month+"'")}
${if(len(product_line_name)=0,"","and product_line_name = '"+product_line_name+"'")}

${if(len(stat_date)==0,"",“and stat_date=’”+stat_date+"’")}

${if(len(energy_type)==0,"",“and energy_type in(’”+energy_type+"’)")}

select (product_line_name+reason_name) as product_line1
FROM "dm"."xyg_alwip_dm_repairement_cost"
where  product_line_category='FF' and reason_name='原料机械'

select (product_line_name+reason_name) as product_line2
FROM "dm"."xyg_alwip_dm_repairement_cost"
where  product_line_category='FF' and reason_name='原料电气'

select product_line_name
FROM "dm"."xyg_alwip_dm_repairement_cost"
where  product_line_category='FF' and reason_name='热端机械'

with xx as (
select type1,type2,sum(k) as k from (
select 1 as k  , 'a' as type1 ,'a1' as type2 
union all
select 2 as k  , 'a' as type1 ,'b1' as type2 
union all
select 2 as k  , 'b' as type1 ,'a1' as type2 
union all
select 2 as k  , 'b' as type1 ,'b2' as type2 
) t group by type1,type2
)

select  
${if(len(color_code)=0,"type1,sum(k) ","type1,type2,sum(k)")}
from xx
${if(len(color_code)=0,"group by type1 ","group by type1,type2")}

主子报表跳转
var paths = 'OEN/OEN_023_01.cpt' ;
var year = contentPane.parameterEl.getWidgetByName("year").getValue(); 
var cus_type =col; 

var ou_id =  contentPane.parameterEl.getWidgetByName("ou_id").getValue();
var leixing =contentPane.parameterEl.getWidgetByName("leixing").getValue();

var paras ="&year=" +year.replace(/\+/g, '%2B') + "&ou_id=" + ou_id+ "&leixing=" + leixing.replace(/\+/g, '%2B')+"&cus_type=" + cus_type.replace(/\+/g, '%2B');

window.parent.FS.tabPane.addItem({
 title:"客户订单及出货子表",
 src:"${serverURL}/webroot/decision/view/form?viewlet="+paths+"&ref_t=design&op=write&ref_c=9f8005a9-6503-4fbc-95f5-b5c251e06099" + paras
})
针对只有year和month 分开的 传值写法
${if(len(year_month)=0,"and 1=0","and t1.year='"+INDEXOFARRAY(split(year_month,"-"),1)+"'")}
 ${if(len(year_month)=0,"and 1=0","and t1.month='"+INDEXOFARRAY(split(year_month,"-"),2)+"'")}
SELECT 
	year, 
	month, 
	sum(ship_weight) as ship_weight, 
	sum(amount) as amount, 
	sum(net_ex_factory_amt) as net_ex_factory_amt, 
	sum(yield) as yield 
	FROM "dm"."xyg_ffoen_dm_quarter_sale_qty"  
	where 1=1 
	and language='${lang}' 
	${if(len(reportdate)==0,"and 1=0"," and year ='"+left(reportdate,4)+"'")} //取年
	${if(len(reportdate)==0,"and 1=0"," and month between 1 and +'"+right(reportdate,2)+"'")} //取月份
	GROUP BY year,month 
	order by month  

导出excel

window.open(FR.cjkEncode("${servletURL}?reportlet=/订单明细表.cpt&订单号=" + ID + "&format=excel"));

scp /opt/tomcat/webapps/webroot/WEB-INF/reportlets/OEN/OEN_023客户订单及出货子表.cpt biapp@seg002:/opt/tomcat/webapps/webroot/WEB-INF/reportlets/OEN
OEN_023客户订单及出货子表.cpt

=======================

1,多登录页面 不同用户登录显示页面不同

2,填报不填 提交了

3,打回短信通知

4,暂存服务器

=====================

1,录入页面前面有序号

2, 每一级都可以修改

3,城市进行选择

4,社会统一信用码填写一致时,提醒,只需点击后面+号添加

5,填报不准修改 修改需申请 只能修改工程进度,已完工不准修改

6,允许往前一个月修改,加备注栏

7,一旦成型 都不准修改,只有省可以修改

1,日期在上面

2,省级修改 增删

3,县级打报告 增删修改

4,汇总表 柱形图 饼状 可视化图

5,筛选 市 县 状态 规模

6,带完成率 需要控制的

WHEN SHZT=0 THEN
“待送审”
WHEN SHZT=1 THEN
“县级送审”
WHEN SHZT=2 THEN
“市级通过”
WHEN SHZT=3 THEN
“市级打回”
WHEN SHZT=4 THEN
“省级通过”
WHEN SHZT=5 THEN
“省级打回”

如果是市级用户 当前状态 县级送审 操作为 查看 通过 打回

县级用户 状态 操作 市级用户 状态 操作 省级用户状态 操作

​ 待审核 送审 -------> 1县级送审 通过 --------------> 市级送审 通过 省过

​ 市级打回 查看 编辑 送审 1县级送审 打回 市级送审 打回 省回

​ 市级通过 查看 县级送审 查看

​ 县级送审 查看 省级打回 查看 打回

​ 省级通过 查看

​ 市级送审

​ 市级用户 市级通过 查看

​ 市级用户 市级打回 查看

市级用户 省级打回 查看

​ 省级通过 查看

​ 市级通过 查看

省级用户 市级通过 查看

省级用户 市级通过 通过 省级通过 查看

省级用户 市级打回 打回 省级打回 查看

县级用户 市级打回 不可编辑

县级用户 当前状态 市级打回 编辑之后 提交 待送审 再送审 县级送审

window.deleteflag=1;删除行前
window.appendflag=1;添加行后
加载结束
if(window.deleteflag==1||window.appendflag==1){
//
	var $tds=$('td[col="2"][fm="seq()"]:visible');
	var n=0;
	$tds.each(function(i,e){
		if(i>=0){
			n=n+1;
			$(e).text(n);
			}
		});
		///
		window.deleteflag=0;
		window.appendflag=0;
}

需求:

填报 汇总 配图 三级控制

大屏 至少三个维度

, --全省音频数
SELECT sum(distinct CSRS) as CSRS ,
sum(YPS) as YPS, --全省音频数
sum(BFCS) as BFCS, --全省音频播放次数
sum(DZS) as DZS, --全省音频点赞
sum(CYRS)/ CSRS as cayulv --全省参与率
FROM ypb

考试要求:
1、一张三级审核填报表
2、不少于一张汇总表(下钻)
3、主要指标的驾驶舱(包含移动端)
4、大屏一张(地图、各种图表形式不少于4中)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DoQJJNk0-1632302555720)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201223101659161.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0VuDCeBQ-1632302555721)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201223101723883.png)]

字段 日期 月 省 市 区/县 指标类型

同比增长率=(本期数-同期数)÷同期数*100%

取1-12月

if(OR($ = ′ 1 0 ′ , ='10', =10, = ′ 1 1 ′ , ='11', =11, = ′ 1 2 ′ ) , ='12'), =12), + " 月 " , r i g h t ( +"月",right( +"",right( , 1 ) + " 月 " ) ,1)+"月") ,1)+"")$ 代表月份

uniquearray(maparray(range(todate( b e g i n + " − 01 " ) , t o d a t e ( begin + "-01"), todate( begin+"01"),todate(end + “-01”)), left(item, 4))) 年份扩展

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xhSLD2Om-1632302555723)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201228100739554.png)]

SQL(“JDBC2”, “select avg(Money) from (select *,
case
when month between ‘01’ and ‘03’ then ‘一季度’
when month between ‘04’ and ‘06’ then ‘二季度’
when month between ‘07’ and ‘09’ then ‘三季度’
when month between ‘10’ and ‘12’ then ‘四季度’
end as jidu
from (SELECT
city,money,jmlx,zb
SUBSTR(times,6,2) as month,
SUBSTR(times,1,4) as year
FROM shouru)tb1)tb2
where jmlx=’” + 农村居民 + “’ AND year=’” + C2 + “’ and jidu =’” + D2 + “’ GROUP by jidu,city,zb”, 1, 1)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fsRNbqZe-1632302555723)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20201229115015873.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CevI5YZl-1632302555724)(C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20210107111056917.png)]

增长率

if(len(E4)=0 || len(D4)=0 || E4=0,0,(D4-E4)/E4)

YEARDELTA($结束日期,-1)

if(right( y e a r m o n t h , 2 ) < 10 , r i g h t ( year_month,2) < 10,right( yearmonth,2)<10,right(year_month,1),right($year_month,2))+“月”


日期转换

convert(varchar(10),datepart(mm,field0001)) as month 取月份

convert(char(7) ,field0001 , 120) year_month 取年月

CONVERT(varchar(100), field0001, 23) as riqi 取年月日

substr(t1.订购日期,1,7) year_month,

同比环比增长率

同比增长率计算公式 (当年值-上年值)/上年值x100%

环比增长率计算公式 (当月值-上月值)/上月值x100%

SQL 函数

sql(“FRDemo”,“select max(ID) ID from 员工信息表”,1,1)+1 查询最大值;


var forms = this.options.form;
setTimeout(function() {
$("[widgetname=REPORT9]").mouseover(function() {
	console.log("鼠标移入");
	forms.getWidgetByName("REPORT26").setVisible(true); 
	forms.getWidgetByName("REPORT8").setVisible(true); 
})


}, 10);
var forms = this.options.form;
setTimeout(function() {

$("[widgetname=REPORT8]").mouseover(function() {
	console.log("鼠标移入");
	forms.getWidgetByName("REPORT26").setVisible(false); 
	forms.getWidgetByName("REPORT8").setVisible(false);
	forms.getWidgetByName("RESULT").setValue('');  
})

}, 10);



ONVERT(varchar(100), field0001, 23) as riqi 取年月日

substr(t1.订购日期,1,7) year_month,

同比环比增长率

同比增长率计算公式 (当年值-上年值)/上年值x100%

环比增长率计算公式 (当月值-上月值)/上月值x100%

SQL 函数

sql(“FRDemo”,“select max(ID) ID from 员工信息表”,1,1)+1 查询最大值;


var forms = this.options.form;
setTimeout(function() {
$("[widgetname=REPORT9]").mouseover(function() {
	console.log("鼠标移入");
	forms.getWidgetByName("REPORT26").setVisible(true); 
	forms.getWidgetByName("REPORT8").setVisible(true); 
})


}, 10);
var forms = this.options.form;
setTimeout(function() {

$("[widgetname=REPORT8]").mouseover(function() {
	console.log("鼠标移入");
	forms.getWidgetByName("REPORT26").setVisible(false); 
	forms.getWidgetByName("REPORT8").setVisible(false);
	forms.getWidgetByName("RESULT").setValue('');  
})

}, 10);



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值