创建一个新的FileMaker布局显示基于一个领域唯一的记录,并为每个

创建一个新的FileMaker布局显示基于一个领域唯一的记录,并为每个

问题描述:

计数我有一个这样的表:创建一个新的FileMaker布局显示基于一个领域唯一的记录,并为每个

应用程序,程序,UsedObject

它可以有数据是这样的:

A,P1,ZZ
A,P1,BB
A,P2,CC
B,F1,KK

我想创建一拉YOUT显示:

应用,程序
A的#,2
B,1个

点是计数不同的程序。

对于我的生活,我不能做出的FileMaker这项工作。我创建了一个汇总字段来计算各组后复位程序,但因为它没有消除重复的程序,我得到:

A,3
B,1

任何帮助非常赞赏。

+0

什么用途的MS-ACCESS标签在这里供应?根本没有看到与Access相关的问题。 – 2009-07-02 19:19:07

+0

好点。这个问题始于将数据库从MS-Access转换为FileMaker,但我将其缩减为我提出的忘记删除标记的具体问题。它现在消失了。 – TheArtTrooper 2009-07-03 07:23:23

因为我也产生这种形式的数据,我采用的解决办法是填补的FileMaker两个表。一个提供摘要视图,另一个提供详细视图。

我觉得你的问题是下到dupliate记录和不足的关键。

创建一个名为“App_Prog”的文本字段。在选项框中将其设置为自动进入计算,取消选中“不要更换...”选项,并使用以下计算:

Application & "_" & Program 

现在创建一个自连接使用App_Prog作为表并将其称为“MatchingApps”。

现在,创建(如果你不alread有一个)一个唯一的序列号字段,“计数器”说,并确保你在每个记录中输入一个值。 (找到所有,在字段中单击,并使用序列号选项in'Replace字段内容...')

现在添加一个新的计算领域 - Is_Duplicate有以下钙...

If (Counter = MatchingApps::Counter; "Master Record" ; "Duplicate") 

最后,找到所有内容,单击'应用程序字段,然后使用'替换字段内容...'进行计算,以强制'App_Prog'的自动输入计算结果提供一个值。

这是哪里得到你的?您现在应该有一组标记为“主记录”或“重复”的记录。查找“主记录”,然后可以执行摘要(按应用程序)对不同的应用程序对进行计数。

+0

我同意,为了报告的目的,仅使用应用程序和程序不是唯一的识别行。另一个程序会生成进入FileMaker的数据,因此我可以更容易地填充第二个表,其中App和Prog为此布局的目的而唯一标识了一行。 – TheArtTrooper 2009-07-07 20:20:34

如果您使用自定义功能(你需要的FileMaker Pro高级),我会做这样的:

添加RemoveDuplicates功能发现here(这是一个递归函数,它接受一个字符串列表并返回唯一值列表)。

在关系图中,添加表的另一个发生并添加应用程序=应用程序的关系。

在表中的计算看起来像这样创建一个计算的字段:

ValueCount(RemoveDuplicates(List(TABLE2::Program))) 

你会发现,每个记录将包含给定的应用程序不同的数量。从这里显示每个应用程序的摘要应该是相对微不足道的。

我认为要做到这一点的最好办法是创建一个单独的应用程序表。所以当你给出的数据,这将有两个记录,一个为A和一个B.

所以,加上一个应用程序表和您现有的表,我会打电话的对象,创建基于ApplicationName作为匹配字段,从应用程序到对象的关系(具有称为ObjectsParent的表格事件)。在应用程序和程序两者作为匹配字段的情况下,在对象和自身之间创建自连接关系。我将调用“表格事件”ObjectParent和其他ObjectsChildren之一。确保对象中的主键字段设置为自动输入序列号或其他方法以确保唯一性。我会打这个ID。

所以,你的关系图有三个表出现:

应用::应用程序了= ObjectsParent ::应用

ObjectsParent ::应用= ObjectsChildren ::应用,ObjectsParent ::程序= ObjectsChildren ::计划

现在创建在对象的计算字段,和从ObjectsParent的上下文计算,给它下面的公式:

AppCount =计数(ObjectsChildren :: ID)

在应用创建一个计算字段和从用来将它与下式涉及ObjectsParent表发生的上下文中计算:

AppCount = ObjectsParent :: AppCount

在对象计数字段对于具有相同应用程序的每个对象将具有相同的值,因此,从哪一个获取此数据并不重要。

如果你现在在列表视图中查看应用程序中的数据,您可以将应用程序::应用程序和应用程序::在布局AppCount领域,你应该得到你所要求的东西。

创建汇总字段为: cntApplicaiton =计数应用

的通过进入定义字段为此,创建一个名为cntApplication字段中,键入总结。在选项对话框中,使摘要字段成为应用程序的计数器

现在创建一个带有小键盘部分和无人的新布局。该小结应按应用程序排序。将应用程序和cntApplication字段放置在subsummary中。如果你进入浏览模式并按应用排序,你应该得到你想要的数据。

您还可以创建一个计算字段公式 GetSummary(cntApplication申请) 这将允许您使用的应用程序的总数在记录