SSRS使用现有数据集计算人口和责任

问题描述

我在一个报告中有2个数据集,其中1个拥有总人口,第二个拥有评论。我需要在一个字段中做的是显示完成百分比。例如数据集1。[评论],其中状态=“未完成”,状态=“高风险” /数据集2. [人口],其中类型=“高风险”

人口数据示例:

  • NAME,风险等级
  • Client123,高风险
  • Client124,中等风险
  • Client125,高风险
  • Client126,高风险
  • Client127,高风险
  • Client128,高风险

查看数据示例

  • 客户名称,审核状态
  • Client123,不完整
  • Client124,已完成
  • Client125,完整
  • Client126,不完整
  • Client127,不完整
  • Client128,不完整

所以5个高风险人群,其中4个评论不完整= 80%违约

我需要尝试用一种表达方式来做到这一点,为了我的一生,我一直在努力!也许是星期五的大脑!?

任何帮助表示赞赏。

解决方法

检查以下屏幕截图和步骤,以获得所需的输出

Sample OutputSample Output


Expression Detailsenter image description here


Row Group Details - 1enter image description here


Row Group Details - 2enter image description here


DataSet1
def convertFnltt(url,items,item_names,params): 
  
  formatted_url = url + '?' + '&'.join(["{}={}".format(k,v) for k,v in params.items()])

  print(formatted_url)
  http = urllib3.PoolManager(ca_certs=certifi.where())
  resp = http.request('POST',formatted_url)
  print(resp)
  print('1')
  json_dict = json.load(resp) <--here!!
  print('2')
  data = []
  #if self.get_status(json_dict['status']):
  print(json_dict['status'])
  if json_dict['status']=='000':
   for line in json_dict['list']:
     data.append([])
     for itm in items:
      if itm in line.keys(): 
        data[-1].append(line[itm]) 
      else: 
        data[-1].append('')
  else:
    return json_dict['status']  
  
  df = pd.DataFrame(data)  
  df.columns = item_names     
  return df #df.to_excel('data.xlsx')


1
Traceback (most recent call last):
  File "main.py",line 106,in <module>
    print(get_fnlttMultiAcnt(crtfc_key,get_corpcode(crtfc_key),bsns_year,reprt_code))
  File "main.py",line 103,in get_fnlttMultiAcnt
    return convertFnltt(url,params)
  File "main.py",line 61,in convertFnltt
    json_dict = json.load(resp)
  File "/usr/lib/python3.8/json/__init__.py",line 293,in load
    return loads(fp.read(),File "/usr/lib/python3.8/json/__init__.py",line 357,in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.8/json/decoder.py",line 337,in decode
    obj,end = self.raw_decode(s,idx=_w(s,0).end())
  File "/usr/lib/python3.8/json/decoder.py",line 355,in raw_decode
    raise JSONDecodeError("Expecting value",s,err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

DataSet2
select 'Client123' as [NAME],'HIGH RISK' as [RISK LEVEL]
union all
select 'Client124' as [NAME],'MEDIUM RISK' as [RISK LEVEL]
union all
select 'Client125' as [NAME],'HIGH RISK' as [RISK LEVEL]
union all
select 'Client126' as [NAME],'HIGH RISK' as [RISK LEVEL]
union all
select 'Client127' as [NAME],'HIGH RISK' as [RISK LEVEL]
union all
select 'Client128' as [NAME],'HIGH RISK' as [RISK LEVEL]

本报告中使用的表达方式

select 'Client123' as [CLIENT NAME],'INCOMPLETE' as [REVIEW STATUS] union all select 'Client124' as [CLIENT NAME],'COMPLETE' as [REVIEW STATUS] union all select 'Client125' as [CLIENT NAME],'COMPLETE' as [REVIEW STATUS] union all select 'Client126' as [CLIENT NAME],'INCOMPLETE' as [REVIEW STATUS] union all select 'Client127' as [CLIENT NAME],'INCOMPLETE' as [REVIEW STATUS] union all select 'Client128' as [CLIENT NAME],'INCOMPLETE' as [REVIEW STATUS]

1. Lookup(Fields!NAME.Value,Fields!CLIENT_NAME.Value,Fields!REVIEW_STATUS.Value,"DataSet2")

2. count(Lookup(Fields!NAME.Value,"DataSet2"))

3. count(Lookup(Fields!NAME.Value,"DataSet2"))/Count(Fields!NAME.Value,"RISK_LEVEL")

我创建了两个样本报告。我提到了4. Count(Fields!NAME.Value,"RISK_LEVEL2")的组属性。对于sample report1,组属性就像第一个一样。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...