implement cohorts to clickhouse/pg library and all relevant queries
This commit is contained in:
@@ -12,7 +12,7 @@ export async function getChannelMetrics(...args: [websiteId: string, filters?: Q
|
||||
|
||||
async function relationalQuery(websiteId: string, filters: QueryFilters) {
|
||||
const { rawQuery, parseFilters } = prisma;
|
||||
const { params, filterQuery, dateQuery } = await parseFilters(websiteId, filters);
|
||||
const { params, filterQuery, cohortQuery, dateQuery } = await parseFilters(websiteId, filters);
|
||||
|
||||
return rawQuery(
|
||||
`
|
||||
@@ -21,6 +21,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) {
|
||||
url_query as query,
|
||||
count(distinct session_id) as visitors
|
||||
from website_event
|
||||
${cohortQuery}
|
||||
where website_id = {{websiteId::uuid}}
|
||||
${filterQuery}
|
||||
${dateQuery}
|
||||
@@ -36,7 +37,7 @@ async function clickhouseQuery(
|
||||
filters: QueryFilters,
|
||||
): Promise<{ x: string; y: number }[]> {
|
||||
const { rawQuery, parseFilters } = clickhouse;
|
||||
const { params, filterQuery, dateQuery } = await parseFilters(websiteId, filters);
|
||||
const { params, filterQuery, cohortQuery, dateQuery } = await parseFilters(websiteId, filters);
|
||||
|
||||
const sql = `
|
||||
select
|
||||
@@ -44,6 +45,7 @@ async function clickhouseQuery(
|
||||
url_query as query,
|
||||
uniq(session_id) as visitors
|
||||
from website_event
|
||||
${cohortQuery}
|
||||
where website_id = {websiteId:UUID}
|
||||
${filterQuery}
|
||||
${dateQuery}
|
||||
|
||||
Reference in New Issue
Block a user