Как удалить предложение CubeJS default Group By из запроса
CubeJS по умолчанию применяет предложение Group By, когда мы запускаем в нем любой запрос.
Например, ниже приведен мой запрос JSON для куба сотрудника:
{
"dimensions": [
"Employee.date",
"Employee.state",
"Employee.id"
],
"timeDimensions": [],
"filters": []
}
Когда я запускаю выше JSON-запроса в CubeJS, он будет работать ниже SQL:
SELECT
`employee`.updatedAt `employee__date`,
`employee`.state `employee__state`,
`employee`.EmpId `employee__id`
FROM
DEMO.Employee AS `employee`
GROUP BY
1,
2,
3
ORDER BY
1 ASC
LIMIT
10000
Для справки ниже приведен куб сотрудников, который у меня есть:
cube(`Employee`, {
sql: `SELECT * FROM DEMO.Employee `,
title: `Employee`,
measures: {
count: {
type: `count`
}
},
dimensions: {
id: {
sql: `EmpId`,
type: `string`
},
date: {
sql: `updatedAt`,
type: `time`
},
state: {
sql: `state`,
type: `string`
}
}
});
Какой будет запрос JSON, который мне нужно будет создать, если я ожидаю ниже SQL:
SELECT
`employee`.updatedAt `employee__date`,
`employee`.state `employee__state`,
`employee`.EmpId `employee__id`
FROM
DEMO.Employee AS `employee`
WHERE
`employee`.updatedAt ` BETWEEN '2019-01-01' AND '2019-05-01'
LIMIT
10000
ИЛИ
Есть ли способ удалить предложение Group By из SQL-запроса, созданного самим CubeJS.
1 ответ
Решение
Есть ungrouped
query свойство с 0.10.62 для этого: https://cube.dev/docs/query-format. В вашем случае можно использовать следующий запрос:
{
"dimensions": [
"Employee.date",
"Employee.state",
"Employee.id"
],
"timeDimensions": [],
"filters": [],
"ungrouped": true
}