【发布时间】:2017-09-17 20:55:24
【问题描述】:
我的“客户”表上有一个门户。相关表包含随时间更新的调查结果。对于客户和类别的每个组合(相关表中的一个字段),我只希望门户显示最近收集的行。
Here is a link to a trivial example that illustrates the issue I'm trying to address。我在这个例子中有两个表(与 ClientID 相关):
- 客户
- 表 1 获取汇总方法
地点:
- MaxDate 是一个汇总字段 = 日期的最大值
- MaxDateGroup 是一个计算字段 = GetSummary ( MaxDate ; 客户IDCategory)
- ShowInPortal = If (Date = MaxDateGroup ; 1 ; 0 )
- 表格按 ClientIDCategory 排序
我很困惑的问题 1: .
ShowInPortal 在上表的第 3 行 (PKTable01 = 5)、第 4 行 (PKTable01 = 6) 和第 6 行 (PKTable01 = 4) 中应等于 1。我不确定为什么 FM 将 1Red 和 1Blue 解释为同一类别,或者我只是误解了 GetSummary 函数的作用。
地点:
- 门户记录按 ClientIDCategory 排序
我被难住的问题 2:
我只希望 ShowInPortal 值等于 1 的行应该出现在门户中。我尝试使用以下公式创建门户过滤器:表 1 Get Summary Method::ShowInPortal = 1。但是,使用该过滤器会从门户中删除所有行。
非常感谢任何帮助。
【问题讨论】:
-
您是否尝试将 MaxDateGroup 放入门户以查看每行的计算结果?
-
嗨@AndreasT,我能够解决问题 1。用于 MaxDateGroup 的计算返回的是数字而不是文本。这导致它忽略了“红色”和“蓝色”。但是仍然无法弄清楚问题2。我将 MaxDateGroup 添加到门户中,但我没有看到它对问题 2 有什么帮助。
-
嗯,在我看来,问题在于门户过滤器在排序之前运行,这意味着不会有任何记录显示 ShowInPortal 字段评估为真,因为门户需要为开始工作。所以 ShowInPortal 在这种情况下总是假的。
标签: filemaker