Есть ли способ использовать LINQ для запросов MDX?

StackOverflow https://stackoverflow.com/questions/1002496

Вопрос

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

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

Это было полезно?

Решение

Ответ определенно известен. Если вы пьете koolaid Entity Framework, вы будете верить, что если вы начнете использовать EF сейчас (вместо linq2sql), вы получите 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 позволит вам запрашивать кубы OLAP служб аналитики SQL Server (SSAS).

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top