我想将表格模型中的度量记录为 KPI,并将值存储在 SQL Server 的表中。
我已经创建了一个从我的 SQL Server 实例到我的 SSAS 实例的链接服务器。我已经编写了一个存储过程来通过 执行 DAX 代码OPENQUERY
,目的是将它们存储在临时表中,然后再将它们加载到 KPI 表中。我正在使用临时表,因为我正在查询多个表格模型。
当我尝试使用OPENQUERY
输出中的值更新临时表时出现问题。我的OPENQUERY
输出当前在 CTE 中,我希望对临时表进行简单的连接,但由于 DAX 查询的输出返回 中的每个列名[ ]
,当我尝试连接其中一OPENQUERY
列时,我收到错误“无效的列名称...”。
例如
UPDATE temp
SET temp.[Current Contract Count] = cte.[Contract Count]
FROM #ServiceZoneKPIs AS temp
INNER JOIN tabular_cte AS cte
ON cte.[Copy of Service Zone Code] = temp.[ServiceZoneAlternateKey]
发生错误是因为 OPENQEURY 输出中不存在“服务区副本”;输出列名称为 [服务区副本]。
我很可能在这里错过了一个简单的技巧?
如何将OPENQUERY
返回表格模型数据的输出连接到我的 T-SQL 临时表?
如果列名有方括号,则需要对它们进行转义。如果你使用 function ,你可以看到如何
QUOTENAME()
。注意额外的右括号。您应该尝试为包含方括号的列名称添加一对额外的右方括号和一个额外的右方括号。
假设您的问题是
tabular_cte
的列: