Finance scenario
Capital markets workflow showing committee exposure reporting — pivots, weighted averages, and committee export
Your Role
You are preparing for a risk committee or internal exposure review.
import {AdaptableOptions} from '@adaptabletools/adaptable'; import {ExposureRow} from './rowData'; export const adaptableOptions: AdaptableOptions<ExposureRow> = { primaryKey: 'id', adaptableId: 'Showcase: Exposure by Sector', exportOptions: { appendFileTimestamp: true, exportDateFormat: 'yyyy-MM-dd', exportDataFormat: 'formattedValue', }, initialState: { Dashboard: { Tabs: [ { Name: 'Reporting', Toolbars: ['Layout', 'Export', 'GridFilter'], }, ], ModuleButtons: ['Layout', 'Export', 'CalculatedColumn', 'SettingsPanel'], }, StatusBar: { StatusBars: [ { Key: 'Center Panel', StatusBarPanels: ['Layout', 'Export'], }, ], }, Theme: {CurrentTheme: 'dark'}, NamedQuery: { NamedQueries: [ { Name: 'Material Exposure', BooleanExpression: '[weightPct] > 0.05 OR ABS([pnlPct]) > 0.03', }, ], }, Layout: { CurrentLayout: 'Sector × Region', Layouts: [ { Name: 'Positions', AutoSizeColumns: true, TableColumns: [ 'symbol', 'sector', 'region', 'book', 'marketValue', 'pnl', 'pnlPct', 'weightPct', 'varContribution', 'sector_market_value', 'rating', ], }, { Name: 'By Sector (grouped)', AutoSizeColumns: true, SuppressAggFuncInHeader: true, RowGroupedColumns: ['sector'], RowGroupValues: { RowGroupDefaultBehavior: 'expanded', }, ColumnPinning: {'ag-Grid-AutoColumn': 'left'}, TableAggregationColumns: [ {ColumnId: 'marketValue', AggFunc: 'sum'}, {ColumnId: 'pnl', AggFunc: 'sum'}, { ColumnId: 'pnlPct', AggFunc: { type: 'weightedAverage', weightedColumnId: 'marketValue', }, }, {ColumnId: 'varContribution', AggFunc: 'sum'}, {ColumnId: 'id', AggFunc: 'count'}, ], TableColumns: [ 'ag-Grid-AutoColumn', 'symbol', 'region', 'book', 'marketValue', 'pnl', 'pnlPct', 'weightPct', 'varContribution', 'sector_market_value', 'rating', ], }, { Name: 'Sector × Region', SuppressAggFuncInHeader: true, PivotGroupedColumns: ['sector'], PivotColumns: ['region'], PivotAggregationColumns: [ {ColumnId: 'marketValue', AggFunc: 'sum', Total: true}, {ColumnId: 'pnl', AggFunc: 'sum', Total: true}, {ColumnId: 'varContribution', AggFunc: 'sum', Total: true}, {ColumnId: 'id', AggFunc: 'count', Total: true}, ], }, { Name: 'By Book', SuppressAggFuncInHeader: true, PivotGroupedColumns: ['book'], PivotColumns: ['region'], PivotAggregationColumns: [ {ColumnId: 'marketValue', AggFunc: 'sum', Total: 'before'}, {ColumnId: 'pnl', AggFunc: 'sum', Total: true}, {ColumnId: 'weightPct', AggFunc: 'sum', Total: 'after'}, ], }, { Name: 'Material Names', AutoSizeColumns: true, TableColumns: [ 'symbol', 'sector', 'region', 'book', 'marketValue', 'pnl', 'pnlPct', 'weightPct', 'varContribution', ], GridFilter: { Expression: 'QUERY("Material Exposure")', }, }, ], }, CalculatedColumn: { CalculatedColumns: [ { FriendlyName: 'Sector Market Value', ColumnId: 'sector_market_value', Query: { AggregatedScalarExpression: 'SUM([marketValue], GROUP_BY([sector]))', }, CalculatedColumnSettings: { DataType: 'number', Filterable: true, Groupable: true, }, }, ], }, FormatColumn: { FormatColumns: [ { Name: 'format-negative-pnl', Scope: {ColumnIds: ['pnl', 'pnlPct']}, Rule: {BooleanExpression: '[pnl] < 0'}, Style: {ForeColor: '#ff6b6b'}, }, { Name: 'format-positive-pnl', Scope: {ColumnIds: ['pnl', 'pnlPct']}, Rule: {BooleanExpression: '[pnl] > 0'}, Style: {ForeColor: '#4ade80'}, }, { Name: 'format-high-var', Scope: {ColumnIds: ['varContribution']}, Rule: {BooleanExpression: '[varContribution] > 0.04'}, Style: { BackColor: 'var(--ab-color-palette-3)', ForeColor: 'var(--ab-color-palette-4)', }, }, { Name: 'format-market-value', Scope: { ColumnIds: ['marketValue', 'sector_market_value'], }, DisplayFormat: 'Million', }, { Name: 'format-pnl', Scope: {ColumnIds: ['pnl']}, DisplayFormat: 'Accounting', }, { Name: 'format-percentages', Scope: {ColumnIds: ['pnlPct', 'weightPct', 'varContribution']}, DisplayFormat: 'Percentage', }, ], }, Export: { CurrentReport: 'Committee Pack', CurrentFormat: 'Excel', Reports: [ { Name: 'Committee Pack', ReportColumnScope: 'ScopeColumns', ReportRowScope: 'AllRows', Scope: { ColumnIds: [ 'symbol', 'sector', 'region', 'book', 'marketValue', 'pnl', 'pnlPct', 'weightPct', 'varContribution', 'sector_market_value', 'rating', ], }, }, { Name: 'Material Exposure', ReportColumnScope: 'ScopeColumns', ReportRowScope: 'ExpressionRows', Scope: { ColumnIds: [ 'symbol', 'sector', 'region', 'book', 'marketValue', 'pnl', 'pnlPct', 'weightPct', 'varContribution', ], }, Query: { BooleanExpression: 'QUERY("Material Exposure")', }, }, ], }, }, };