ssas - 相当于LIKE的MDX

标签 ssas mdx

SQL中,我喜欢使用类似这样的方式在列中搜索特定字符串的匹配项:

SELECT t.attributeNAME
FROM myTable t
WHERE t.attributeNAME LIKE '%searchString%'

我可能想在临时表中使用它,然后在较长脚本的后续部分中使用结果,如下所示:
--find the keys
SELECT t.attributeKEY
INTO #Temp
FROM myTable t
WHERE t.attributeNAMELIKE '%searchString%'

--use the keys
SELECT SUM(f.measure)
FROM myFacts f
   INNER JOIN #Temp t ON
    f.attributeKEY = t.attributeKEY

--use the keys again
SELECT SUM(F.measure)
FROM myOtherFacts F
   INNER JOIN #Temp t ON
    F.attributeKEY = t.attributeKEY
MDX中有与此等效的东西吗?如果我有一个想法,我可以从某个层次结构中选择什么项目,就可以以某种方式使用searchString过滤到一组特定的项目?

编辑

正如Marc Polizzi回答所指出的那样,在这种情况下instr似乎非常有用,我可以执行以下操作:
CREATE SET [xCube].[Set_Names] AS
    {FILTER(
    [xDimension].[xHierarchy].[xLevel].Members,
    (InStr(1, [xDimension].[xHierarchy].CurrentMember.NAME, "WIL") <> 0) 
        )
        }

GO

SELECT  
    NON EMPTY 
           [Set_Names]
    ON ROWS,
    NON EMPTY
           [Measures].[x] 
    ON COLUMNS
FROM [xCube]  

GO

SELECT  
    NON EMPTY 
           [Set_Names]
    ON ROWS,
    NON EMPTY
           [Measures].[y] 
    ON COLUMNS
FROM [xCube]  

GO

SELECT  
     NON EMPTY 
           [Set_Names]
     ON ROWS,
     NON EMPTY
           [Measures].[z] 
     ON COLUMNS
FROM [xCube]  

最佳答案

即使不支持通配符,您也可以使用Instr函数。

关于ssas - 相当于LIKE的MDX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18351612/

相关文章:

mysql - 我们可以直接在 MySql 数据库上执行 Mdx 查询吗?如果可以,怎么办?

SSAS Cube 重新处理失败 - 如果我再试一次就会成功

azure - AZURE 中的多维立方体

sql-server - 在 sql 代理中处理 SSAS 表格模型失败

SSAS 多维动态维安全 MDX

subquery - 在 MDX 中联合两个子选择

sql - 在 mdx 查询中查找每个后续财务周期年份的数据

ssas - 慢速 SSAS 累积和计算度量

sql-server - 获取自定义时间段的第一个或最后一个值

ssas - 从SSAS中选择​​维度表