The CCL for the Portfolio Valuation sample project created in the Studio Visual editor is shown here, with line breaks added for readability.
CREATE INPUT WINDOW PriceFeed
SCHEMA ( Id integer , Symbol string , Price float , Shares integer , TradeTime date )
PRIMARY KEY ( Id) ;
/**@SIMPLEQUERY=AGGREGATE*/
CREATE OUTPUT WINDOW VWAP PRIMARY KEY DEDUCED AS
SELECT
PriceFeed.Symbol Symbol ,
PriceFeed.Price LastPrice ,
( sum ( ( PriceFeed.Price * CAST ( FLOAT , PriceFeed.Shares ) ) ) /
CAST ( float , sum ( PriceFeed.Shares ) ) ) VWAP ,
PriceFeed.TradeTime LastTime
FROM PriceFeed
GROUP BY PriceFeed.Symbol ;
CREATE INPUT WINDOW Positions
SCHEMA ( BookId string , Symbol string , SharesHeld integer )
PRIMARY KEY ( BookId, Symbol) ;
/**@SIMPLEQUERY=JOIN*/
CREATE OUTPUT WINDOW IndividualPositions
SCHEMA ( BookId string , Symbol string , CurrentPosition float , AveragePosition float )
PRIMARY KEY ( BookId, Symbol)
AS
SELECT
Positions.BookId BookId ,
Positions.Symbol Symbol ,
( VWAP.LastPrice * CAST ( float , Positions.SharesHeld ) ) CurrentPosition ,
( VWAP.VWAP * CAST ( float , Positions.SharesHeld ) ) AveragePosition
FROM Positions , VWAP
WHERE Positions.Symbol = VWAP.Symbol;
/**@SIMPLEQUERY=AGGREGATE*/
CREATE OUTPUT WINDOW ValueByBook PRIMARY KEY DEDUCED AS
SELECT
IndividualPositions.BookId BookId ,
sum ( IndividualPositions.CurrentPosition ) CurrentPosition ,
sum ( IndividualPositions.AveragePosition ) AveragePosition
FROM IndividualPositions GROUP BY IndividualPositions.BookId ;