MDXクエリにLINQを使用する方法はありますか?
質問
誰もがLINQ to MDXの計画があるかどうかを知っています。
現在、MDX / CUBESでLINQを使用する方法はありますか
解決
答えは間違いなくわかっています。 Entity Framework koolaidを飲めば、(linq2sqlの代わりに)EFを今すぐ使い始めると、OLAP / BIが無料で手に入ると信じられます。
他のヒント
はい、LINQ to MDX / SSASを使用できるようになりました。これを有効にするには、Microsoft ADO.NET Entity Framework 4.0-4.1(EF)とSSAS Entity Framework Provider(tm)が必要です。 SSAS Entity Framework ProviderはLINQをMDXに変換します。 EF + SSAS Entity Framework Providerを使用すると、SQL Server Analysis Services(SSAS)OLAPキューブを照会できます。
ここで、SSAS Entity Framework Providerをチェックアウトして要求できます。 http://www.agiledesignllc.com/Products.htm
開示:私はこの製品を提供する会社であるAgile Design LLCで働いています。
MDXの重要なサブセットでさえサポートする前に、LINQにいくつかの新しい演算子とメソッドを追加する必要があると思います:
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
所属していません StackOverflow