У меня есть проблема, когда я не знаю, как объединить данные так, как мне нужно. У меня есть эти события / объекты, которые я упростил для этого случая:
{
"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 и, возможно, использовать несколько фильтров для получения конкретных данных "Insulin" и "GLP-1".