У меня есть запрос, который я получаю, который дает мне месяц, сумму в долларах и количество транзакций для данной розничной категории и местоположения для некоторых имеющихся у меня розничных данных.
Это запрос, который я использовал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 для dot net core для получения значений, используя пакет 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?