repeater - COGNOS 报告使用中继器时性能不佳
问题描述
我有一个包含 3 列的表:CLIENT_ID、STORE_ID 和 MADE_PURCHASE。基本上,我试图获取客户购买的 CLIENT_ID 列表和 STORE_ID 数组。对于以下数据,这是预期的结果:
数据:
CLIENT_ID | STORE_ID | MADE_PURCHASE |
---|---|---|
1 | 一个 | 是的 |
1 | b | 是的 |
1 | C | 是的 |
2 | 一个 | 是的 |
2 | b | 不 |
2 | C | 是的 |
3 | 一个 | 不 |
3 | b | 不 |
3 | C | 不 |
预期结果:
CLIENT_ID | STORE_ID |
---|---|
1 | a,b,c |
2 | a, c |
通过创建一个查询来过滤掉 MADE_PURCHASE = 'NO' 的行,我能够达到预期的结果。然后我在报告中创建了一个列表。第一列是 CLIENT_ID,然后我在包含 STORE_ID 的第二列中插入一个转发器。
问题是转发器将我的报告减慢了大约等于检索到的 CLIENT_ID 数量的因子。例如,如果我在没有中继器的情况下运行查询,并且它在 10 秒内返回 10 个唯一的 CLIENT_ID,那么添加中继器会将报告速度减慢到 100 秒。一旦我在提示中输入了超过几百个 CLIENT_ID,报告需要几个小时才能运行。
我尝试编辑列表和转发器之间的主从关系,没有太大的变化。任何人都知道如何让它运行得更快?
PS 我知道所需的输出格式并不理想,但目标是模仿基于 excel 使用 STORE_ID 连接的遗留报告,因此,客户希望保留原始格式。
解决方案
您可以尝试使用“Cache Relaional Detail Query”编辑带有参数 (DQM) Master-Detail Optimization 的 FM - Governors。
推荐阅读
- delphi - Label.Align = alTop 时 TLabel.AutoSize 不起作用
- python - 无法在 LogisticRegressionCV 对象中获取 L1 比率
- ios - 保存前替换结构中的值
- java - 如何使用 Jackson 将未分区的日期时间反序列化为分区
- r - 从数据框中创建一个向量,该向量根据 r 中的另一列来区分值
- css - 同时反应动画 div 和子元素
- bash - 如何在每个日志行上运行 jq 并将其拖尾?
- python - 将html表转换为带有beautifulsoup或lxml的dict?
- python - 将字符串变量导出为 xml 文件
- ssh - 在 SSH 尝试链接 RemoteForward 中给出的套接字之前运行命令(创建目录)