Ниже приведен пример использования операции GetCube для получения таблицы с данными куба. В запросе передается моникёр открытого экземпляра куба, отметка по измерениям и параметры расположения измерений. В ответе приходит таблица с данными. Для таблицы имеется информация о количестве строк и столбцов, а также значения ячеек. Ячейки представлены в виде одномерного массива, расположенные слева направо, сверху вниз.
{
"GetCube" :
{
"tCube" :
{
"id" : "S1!M!S!C1"
},
"tArg" :
{
"data" :
{
"cells" : "true",
"emptyCells" : "true",
"selection" :
{
"it" :
[
{
"k" : "5858",
"id" : "FACTS",
"sel" :
{
"elSelectOp" : "Select",
"elRelative" : "All"
}
},
{
"k" : "112",
"id" : "CALENDAR",
"sel" :
{
"elSelectOp" : "Unknown",
"elRelative" : "Unknown",
"setCalendarPeriod" :
{
"active" : "true",
"start" : "2000-01-01",
"end" : "2000-12-01",
"levels" :
{
"it" : "Quarter"
},
"append" : "false",
"findOutActive" : "false"
}
}
},
{
"k" : "116",
"id" : "DIM_1",
"sel" :
{
"elSelectOp" : "Select",
"elRelative" : "All"
}
},
{
"k" : "991",
"id" : "DIM_2",
"sel" :
{
"elSelectOp" : "Select",
"elRelative" : "All"
}
}
]
},
"dims" :
{
"its" :
{
"it" :
[
{
"k" : "5858",
"id" : "FACTS",
"position" : "Fixed"
},
{
"k" : "112",
"id" : "CALENDAR",
"position" : "Left"
},
{
"k" : "116",
"id" : "DIM_1",
"position" : "Top"
},
{
"k" : "991", "id" : "DIM_2", "position" : "Top" } ] } } } } } }
{
"GetCubeResult" :
{
"id" :
{
"id" : "S1!M!S!C1"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@isShortcut" : "0",
"@isLink" : "0",
"i" : "STD_CUBE",
"n" : "Куб",
"k" : "5857",
"c" : "1281",
"p" : "5845",
"h" : "0"
}
},
"dirty" : "0",
"supportsRub" : "0"
},
"data" :
{
"@rowCount" : "4",
"@columnCount" : "12",
"cells" :
{
"c" :
[
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "1.000000",
"@dt" : "3"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "5.000000",
"@dt" : "3"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "2.000000",
"@dt" : "3"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "6.000000",
"@dt" : "3"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "3.000000",
"@dt" : "3"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "7.000000",
"@dt" : "3"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "4.000000",
"@dt" : "3"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "",
"@dt" : "0"
},
{
"@v" : "8.000000",
"@dt" : "3"
},
{
"@v" : "",
"@dt" : "0"
}
]
}
}
}
}
public static GetCubeResult GetCubeDataTable(CubeId moniker, Listsels, PvtDims dimsPosition) { var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций //Параметры выполнения операции var tGet = new GetCube() {
tArg = new GetCubeArg()
{
data = new GetCubeDataArg()
{
selection = sels.ToArray(),
dims = dimsPosition,
cells = true, emptyCells = true } }, tCube = moniker }; //Получение таблицы с данными var result = somClient.GetCube(tGet); return result; }
См. также:
SOAP