以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 分组 计数,找不到列名的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172430) |
-- 作者:qq252476275 -- 发布时间:2021/10/12 18:04:00 -- 分组 计数,找不到列名的问题 需要在数据库中执行以下语句: sel ect 部门名称, 加班日期,
avg(isnull( 部门人数, 0) ) as 部门人数
, count(*) as 加班人数 from neightWorkAddMain where 可用 = 1 group by 部门名称,加班日期 order by 部门名称,加班日期 在分组计数时,显示 count(*) as 加班人数 的列名无效。 |
-- 作者:qq252476275 -- 发布时间:2021/10/12 18:05:00 -- 前端 : //执行统计 $(\'#exctj1\').click(function(){
var strGroup = $(\'#group\').val();
var strType = $(\'#zhouqi\').val();
var nType = \'\';
if( strType == \'year\'){
//ssType = \'Year\';
nType = 1;
}
if( strType == \'month\'){
// ssType = \'Month\';
nType = 3;
}
if( strType == \'date\'){
//ssType = \'Day\';
nType = 5;
}
var sDate = $(\'#d1\').val();
var eDate = $(\'#d2\').val();
var data = {
dataSource : \'OAbm\',
baseTable : \'neightWorkAddMain\',
groups : JSON.stringify([{
name
: \'部门名称\',
},{
name
: \'加班日期\',
dateGroup : nType
}]),
totals : JSON.stringify([{
exName : \'总人数\',
expression : \'isnull(部门人数,0)\',
exCaption : \'总人数\',
aggregate : 6 // AggregateEnum.Average 求平均值
},{
name : \'加班人数\',
aggregate : 4 // AggregateEnum.Count 求计数
}]),
GroupProportion : true, // 分组总占比
Filter : \'可用 = 1\',
};
console.log(data);
admin.ajax({
url : \'group\',
data: data ,
success : function ( res ){
console.log(res);
//由于reload方法对cols的重载有问题,这里只能使用render方法渲染表格
table.render({
elem: \'#t1\',
data : res.data,
cols: [
{field: \'部门名称\'
, title : \'部门名称\' , align : \'center\' , style : \'text-align:right\', minWidth : \'120\'},
{field: \'加班日期\'
, title : \'加班日期\' , align : \'center\' , style : \'text-align:right\', minWidth : \'120\'},
{field: \'部门人数\'
, title : \'部门人数\' , align : \'center\' , style : \'text-align:right\', minWidth : \'120\'},
{field: \'加班人数\'
, title : \'加班人数\' , align : \'center\' , style : \'text-align:right\', minWidth : \'120\'},
],
text: {none: \'没有得到服务器返回数据!\'},
done:function(res){
}
});
}
});
return false; }); 传递的data 值: dataSource: "OAbm" baseTable: "neightWorkAddMain" groups: "[{"name":"部门名称"},{"name":"加班日期","dateGroup":5}]" totals: "[{"exName":"总人数","expression":"isnull(部门人数,0)","exCaption":"总人数","aggregate":6},{"name":"加班人数","aggregate":4}]" GroupProportion: true Filter: "可用 = 1"
|
-- 作者:qq252476275 -- 发布时间:2021/10/12 18:06:00 -- |
-- 作者:qq252476275 -- 发布时间:2021/10/12 18:07:00 -- 以上附件为后端代码 , admin.ajax的 URL : \'group\' 中的执行代码
|
-- 作者:qq252476275 -- 发布时间:2021/10/12 18:08:00 -- foxTable中的输出信息 传入e.Path : group 当前函数:sqlGroup 执行 b.Groups.AddDef(\'部门名称\',-1,\'\',\'\') 执行 b.Groups.AddExp(\'\',\'\',\'\') 执行 b.Groups.AddDef(\'加班日期\',5,\'\',\'\') 执行 b.Groups.AddExp(\'\',\'\',\'\') 执行 b.Totals.AddDef(\'\',6,\'\',\'\') 执行 b.Totals.AddExp(\'总人数\',\'isnull(部门人数,0)\',\'总人数\',6) 执行 b.Totals.AddDef(\'加班人数\',4,\'\',\'\') 执行 b.Totals.AddExp(\'总人数\',\'isnull(部门人数,0)\',\'总人数\',4) 执行 b.GroupProportion= True 执行 b.Filter = 可用 = 1 执行开始 errlog: 2021-10-12 18:01:01.7385 事件/函数:自定义函数,sqlGroup 调用的目标发生了异常。 在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) 在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 在 Foxtable.UserFunctions.Execute(String Name, Object[] Args) 未将对象引用设置到对象的实例。 在 Foxtable.SQLGroupTableBuilder.BuildDataSource() 在 Foxtable.SQLGroupTableBuilder.Build(Boolean OnlyDataTable) 在 UserCode.AVaiIz2TIxAM9Tghy(Object[] Args) |
-- 作者:有点蓝 -- 发布时间:2021/10/12 20:25:00 -- 定义分组使用的是这个代码:Dim b As New SQLGroupTableBuilder(strCaption ,e.values("baseTable"))。e.values("baseTable")表示的是一个数据库表?还是1楼sql生成的视图? |
-- 作者:qq252476275 -- 发布时间:2021/10/13 7:22:00 -- 那这个问题要如何解决? 我的baseTable 是数据库中的表,不是视图
|
-- 作者:qq252476275 -- 发布时间:2021/10/13 7:34:00 -- 统计表达式有count枚举值,那应该是可以计数的啊, [此贴子已经被作者于2021/10/13 7:34:17编辑过]
|
-- 作者:qq252476275 -- 发布时间:2021/10/13 7:50:00 -- 还有个问题, 如何生成 加班人数/总人数 = 加班比率。 |
-- 作者:qq252476275 -- 发布时间:2021/10/13 7:55:00 -- 加班比率查到有 “百分比与统计”的说明文档了 |