CubeJs 预聚合索引编译失败
CubeJs Preaggregation index fail to compile
我想在我的汇总预聚合多维数据集 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]
}
}
},
}
但是,立方体没有编译,我收到以下错误:
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
我的 state
维度定义明确,当我删除索引时预聚合起作用。这是架构:
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]
}
}
},
}
});
你知道我可能误报或遗漏了什么吗?
我使用了文档中给出的示例:
https://cube.dev/docs/pre-aggregations#indexes
能否请您更新版本再试一次?
我几乎可以肯定您使用的是 cube.js
的旧版本
我想在我的汇总预聚合多维数据集 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]
}
}
},
}
但是,立方体没有编译,我收到以下错误:
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
我的 state
维度定义明确,当我删除索引时预聚合起作用。这是架构:
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]
}
}
},
}
});
你知道我可能误报或遗漏了什么吗?
我使用了文档中给出的示例: https://cube.dev/docs/pre-aggregations#indexes
能否请您更新版本再试一次? 我几乎可以肯定您使用的是 cube.js
的旧版本