Есть ли способ использовать LINQ для запросов MDX? - PullRequest
7 голосов
/ 16 июня 2009

Кто-нибудь знает, есть ли планы по LINQ to MDX.

Существует ли какой-либо способ использования LINQ с MDX / CUBES

Ответы [ 4 ]

5 голосов
/ 28 августа 2011

Да, теперь можно использовать 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 позволит вам запрашивать кубы OLAP служб аналитики SQL Server (SSAS).

Вы можете оформить заказ и запросить SSAS Entity Framework Provider здесь: http://www.agiledesignllc.com/Products.htm

Раскрытие информации: я работаю в Agile Design LLC - компании, которая предлагает этот продукт.

4 голосов
/ 17 июня 2009

Ответ определенно нет. Если вы пьете koolaid Entity Framework, вы будете верить, что если вы начнете использовать EF сейчас (вместо linq2sql), вы получите OLAP / BI бесплатно в будущем.

0 голосов
/ 15 мая 2018

Да, теперь есть благодаря этому слепку"PercolatorAnalysisServices" Мэтта Холлмарка, вы можете использовать запросы linq для извлечения данных из куба (аналитические службы), а также у вас есть возможность выполнить полный MDX запрос инкод, посмотрите также этот учебник , очень полезный

0 голосов
/ 17 июня 2009

Я думаю, что им придется добавить в 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
...