从另一个命名计算中引用命名计算

时间:2010-12-22 21:37:46

标签: sql-server-2005 tsql ssas

是否可以将命名计算中的行的值用作另一个命名计算的T-SQL的一部分?

我正在使用BIDS修改我拥有的SS 2005 SSAS多维数据集的数据源视图。我使用命名计算将AccountID与另一个表中的每一行相关联:

(SELECT c.ACCOUNTID FROM sysdba.CONTACT c WHERE c.CID ={current-table}.CID)

这些计算在几秒钟内完成。如果我有另一个命名计算嵌套该命令,它运行速度很慢,需要几分钟。一个例子是:

(SELECT a.TYPE FROM ACCOUNT a WHERE a.ACCOUNTID = (SELECT c.ACCOUNTID FROM sysdba.CONTACT c WHERE c.CID ={current-table}.CID))

是否有某种方法可以执行以下操作:

(SELECT a.TYPE FROM ACCOUNT a WHERE a.ACCOUNTID = {current-table}.AccountID)

显然,当我尝试它时,这不起作用。它告诉我这是一个无效的列ID。

1 个答案:

答案 0 :(得分:1)

试一试

SELECT a.TYPE 
FROM ACCOUNT a 
JOIN sysdba.CONTACT c ON a.ACCOUNTID = c.ACCOUNTID
WHERE c.CID ={current-table}.CID