这似乎很容易解决,但我无法做到,也没有找到类似的问题。
我正在使用 openquery 从表格多维数据集中选择数据。我想按年份过滤。
DECLARE @GetData VARCHAR(MAX)
,@Customer AS varchar(4) = '6300'
SELECT @GetData =
'SELECT *
FROM OpenQuery (ASLS,
''
EVALUATE
SUMMARIZECOLUMNS
(
Customer[CustomerNbr],
FILTER(VALUES(Date[Year]), Date[Year] = 2019),
FILTER(VALUES(Customer[CustomerNbr]), Customer[CustomerNbr] = "' + @Customer +'"),
"TotalSales", [TotalSales]
)'')'
EXEC(@GetData)
这是我得到的错误:
链接服务器"ASLS"的 OLE DB 提供程序"MSOLAP"返回消息"查询 (6, 19( "[Year]"的语法不正确。
它仅适用于客户筛选器,但不适用于年份。最终,我会想要很多年,我相信这是用"AND"完成的,但我甚至可以得到一年。
我试图用单引号和双引号、括号等来结束这一年,但仍然在寻找答案或下一步的研究。
蒂亚
编辑:我的错误可能是由于名为"Date"的表造成的,这是一个函数的名称?
我想我找到了。我添加了'Date'[YearValue]
(注意表名周围的单引号(。这似乎有效。我认为这是因为这是一个保留词。
编辑:在打开查询示例中,语法为
''''Date''''[YearValue],