如何从mdx查询中检索PARENT_UNIQUE_NAME和HIERARCHY_UNIQUE_NAME

时间:2018-11-13 22:53:34

标签: mdx azure-analysis-services adomd.net

我正在执行一个查询,该查询为我提供了给定零售类别的月,美元金额和交易计数以及一些我拥有的零售数据的位置。

这是查询,我使用Excel和SQL Profiler进行了检索:

SELECT {
    [Measures].[Dollar Amount],
    [Measures].[Transaction Count]
 } 
 DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME 
 ON COLUMNS , 
 NON EMPTY 
    Hierarchize({DrilldownLevel({[Retail Sales Date].[Month].[All]},,,INCLUDE_CALC_MEMBERS)}) 
 DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME 
 ON ROWS  
 FROM [Retail Sales Cube] 
 WHERE ([Retail Category].[Retail Category].[All],[Geography].[Retail Sales Location].[Geography].&[3000]) 
 CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS

我正在使用点网核心的adomd版本来获取值,并使用了Unsupported.Microsoft.AnalysisServices.AdomdClientNetCore程序包,该程序包似乎没有实现CellSet。

因此,为了检索数据,我执行以下C#代码:

using (var cn = new AdomdConnection("Data Source=myservername;Catalog=MyCube"))
{
    cn.Open();
    using (var cmd = cn.CreateCommand())
    {

        cmd.CommandText =
@" SELECT {
[Measures].[Dollar Amount],
[Measures].[Transaction Count]
}
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON 0 , 
NON EMPTY Hierarchize({ DrilldownLevel({[Retail Sales Date].[Month].[All]
},,,INCLUDE_CALC_MEMBERS)}) 
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON 1
FROM[Retail Sales Cube]
WHERE([Retail Category].[Retail Category].[All], [Geography].[Retail Sales Location].[Geography].&[3000])
CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS";

        using (var dr = cmd.ExecuteReader())
        {

            while (dr.Read())
            {

                var fieldCount = dr.FieldCount;
                for (var i = 0; i < fieldCount; i++)
                {
                    var name = dr.GetName(i);
                    var dataTypeName = dr.GetDataTypeName(i);
                    Debug.WriteLine("{0}:{1}:{2}", dr[i], dataTypeName, name);
                }
                Debug.WriteLine(Convert.ToString(dr[0]));
            }
            dr.Close();
        }
    }
    cn.Close();
}

我可以成功检索数据,但无法访问PARENT_UNIQUE_NAME或HIERARCHY_UNIQUE_NAME维度属性。

如何检索PARENT_UNIQUE_NAME和HIERARCHY_UNIQUE_NAME属性?

0 个答案:

没有答案