How do I prepare CloudKit data for Swift Charts?

I have created a simple app where a user is tracking their mood. A simple click of the button inserts the necessary data to a CloudKit database. So I consider each record as a 'transactional' record.

I am able to successfully query the data and present in a list view. I am able to sort and incorporate simple predicates.

I am now at a point in my development that I would like to add a pie chart based on the users data and I am not sure how to roll-up the data / group by the data / aggregate the data [I am not sure what the correct terminology is within Swift]

The pie chart would show the various moods that the exists in the CloudKit database and the slices would be sized based on the count of each mood.

Any guidance that you can provide would be greatly helpful!

Replies

My solution for now is to create a second table that holds the mood value and the count.

When a user tracks their mood, I will make 1 insert into the transactional/detail record type and then update the count in the 1 record in the second table.

The pie chart is sourced from the new table and the list view displays data from the transactional table

This seems to work for me.

If anyone has a better way to do this, I am open to suggestions.