问题描述
我在一个报告中有2个数据集,其中1个拥有总人口,第二个拥有评论。我需要在一个字段中做的是显示完成百分比。例如数据集1。[评论],其中状态=“未完成”,状态=“高风险” /数据集2. [人口],其中类型=“高风险”
人口数据示例:
- NAME,风险等级
- Client123,高风险
- Client124,中等风险
- Client125,高风险
- Client126,高风险
- Client127,高风险
- Client128,高风险
查看数据示例
- 客户名称,审核状态
- Client123,不完整
- Client124,已完成
- Client125,完整
- Client126,不完整
- Client127,不完整
- Client128,不完整
所以5个高风险人群,其中4个评论不完整= 80%违约
我需要尝试用一种表达方式来做到这一点,为了我的一生,我一直在努力!也许是星期五的大脑!?
任何帮助表示赞赏。
解决方法
检查以下屏幕截图和步骤,以获得所需的输出
Sample Output
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
,组属性就像第一个一样。