Great blog ckattookaran!
Clarke - To confirm your inquiry, yes, there is no "natural" way of aggregating or consolidating commentary/annotation. Commentary for Views such as Annotation, Assumptions, etc. are ultimately stored in a table called DataAttachment. Annotations are also stored in the Stage tables if they were uploaded through the Import process. The Data Attachment table is not part of the Financial Analytic tables or Consolidation tables which are called the Data Record XXXX tables. If the commentary was stored in the Financial Analytic tables with all the Data Records, consolidation times would increase exponentially and, in some cases, may not even consolidate depending on the commentary volume. Each data record consumes 3,200 bytes of RAM for memory. If commentary was added to the data record, each data record could potentially double or triple the RAM usage. Therefore, the commentary is stored in the Text field in the Data Attachment table. This table does not have the same financial logic or hierarchical parent/child relationship of data records as the Data Record tables require. Hence why there is no aggregation or consolidation capabilities in the Data Attachment table. Alternate solutions such as the blog from ckattookaran is a great solution. Also, using the similar UD8 technique, which uses the api.Data.GetDataCellEx Function to pull the comments from the Data Attachment table could work as well Dim cellEx As String = api.Data.GetDataCellEx("U8#None").DataCellAnnotation
As stated in ckattookaran blog, please be aware of performance when aggregating commentary. As out of box functionality, OneStream dynamically aggregates base level data to display at the Parent level members for the Account related Dimensions. The aggregation process can be memory intensive depending on the Cube View, Dimension hierarchies and number of members, and data volumes. When Cube View renders, each Data Unit data record with its data cell values will be captured in the memory cache to execute the aggregation. In most instances, a single data cell value will require less memory for storage/transport/processing/retrieval than commentary. Commentary tends to be multiple sentences.