我想使用LEFT()从SSRS中的报告中过滤一些产品代码,我遇到了问题。
这是我的一个问题:
FROM(SELECT({[Plan type]。[Plan type]。& [100000002]})ON COLUMNS从(……)
请走出SQL世界,这是MDX。
LEFT([Product].[Product code],3) 没有意义。你可能需要的是什么 LEFT([Product].[Product code].&[foo].membername, 3) 。但您必须迭代产品代码才能过滤那些符合条件的产品代码。
LEFT([Product].[Product code],3)
LEFT([Product].[Product code].&[foo].membername, 3)
而不是 LEFT([Product].[Product code],3) <> 'ALE' ,下面的语法正确。
LEFT([Product].[Product code],3) <> 'ALE'
FILTER([Product].[Product code].MEMBERS AS prd, LEFT(prd.currentmember.name,3) <> 'ALE' )
您可以在尾随中容纳其他条件 AND 条款。
AND
......FROM(SELECT FILTER([Product].[Product code].MEMBERS AS prd, LEFT(prd.currentmember.name,3) <> 'ALE' AND LEFT(prd.currentmember.name,3) <> 'DBN' AND LEFT(prd.currentmember.name,3) <> 'DBR' ) ON 0 FROM [Sales]
当然,有更多更好的方法来处理这种类型的要求,但这只是为了在这种情况下如何正确地进行过滤。