我遇到了这个问题,我不知道如何按照需要的方式组合数据。我有这些事件/对象,在这种情况下我将其简化了:
{
"event_date": "20190629",
"event_timestamp": "1561798855250014",
"event_name": "t_user_basic_info",
"event_params": [
{
"key": "treatmentId",
"value": {
"string_value": "bcb63d89-3c75-4ded-8a50-a67d2b114013"
}
}
]
}
{
"event_date": "20190630",
"event_timestamp": "1561913172451013",
"event_name": "t_previousDrug",
"event_params": [
{
"key": "treatmentId",
"value": {
"string_value": "bcb63d89-3c75-4ded-8a50-a67d2b114013"
}
},
{
"key": "drugId",
"value": {
"string_value": "d_rosiglitazone"
}
},
{
"key": "admin_type",
"value": {
"string_value": "oral"
}
}
]
}
{
"event_date": "20190626",
"event_timestamp": "1561557720302012",
"event_name": "t_newDrug",
"event_params": [
{
"key": "treatment_id",
"value": {
"string_value": "bcb63d89-3c75-4ded-8a50-a67d2b114013"
}
},
{
"key": "admin_type",
"value": {
"string_value": "injectable"
}
},
{
"key": "drug_id",
"value": {
"string_value": "d_insulin_glargine_u_300"
}
}
]
}
我的情况是这样的: 我有一个每次处理都会触发一次的事件(事件名称=“ t_user_basic_info”)。触发治疗事件后,将触发两个事件x次数(事件名称=“ t_previousDrug”和“ t_newDrug”)。 “ t_previousDrug”和“ t_newDrug”事件旨在表示为用户使用过的先前药物的列表,以及用户将使用的新药物的列表。通过查看event_param“ treatmentId”
,可以查看它们与哪种治疗有关。在Google Data Studio中,我需要显示用户从口服药物(事件“ t_previousDrug”,其中“ admin_type”为口服)到可注射药物(事件“ t_newDrug”,其中“ admin_type”为可注射)进行了多少次治疗) 我还需要显示用户从口服改为注射剂的情况,其中注射剂是胰岛素和GLP-1。为了确定是否是胰岛素,我可以查看一下drug_id字符串值。如果以“ d_insulin”开头,则为胰岛素。 如果是GLP-1,则名称为“ d_liraglutid”或“ d_semaglutid”
我已经尝试通过使用JOINS,WHERE子句解决此问题,但是由于某些原因,我无法解决这个问题。
我希望有人可以帮助我生成此SQL查询,以便将其导出到Data Studio中,并可能使用一些过滤器来获取特定的“胰岛素”和“ GLP-1”数据。