Hola buenas tardes compañeros, tengo un rato tratando de hacer (leyendo) esto pero sinceramente no sé cómo , pasa que construí una cds (todo bien hasta acá a pesar de ser la primera) y ahora me piden que de los resultados mostrados cuente mis clientes pero solo los que tengan un monto mayor a 1000 (por ejemplo) hay alguna forma de armar esta lógica usando AnalyticsDetails.query.formula, mi cds es una de consumo (Consumption) (tiene mas campos pero por practicidad solo agregue unos pocos
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Modelo ventas Sellout'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #L,
dataClass: #MIXED
}
@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION
@OData.publish: true
@Search.searchable: true
@Analytics.query: true
@Analytics.dataExtraction.enabled: true
define view entity Z_M_SELLOUT_VD
as select from Z_M_SELLOUT_VD_2
{
@Consumption.filter:{mandatory: true, selectionType: #INTERVAL, multipleSelections: false}
fkdat,
@Consumption.filter:{mandatory: false, multipleSelections: false}
@Consumption.filter.defaultValue : 'EC01'
bukrs,
kunag,
zmonto_netos,
zmonto_menge,
zsemana
}
¿a esta annotation podría agregarle una lógica parecida?
@AnalyticsDetails.query.formula : 'CASE WHEN $projection.relative_margin > 20 THEN revenue ELSE 0 END'
1 as revenue_for_margin_gt_20
O quizás algo así aunque por ahora no puedo probar por temas de ordenes que transporte que la libere y no peudo crear yo una
@DefaultAggregation: #COUNT_DISTINCT
count( distinct case when zmonto_netos > 0 then 1 end ) as newCampo,
@DefaultAggregation: #SUM
sum ( case when zmonto_netos > 0 then 1 else 0 end ) as newcampo2,
Alguien que ya tenga expertiz en el área que me oriente o si tiene un ejemplo que me proporcione que pueda analizar