=load( local!departments: {"HR", "Marketing", "Sales", "IT"}, local!userValue, a!dashboardLayout( firstColumnContents: { a!sectionLayout( firstColumnContents: { a!columnChartField( label: "Spending by Category"& local!userValue, labelPosition: "ABOVE", categories: local!departments, series: { a!chartSeries(label: "Hardware", data: {10, 2000, 2000, 6000},links: apply(CSI_generateDynamicLinkForChartSeries(_,_),merge({1,2,3,4},{10, 2000, 2000, 6000}))), a!chartSeries(label: "Software", data: {10, 1000, 500, 1500},links: apply(CSI_generateDynamicLinkForChartSeries(_,_),merge({1,2,3,4},{10, 1000, 500, 1500}))), a!chartSeries(label: "Travel", data: {10, 3000, 4000, 10},links: apply(CSI_generateDynamicLinkForChartSeries(_,_),merge({1,2,3,4},{10, 3000, 4000, 10}))), a!chartSeries(label: "Recruiting", data: {1000, 10, 10, 10},links: apply(CSI_generateDynamicLinkForChartSeries(_,_),merge({1,2,3,4},{1000, 10, 10, 10}))), a!chartSeries(label: "Miscellaneous", data: {1500, 3000, 1500, 500},links: apply(CSI_generateDynamicLinkForChartSeries(_,_),merge({1,2,3,4},{1500, 3000, 1500, 500}))) }, xAxisTitle: "Department", yAxisTitle: "Total Purchase Requests", stacking: "NORMAL", showLegend: true, showdatalabels: false, showTooltips: true ) }, secondColumnContents: { } ) }, secondColumnContents: {} ) ) ---------------------------------------------------------- CSI_generateDynamicLinkForChartSeries if(or(rule!APN_isEmpty(ri!data),ri!data=0), {}, a!dynamicLink(value:ri!dynamicLinkValue,saveInto:local!userValue) ) where ri!dynamicLinkValue is {1,2,3,4} ridata is {10, 2000, 2000, 6000} for the first chart series