2017-03-16 1 views
1

net。私がしようとしているのは、Visual Studio 2015でado.netを使用してMDXクエリを実行することです。私はそれがどのように動作するかを知ることができます。Visual StudioでMDXクエリを実行する方法vb.netでado.netを使用する

それ以外では、私はado.netがMDXクエリを実行する唯一の方法であるコミュニティとは別に尋ねる必要があります。私は何か他のものを使ってそれを行うことができません。私はvb.netをサーバーサイド言語私に役立つリンクやコードを教えてください。

答えて

2

インターネットには、thisまたはthatのような多くの情報があります。

のC#:

using (AdomdConnection conn = new AdomdConnection("Data Source=tfsDB;Initial Catalog=Tfs_Analysis; MDX Compatibility=1;")) 
{ 
    conn.Open(); 
    var mdxQuery = new StringBuilder(); 
    mdxQuery.Append("WITH "); 
    mdxQuery.Append("SET [Last 4 weeks] as Filter([Date].[Date].[Date], [Date].[Date].CurrentMember.Member_Value < Now() AND [Date].[Date].CurrentMember.Member_Value >= DateAdd(\"d\", - 28, Now())) "); 
    mdxQuery.Append("SELECT NON EMPTY Hierarchize(AddCalculatedMembers({DrilldownLevel({[Work Item].[System_WorkItemType].[All]})})) DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS , NON EMPTY {Hierarchize(Distinct({[Last 4 weeks]}))} DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON ROWS "); 
    mdxQuery.Append("FROM (SELECT ({[Work Item].[System_WorkItemType].&[Requirement], [Work Item].[System_WorkItemType].&[Change Request]}) "); 
    mdxQuery.Append("ON COLUMNS FROM [Team System]) WHERE ([Work Item].[Iteration Hierarchy].[All],[Test Case].[System_WorkItemType].[All],[Work Item].[System_State].&[Active],[Measures].[Work Item Count]) "); 

    using (AdomdCommand cmd = new AdomdCommand(mdxQuery.ToString(), conn)) 
    { 
     DataSet ds = new DataSet(); 
     ds.EnforceConstraints = false; 
     ds.Tables.Add(); 
     DataTable dt = ds.Tables[0]; 
     dt.Load(cmd.ExecuteReader()); 
     return dt; 
    } 
} 

私は、サーバー側でのLinuxを使用することを好むので、あなたは、Python経由のキューブへのアクセスについてmy blog postをチェックすることができます。

のPython:

>>> import olap.xmla.xmla as xmla 
No handlers could be found for logger "olap.xmla.requests_kerberosauth" 
>>> provider = xmla.XMLAProvider() 
>>> connect = provider.connect(location='http://localhost/OLAP/msmdpump.dll',username='test_user',password='1234567') 
>>> source = connect.getOLAPSource() 
>>> print source.getCatalog("TestCube") 
XMLACatalog:(row){ 
CATALOG_NAME = "TestCube" 
DESCRIPTION = "" 
DATE_MODIFIED = "2016-08-07T09:47:05.026667" 
} 
+1

彼らはあまりにも長いですが、私は、部分的に、感謝のコードを追加しました! –

+0

はい、私は自分の答えに戦争と平和をどのようにコピーすることができるのだろうと思っているリンクでこの問題を自分自身で打ちましたが、あなたのやっていることはそれにもかかわらずあなたの答えを改善したと思います。ありがとう。 – Bugs

関連する問題