代码之家  ›  专栏  ›  技术社区  ›  Stuart

有什么方法可以将LINQ用于MDX查询吗?

  •  7
  • Stuart  · 技术社区  · 16 年前

    目前是否存在将LINQ与MDX/CUBE一起使用的方法

    3 回复  |  直到 16 年前
        1
  •  4
  •   Frank Schwieterman    16 年前

    答案当然是否定的。如果你喝了Entity Framework koolad,你会相信,如果你现在开始使用EF(而不是linq2sql),你将来会免费获得OLAP/BI。

        2
  •  0
  •   Joel Mueller    16 年前

    我认为他们必须在LINQ中添加更多的新运算符和方法,才能支持MDX的一个重要子集:

    WITH SET c0 AS 'HIERARCHIZE({[Measures].[Internet Sales Amount], [Measures].[Internet Gross Profit], [Measures].[Reseller Gross Profit], [Measures].[Average Sales Amount], [Measures].[Gross Profit]})'
    SET r0_1 AS 'HIERARCHIZE(Filter(Filter({[Customer].[Customer Geography].[All Customers], AddCalculatedMembers(DESCENDANTS([Customer].[Customer Geography].[All Customers], 1))}, NOT [Customer].[Customer Geography].currentmember.parent is [Customer].[Customer Geography].[All Customers] OR vba!ucase(left([Customer].[Customer Geography].currentmember.properties("CAPTION"),1)) = "u"), NOT [Customer].[Customer Geography].currentmember.level is [Customer].[Customer Geography].[Country] OR vba!ucase(left([Customer].[Customer Geography].currentmember.properties("CAPTION"),1)) = "u"))'
    SELECT NON EMPTY {[c0]}
    ON COLUMNS, NON EMPTY VISUALTOTALS(FILTER({[r0_1]}
    ,vba!ucase(right([Customer].[Customer Geography].currentmember.properties("CAPTION"),8)) = "SUBTOTAL" OR [Measures].[Internet Gross Profit] > 80000)
    , "* SUBTOTAL") ON ROWS FROM [Adventure Works]
    CELL PROPERTIES VALUE, FORMATTED_VALUE, FORMAT_STRING, FORE_COLOR, BACK_COLOR
    
        3
  •  0
  •   Wesam    8 年前

    nugget tutorial 也很有帮助