@@ -1732,12 +1732,10 @@ export class BaseQuery {
17321732 this . queryCache
17331733 ) ;
17341734 const cubeNamesForMeasure = R . pipe (
1735- R . map ( mem => this . cubeEvaluator . parsePathAnyType ( mem ) [ 0 ] ) ,
1736- // Filtering views, because collectMemberNamesFor can return both view.dim and cube.dim
1737- R . filter ( cubeName => {
1738- const cubeDef = this . cubeEvaluator . getCubeDefinition ( cubeName ) ;
1739- return ! cubeDef . isView ;
1740- } ) ,
1735+ R . map ( member => this . memberInstanceByPath ( member ) ) ,
1736+ // collectMemberNamesFor can return both view.dim and cube.dim
1737+ R . filter ( member => member . definition ( ) . ownedByCube ) ,
1738+ R . map ( member => member . cube ( ) ) ,
17411739 // Single member expression can reference multiple dimensions from same cube
17421740 R . uniq ,
17431741 ) (
@@ -2056,12 +2054,8 @@ export class BaseQuery {
20562054 ) ;
20572055
20582056 const nonViewMembers = memberNamesForMeasure
2059- . filter ( mem => {
2060- const cubeName = this . cubeEvaluator . parsePathAnyType ( mem ) [ 0 ] ;
2061- const cubeDef = this . cubeEvaluator . getCubeDefinition ( cubeName ) ;
2062- return ! cubeDef . isView ;
2063- } )
2064- . map ( m => this . memberInstanceByPath ( m ) ) ;
2057+ . map ( member => this . memberInstanceByPath ( member ) )
2058+ . filter ( member => member . definition ( ) . ownedByCube ) ;
20652059
20662060 const cubes = this . collectFrom ( nonViewMembers , this . collectCubeNamesFor . bind ( this ) , 'collectCubeNamesFor' ) ;
20672061 const joinHints = this . collectFrom ( nonViewMembers , this . collectJoinHintsFor . bind ( this ) , 'collectJoinHintsFor' ) ;
0 commit comments