簡體   English   中英

如何在vb.net中使用ado.net在Visual Studio 2015中執行MDX查詢

[英]How to execute a MDX Query in Visual studio 2015 using ado.net in vb.net

我想做的是在Visual Studio 2015中使用ado.net執行MDX查詢。有人可以參考我的鏈接以便我知道它是如何工作的。

除此之外,除了社區之外,我還需要詢問ado.net是執行MDX查詢的唯一方法,我不能使用其他方法來執行它。我使用vb.net作為服務器端語言。請讓我知道任何對我有幫助的鏈接或代碼。

有一個在互聯網很多信息,比如這個那個

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訪問多維數據集。

蟒蛇:

>>> 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"
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM