I would use ExecuteSQL for the slice data and the slice names.
That way you get your data no matter where you place the chart object.
Slice data could be as simple as ExecuteSQL ( "SELECT count( status_field ) FROM the_table GROUP BY ( status_field )";"";"")
Would have to know more about your schema ( tables and fields) to provide a detailed answer no matter which method you want to use to populate the chart data.
I have a summary field that counts already but that only gives me a count of every record. I want to be able distinguish these records by current year then by the current month
you might want to post the file
The SQL I get but I guess I am having trouble with sorting the data by year, then by month