0

我正在构建一个用于报告销售数据的应用程序。核心数据结构如下

Product <---->> SaleAggregate
Customer <---->> SaleAggregate

SaleAggregate 是某个月每个客户每个产品的总销售额。该实体具有“月”、“年”和“金额”属性。

我正在尝试以如下表格格式显示它(每个客户都有一个单独的表格)

+---------+---------+---------+---------+---------+
| Product | 01/2011 | 02/2011 | 03/2011 | 04/2011 |
+---------+---------+---------+---------+---------+
| Gizmo   |      40 |     120 |      83 |      48 |
| Widget  |      92 |      38 |      37 |      36 |
| Thingy  |      12 |      84 |      29 |      40 |
+---------+---------+---------+---------+---------+

每个客户都可以记录任意数量的产品的销售,我需要检索所有这些销售,以某种方式按产品对它们进行分组,然后显示每个 SaleAggregate 'Amount' 以及相应的月/年。

我可以使用 NSPredicate 轻松检索 Customer 的所有 SaleAggregates,以及使用 NSPredicate 和 出售给客户的所有唯一产品@distinctUnionOfObjects,但我不太确定从这里去哪里。

该表是使用 UICollectionView 实现的,但我不太确定将正确的值放在正确的单元格中的逻辑应该是什么cellForItemAtIndexPath。是否只是在一个查询中检索每个 SaleAggregate ,然后使用 NSPredicate 过滤数组以获得我要显示的每个单元格的正确月份/年份?我认为必须有一种更聪明的方法来做到这一点。

谢谢!

4

1 回答 1

0

这个怎么样?

使用谓词和过滤您可以获得特定客户的以下信息吗?

ProductArray:
SalesAggreateDateArray:

if section ==0 
      row==0 --> "Product"
      rest of the rows --> [ProductArray objectAtIndex:indexPath.row]
else if row ==0
      sections --> [SalesAggregateDateArray objectAtIndex:indexPath.section]
else
       each cell --> [SalesAggregateAmountObjects filter with 
                                 date= date at row 0, indexPath.section and 
                                 product = product at section 0, indexPath.row]
于 2013-02-25T18:19:54.697 回答