为了提出这个问题,我试图简化。希望这将是可以理解的。
基本上,我有一个具有时间维度、另一个维度和层次维度的事实表。出于问题的目的,我们假设分层维度是邮政编码和州。另一个维度只是描述性的。我们称它为“客户” 假设有 50 个客户。
我需要找到一组状态,其中至少有一个邮政编码,其中每个客户在时间维度上每天至少有一个事实行。如果一个邮政编码只有 49 个客户,我不在乎。如果 50 个客户中的一个在邮政编码中甚至 1 天都没有价值,我不在乎。最后,我还需要知道哪些邮政编码符合该州的选择条件。请注意,并不要求每个邮政编码都具有完整的数据集 - 只需至少一个邮政编码即可。
我不介意进行多个查询并在客户端进行一些处理。这是一个每天只需要生成一次并且可以缓存的数据集。我什至没有看到一种特别干净的方法来处理多个查询,而不是简单的蛮力迭代,并且数据集中有很多“邮政编码”(实际上不是邮政编码,但是那里在层次结构的较低级别大约有 100,000 个条目,而在顶层有数百个条目,因此 zipcode->state 是一个合理的类比)