I want to put an index on my rollup pre-aggregation cube js table:
preAggregations: {
projectDate: {
type: `rollup`,
measureReferences: [count, amount],
dimensionReferences: [state, Projects.slug],
timeDimensionReference: confirmedAt,
granularity: `day`,
refreshKey: {
every: '1 day'
},
indexes: {
main: {
columns: [state]
}
}
},
}
However, the cube does not compile and I get the following error:
Error: Compile errors:
ShopperOrders.js:84
columns: [state]
^
ReferenceError: state is not defined
at ShopperOrders.js:84:21
at Script.runInContext (vm.js:127:20)
at Script.runInNewContext (vm.js:133:17)
at Object.runInNewContext (vm.js:299:38)
at DataSchemaCompiler.compileFile
My state
dimension is well defined, and the preaggregation works when I remove the index. Here is the schema:
cube(`ShopperOrders`, {
sql: `SELECT * FROM shopper_orders`,
joins: {
ShopperOrderLines: {
sql: `${CUBE}.id = ${ShopperOrderLines}.order_id`,
relationship: `hasMany`
}
},
measures: {
count: {
type: `count`
},
amount: {
sql: `amount`,
type: `sum`
},
},
dimensions: {
id: {
sql: `id`,
type: `number`,
primaryKey: true
},
state: {
sql: `state`,
type: `string`
},
confirmedAt: {
sql: `confirmed_at`,
type: `time`
}
},
preAggregations: {
projectDate: {
type: `rollup`,
measureReferences: [count, amount],
dimensionReferences: [state, Projects.slug],
timeDimensionReference: confirmedAt,
granularity: `day`,
refreshKey: {
every: '1 day'
},
index: {
main: {
columns: [state]
}
}
},
}
});
Do you know what could I've mis-declared or omitted?
I used the example given in the doc: https://cube.dev/docs/pre-aggregations#indexes
Could you please update version and try again? I'm almost sure you are using an old version of cube.js
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.