SQL到Spotfire查询筛选问题(具有多个表)

SQL到Spotfire查询筛选问题(具有多个表),sql,sql-server,dashboard,calculated-columns,spotfire,Sql,Sql Server,Dashboard,Calculated Columns,Spotfire,我试图计算进出成本中心的时间。当成本中心借出一名员工一小时时,它是+1;当他们借出一名员工一小时时,它是-1 现在我使用的查询是 select columns from dbo.table where EmployeeCostCenter <> ProjectCostCenter 选择 柱 从dbo.table 员工成本中心项目成本中心在哪里 因此,当ProjectCostCenter=ID\u CostCenter时,它返回+小时数量。 然后我更新ID\u CostC

我试图计算进出成本中心的时间。当成本中心借出一名员工一小时时,它是+1;当他们借出一名员工一小时时,它是-1

现在我使用的查询是

select
     columns
from dbo.table
where EmployeeCostCenter <> ProjectCostCenter
选择
柱
从dbo.table
员工成本中心项目成本中心在哪里
因此,当ProjectCostCenter=ID\u CostCenter时,它返回+小时数量。 然后我更新ID\u CostCenter=EmployeeCostCenter,然后更新其中ID\u CostCenter=EmployeeCostCenter-HoursQuantity

那很好。问题是,当我将其导入Spotfire时,即使在添加了表关系之后,我也无法对主表进行筛选。有人能解释为什么吗

如果需要的话,我可以上传实际的代码,但是我使用了4个查询,其中几个查询相当长。我认为,主表、用于计算传入小时数的临时表和用于计算传出小时数的临时表是唯一涉及到这个问题的表。

(移动到答案以避免冗长的讨论)

基本上,数据关系用于填充不同数据集之间的过滤/标记。就像在RDBMS中一样,关系是Spotfire用作数据集之间的链接。本质上,它与您连接的一列或多列相同。因此,您希望在表a中筛选并在表B中限制结果集的任何列(或反之亦然)必须是一个关系

列匹配不是相关列,但与每个可视化中的聚合、类别轴等相关联。因此,如果TableA有“amount”,TableB有“amount debit”,并且您希望在表达式中同时使用这两个参数,比如说
Sum([TableA].[amount],[TableB].[amount debit])
,则需要对它们进行匹配,以避免产生错误的结果


最后,一旦您设置了关系,您应该检查过滤器面板以设置您希望过滤的工作方式。您可以同时包含、排除或忽略这些行。解释。

您的关系和列匹配是如何设置的?我怀疑需要查看列匹配,因为您可能正在筛选一个不是关系列的列。我应该只有一个关系列,还是应该对所有可能的匹配进行配对?我只想能够按月/年进行过滤。现在,主表中的数据发生了更改,但辅助表中的数据没有更改。我将发布关系的图片您可能只需要一个关系列,但列匹配也必须关联,以便Spotfire知道如何处理您的筛选。因此我可以有一个关系列,只要其余列正确配对,它就应该工作?另外,谢谢你总是回答我的问题