进销存计算。有一个表a。字段为时间,品规,数量,销售客户,购入客户.

rt. 

购入数量=sum(数量) where 购入客户=''

销售数量=sum(数量) where 销售客户= ''

当筛选字段为时间,品规,客户名称。

若我筛选某一个月份和品规,以及客户的时候。要出对应的时间。品规,客户。进货,出库数量,但是在并不是这个客户在这个月,会有对应的品规的进货和出库的数量的。那么我应该怎么做能让筛选客户时为此客户的进货或者销售为空的时候让其进货或者出库数量变为0??求助


FineReport Cunfan 发布于 2019-8-19 10:05
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
3
凌建Lv7高级互助
发布于2019-8-19 10:11

因为没查询查来这个客户的数据,所以没有显示对不对,你要么把所有客户拉出来在关联你表a的数据,要么分俩数据集,然后公式里控制为空的时候=0,过滤里写好就行

  • Cunfan Cunfan(提问者) 关键是为空的时候,它的所有字段都是空,假如我2019年7月,帆软公司,纸张这个是有卖出的,但是我想查询,帆软公司 2019年7月,进货纸张的时候是查不到数据的、同时年月和公司也是空的,也就是说现在限制条件不能算有。
    2019-08-19 10:23 
  • 凌建 凌建 回复 Cunfan(提问者) 我看懂你的意思了,你要么这样子。分两个数据集,第一个数据集不受条件约束控制,第二个作为查询,就是说查询的时候不管怎么选日期,他名称是一直在的,然后公式里判断,IF(LEN($$$)=0,0,$$$),如果查询为空显示0,但是这样子你得过滤好条件。让两个数据集名称对应
    2019-08-19 10:29 
  • Cunfan Cunfan(提问者) 回复 凌建 有点没明白什么意思。。。
    2019-08-19 10:34 
  • 凌建 凌建 回复 Cunfan(提问者) 第一个数据集把所有公司名称列出来(无过滤条件),第二个数据集有过滤,第二个数据集公司名称=第一个数据集(过滤里面设置好),你查询的时候,条件控制的是第二个数据集,但是你查询那个日期里没有这个的时候,用上面的哪个公司,为空=0,就可以实现你说的那样了
    2019-08-19 10:41 
  • Cunfan Cunfan(提问者) 回复 凌建 我先试试
    2019-08-19 10:48 
最佳回答
0
zhou_jhLv3初级互助
发布于2019-8-19 10:07

case when 进货 is null then sum()else 0 end

  • Cunfan Cunfan(提问者) 关键是为空的时候,它的所有字段都是空,假如我2019年7月,帆软公司,纸张这个是有卖出的,但是我想查询,帆软公司 2019年7月,进货纸张的时候是查不到数据的、同时年月和公司也是空的,也就是说现在限制条件不能算有。
    2019-08-19 10:23 
最佳回答
0
wd210010Lv7高级互助
发布于2019-8-19 10:14

ds1.:    

select  distinct 客户 from a


ds2.

select 月份,品规,客户,sum(数量) from a

where 1=1

${if(len(月份 ) == 0,"","and yuefen = ('" + 月份 + "')")}

${if(len(品规 ) == 0,"","and pg = ('" + 品规 + "')")}

${if(len(客户 ) == 0,"","and kh = ('" + 客户 + "')")}



单元格过滤ds2.客户=ds1.客户

  • Cunfan Cunfan(提问者) 关键是为空的时候,它的所有字段都是空,假如我2019年7月,帆软公司,纸张这个是有卖出的,但是我想查询,帆软公司 2019年7月,进货纸张的时候是查不到数据的、同时年月和公司也是空的,也就是说现在限制条件不能算有。
    2019-08-19 10:23 
  • wd210010 wd210010 回复 Cunfan(提问者) 年月公司 参数传到下面的单元格上面去 空显示0 用条件属性 len(a1)==0 设置新值 0 a1为你需要显示0的单元格
    2019-08-19 10:42 
  • 4关注人数
  • 451浏览人数
  • 最后回答于:2019-8-19 10:14
    请选择关闭问题的原因
    确定 取消
    返回顶部