数据传参

当ny=1的时候没有数据,当ny=2的时候就要数据 但是在数据集都可以显示 但在报表就无法显示 是啥问题啊

image.png

image.png

数据集:

SELECT 

a.分部简称,a.分部编码,a.区域简称,a.年,a.排序

 ${if(ny='1',',(isnull(b.[设计业绩],0)+isnull(c.[工程重签折前设计费]/10000,0)+isnull(d.[月工程退单折前设计费]/10000,0)+isnull(e.[工程平分折前设计费]/10000,0)+isnull(f.[工程补算折前设计费]/10000,0))月设计',

',(isnull(b.[设计业绩],0)+isnull(c.[工程重签折前设计费]/10000,0)+isnull(d.[月工程退单折前设计费]/10000,0)+isnull(e.[工程平分折前设计费]/10000,0)+isnull(f.[工程补算折前设计费]/10000,0)+isnull(g.[年工程退单折前设计费]/10000,0)) as 年设计')} 

 

 ${if(ny='1', 

',(isnull(b.[工程业绩],0)+isnull(c.[工程重签折前工程]/10000,0)+isnull(d.[月工程退单折前工程]/10000,0)+isnull(e.[工程平分折前工程]/10000,0)+isnull(f.[工程补算折前工程]/10000,0)) as 月工程',',(isnull(b.[工程业绩],0)+isnull(c.[工程重签折前工程]/10000,0)+isnull(d.[月工程退单折前工程]/10000,0)+isnull(e.[工程平分折前工程]/10000,0)+isnull(f.[工程补算折前工程]/10000,0)+isnull(g.[年工程退单折前工程]/10000,0)) as 年工程')}

 

from

(SELECT 

DISTINCT

b.fbjc2 as 分部简称,

a.FNUMBER as 分部编码,

b.qyjc as 区域简称,

a.year as 年,

b.first_no 排序

from DW_MD_PerformanceTargetGC a 

LEFT JOIN dim_fb b 

on a.fnumber=b.fbbm

WHERE a.FNUMBER<>'103'

) a

LEFT JOIN 

(

SELECT 分部简称,分部编码,年,sum(设计业绩) 设计业绩,sum(工程业绩) as 工程业绩 from (

SELECT 分部简称,分部编码,年,sum(设计业绩) 设计业绩,sum(工程业绩) as 工程业绩 from (

SELECT 

CASE WHEN fbjc2=N'中Y' AND month>=7 THEN N'大DY' ELSE fbjc2 END 分部简称

,CASE WHEN ssfbbm='103.0302' AND month>=7 THEN '103.0304' ELSE ssfbbm end 分部编码

,qyjc as 区域简称

,year as 年

,month as 月

,sjyj  as 设计业绩

,gcyj as 工程业绩

 FROM DM_YJ_QD_1

 WHERE YEAR='${year(time)}' 

 ${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))})a

 GROUP BY 分部简称,分部编码,区域简称,年

 UNION ALL

select 分部简称,所属分部编码,年,sum(0) 设计业绩,sum(收款金额)/10000 收款金额 from (

select 分部简称,所属分部编码,年,sum(收款金额) 收款金额 from (

SELECT 

gdbm as 工地编码

,gdmc as 工地名称

,fbmc as 分部名称

,fbjc2 as 分部简称

,ssfbbm as 所属分部编码

,skrq as 收款日期

,xsbm as 销售部门

,year as 年 

,month as 月 

,bz as 备注

,skje as 收款金额

from DM_YJ_ZC_1

WHERE year='${year(time)}' 

${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))}

 and xsbm not like N'德拉尼%') a

GROUP BY 分部简称,所属分部编码,年

UNION all 

SELECT 分部简称,所属分部编码,年,sum(收款金额) 收款金额 from (

SELECT 

gdbm as 工地代码

,gdmc as 工地名称

,fbmc as 分部名称

,fbjc2 as 分部简称

,ssfbbm as 所属分部编码

,fbqygs as 分部所属区域

,year as 年

,month as 月

,skje as 收款金额

from DM_YJ_RZ_1

where year='${year(time)}' 

${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))} 

and fbqygs not in(N'深圳一区',N'深圳二区',N'深圳丹迪'))a

GROUP BY 分部简称,所属分部编码,年)a 

WHERE 分部简称 =N'佰EB'

GROUP BY 分部简称,所属分部编码,年

UNION all

select 分部简称,分部编码,年,sum(0) as 设计业绩,sum(收款金额)/10000 as 收款金额  from(

SELECT 

b.fbjc2 as 分部简称

,b.fbbm as 分部编码

,SUBSTRING(CONVERT(varchar(100), a.zjxrq, 23) , 1, 4) as 年 

,DATEPART(month,a.zjxrq) as 月 

,jsj as 收款金额

 FROM DW_BEBCGYJ1_fr_1 a JOIN dim_fb b on a.fbbm=b.fbbm

) a WHERE 年 ='${year(time)}' 

 ${if(ny='1','and 月+0 ='+month(time),'and 月+0 <='+month(time))} 

 GROUP BY 分部简称,分部编码,年

UNION all

select 分部简称,所属分部编码,年,sum(0) as 设计业绩,sum(木作主材)/10000 木作主材 from(

SELECT 

yclx  as 异常类型 

,gdbm as 工地编码

,gdmc as 工地名称

,fbmc as 分部名称

,CASE WHEN fbjc2=N'中Y' AND month>=7 THEN N'大DY' ELSE fbjc2 END 分部简称

,CASE WHEN ssfbbm='103.0302' AND month>=7 THEN '103.0304' ELSE ssfbbm end 所属分部编码

,qyjc as 区域简称

,ycrq as 收款日期

,year as 年

,month as 月

,mzzc as 木作主材

FROM DM_YJ_YC_1 

where year='${year(time)}' 

${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))}

and yclx=N'主材平分')a 

WHERE 分部简称=N'佰EB'

GROUP BY 分部简称,所属分部编码,年)a 

 GROUP BY 分部简称,分部编码,年

)b

 

 

 on a.分部编码=b.分部编码 and a.[年]=b.[年]

LEFT JOIN 

(SELECT  分部简称,分部编码,年,sum(折前设计费)工程重签折前设计费,sum(折前工程)工程重签折前工程 from (

SELECT 

CASE WHEN fbjc2=N'中Y' AND month>=7 THEN N'大DY' ELSE fbjc2 END 分部简称

,CASE WHEN ssfbbm='103.0302' AND month>=7 THEN '103.0304' ELSE ssfbbm end 分部编码

,qyjc as 区域简称

,year as 年

,month as 月

,yclx as 异常类型

,zqsjf as 折前设计费

,zqgc as 折前工程

from

DM_YJ_YC_1

 WHERE YEAR='${year(time)}'

${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))} 

and yclx=N'工程重签') a 

 GROUP BY 分部简称,分部编码,年) c

 

 

on a.分部编码=c.分部编码 and a.[年]=c.[年]

left JOIN

(SELECT 分部简称,分部编码,年,sum(折前设计费)月工程退单折前设计费,sum(折前工程)月工程退单折前工程 from(

SELECT 

CASE WHEN fbjc2=N'中Y' AND month>=7 THEN N'大DY' ELSE fbjc2 END 分部简称

,CASE WHEN ssfbbm='103.0302' AND month>=7 THEN '103.0304' ELSE ssfbbm end 分部编码

,qyjc as 区域简称

,year as 年

,month as 月

,yclx as 异常类型

,zqsjf as 折前设计费

,zqgc as 折前工程

from

DM_YJ_YC_1

 WHERE YEAR ='${year(time)}' 

 ${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))} 

 and yclx=N'工程退单' and kjwd=N'月') a

  GROUP BY 分部简称,分部编码,年)d

 on a.分部编码=d.分部编码 and a.[年]=d.[年]

 LEFT JOIN

 

 

(SELECT 分部简称,分部编码,年,sum(折前设计费)工程平分折前设计费,sum(折前工程)工程平分折前工程 from (

SELECT 

CASE WHEN fbjc2=N'中Y' AND month>=7 THEN N'大DY' ELSE fbjc2 END 分部简称

,CASE WHEN ssfbbm='103.0302' AND month>=7 THEN '103.0304' ELSE ssfbbm end 分部编码

,qyjc as 区域简称

,year as 年

,month as 月

,yclx as 异常类型

,zqsjf as 折前设计费

,zqgc as 折前工程

from

DM_YJ_YC_1

 WHERE YEAR='${year(time)}' 

 ${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))}

 and yclx=N'工程平分')a 

 GROUP BY 分部简称,分部编码,年)e

 

 

 on a.分部编码=e.分部编码 and a.[年]=e.[年]

 LEFT JOIN

 

 

 (SELECT 分部简称,分部编码,年,sum(折前设计费)工程补算折前设计费,sum(折前工程)工程补算折前工程 from(

 SELECT 

CASE WHEN fbjc2=N'中Y' AND month>=7 THEN N'大DY' ELSE fbjc2 END 分部简称

,CASE WHEN ssfbbm='103.0302' AND month>=7 THEN '103.0304' ELSE ssfbbm end 分部编码

,qyjc as 区域简称

,year as 年

,month as 月

,yclx as 异常类型

,zqsjf as 折前设计费

,zqgc as 折前工程

from

DM_YJ_YC_1

 WHERE YEAR='${year(time)}' 

 ${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))}

 and yclx in (N'工程补算',N'工程日期变更'))a 

 GROUP BY 分部简称,分部编码,年)f

 

 

 on a.分部编码=f.分部编码 and a.[年]=f.[年]

 LEFT JOIN 

 

 

(SELECT 分部简称,分部编码,年,sum(折前设计费)年工程退单折前设计费,sum(折前工程)年工程退单折前工程 from(

SELECT 

CASE WHEN fbjc2=N'中Y' AND month>=7 THEN N'大DY' ELSE fbjc2 END 分部简称

,CASE WHEN ssfbbm='103.0302' AND month>=7 THEN '103.0304' ELSE ssfbbm end 分部编码

,qyjc as 区域简称

,year as 年

,month as 月

,yclx as 异常类型

,zqsjf as 折前设计费

,zqgc as 折前工程

from

DM_YJ_YC_1

 WHERE YEAR ='${year(time)}' 

 ${if(ny='1','and MONTH+0 ='+month(time),'and MONTH+0 <='+month(time))} 

 and yclx=N'工程退单' and kjwd=N'年') a

GROUP BY 分部简称,分部编码,年) g

on a.分部编码=g.分部编码  and a.[年]=g.[年]

ORDER BY a.[排序]+0

FineReport 用户52076492 发布于 2022-10-10 17:00 (编辑于 2022-10-10 17:01)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
free_zzLv6中级互助
发布于2022-10-10 17:15

你ny那个下拉框名称是不是ny

最佳回答
0
用户k6280494Lv6专家互助
发布于2022-10-10 17:18

这sql

  • 3关注人数
  • 283浏览人数
  • 最后回答于:2022-10-10 17:18
    请选择关闭问题的原因
    确定 取消
    返回顶部