我正在执行一个查询,该查询为我提供了给定零售类别的月,美元金额和交易计数以及一些我拥有的零售数据的位置。
这是查询,我使用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属性?