Я немного борюсь с аннотацией @AnalyticsDetails.resultValueSource
. В чем именно смысл этой аннотации? Документ Документация SAP гласит:
При выполнении запроса строка данных отображается только для признака c, если для этого признака имеются опубликованные значения c ,
CUBE Все значения, доступные в представлении fromclause.
DIMENSION Все значения, доступные в измерении.
Я попытался построить следующий запрос:
Basi c Представление для основных данных:
@VDM.viewType: #BASIC
@Analytics.dataCategory: #DIMENSION
@ObjectModel.representativeKey: 'carrid'
@AbapCatalog.sqlViewName: 'zairline_v'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Airlines'
define view zairline as select from scarr {
key carrid,
carrname
} where carrid = 'LH'
Составное представление:
VDM.viewType: #COMPOSITE
@Analytics.dataCategory: #CUBE
@AbapCatalog.sqlViewName: 'zcube_fbook'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Cube flight booking'
define view zcube_flights as select from sflight
association to zairline as _airline on sflight.carrid = _airline.carrid {
@ObjectModel.foreignKey.association: '_airline'
key carrid,
key connid,
key fldate,
_airline
}
Представление потребления:
@VDM.viewType: #CONSUMPTION
@Analytics.query
@AbapCatalog.sqlViewName: 'zquery_fbook'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Query flight bookings'
define view zquery_flight_booking as select from zcube_flights{
@AnalyticsDetails.query.axis: #ROWS
@AnalyticsDetails.resultValueSource: #DIMENSION
key carrid,
key connid,
key fldate
}
Но запрос показывает рейсы для каждой авиакомпании (NetWeaver Release 7.51). В соответствии с документом SAP, я ожидаю, что он должен просто показывать рейсы авиакомпании "LH".
Мой вопрос: в чем смысл этой аннотации, когда она не ограничивает строки, показанные в запросе должным образом?