MDX 查询通配符搜索
MDX Query Wild Card Search
任何人都可以帮助我了解如何在 MDX
查询中执行通配符搜索吗?
例如我在SSRS
report.Default 中有一个名为TestName 的参数,该参数的值是[Dim Test Master].[Test Name].[ALL]
。因此,当搜索测试名称时,例如 quli%
它应该在结果中 return 定性测试。
我试过使用 INSTR
但它要求一些默认值。在我的例子中,我无法预测我的测试名称是什么,所以如果我给出一个错误的默认值,我将不会得到预期的结果。这是我的插入查询
SELECT
Filter(
[Dim Test Master].[Test Name].[Test Name].ALLMEMBERS
,Instr([Dim Test Master].[Test Name].currentmember.Properties( 'Member_Caption' ), @TName ) > 0
当报告打开时,默认情况下应显示所有测试名称,当我搜索一个特定搜索的测试时,必须显示。
如果您有 SSAS Multidimensional,我建议您部署 ASSP 并使用这些字符串搜索通配符函数之一。我认为这比尝试使用 InStr 简单得多:
http://asstoredprocedures.codeplex.com/wikipage?title=StringFilters&referringTitle=Home
任何人都可以帮助我了解如何在 MDX
查询中执行通配符搜索吗?
例如我在SSRS
report.Default 中有一个名为TestName 的参数,该参数的值是[Dim Test Master].[Test Name].[ALL]
。因此,当搜索测试名称时,例如 quli%
它应该在结果中 return 定性测试。
我试过使用 INSTR
但它要求一些默认值。在我的例子中,我无法预测我的测试名称是什么,所以如果我给出一个错误的默认值,我将不会得到预期的结果。这是我的插入查询
SELECT
Filter(
[Dim Test Master].[Test Name].[Test Name].ALLMEMBERS
,Instr([Dim Test Master].[Test Name].currentmember.Properties( 'Member_Caption' ), @TName ) > 0
当报告打开时,默认情况下应显示所有测试名称,当我搜索一个特定搜索的测试时,必须显示。
如果您有 SSAS Multidimensional,我建议您部署 ASSP 并使用这些字符串搜索通配符函数之一。我认为这比尝试使用 InStr 简单得多: http://asstoredprocedures.codeplex.com/wikipage?title=StringFilters&referringTitle=Home