この関数は、データ・ポイント操作を開始します。
構文
ESSG_FUNC_M
EssGBeginDataPoint
(
hGrid, ulRow, ulColumn, ulOptions
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hGrid |
ESSG_HGRID_T |
EssGNewGridから戻されるハンドル。 |
ulRow |
ESSG_ULONG_T |
データ・ポイントの行。 |
ulColumn |
ESSG_ULONG_T |
データ・ポイントの列。 |
ulOptions |
ESSG_ULONG_T |
今後使用するために予約されています。ゼロに設定する必要があります。 |
備考
この関数では、グリッドの特定のセルに対応するメンバーの組合せを表すメンバーが各次元から1つずつ戻されます。
呼出し元はEssGSendRowsに、Essbaseがセルのメンバーを判断できる十分な情報を渡します。ulRowパラメータおよびすべての列以下のすべての行を渡すのが最も安全です。ulRowおよびulColumnの値はゼロベースです。
戻り値
正常終了の場合は、ESSG_STS_NOERRが戻されます。
アクセス
なし。
例
ESSG_VOID_T ESSG_BeginDataPoint(ESSG_HGRID_T hGrid)
{
ESSG_FUNC_M sts = ESS_STS_NOERR;
ESSG_ULONG_T ulRow;
ESSG_ULONG_T ulColumn;
ESSG_ULONG_T ulOptions;
ESSG_PPDATA_T ppDataIn;
ESSG_RANGE_T rDataRangeIn;
ESSG_ULONG_T ulMembers, i;
ESSG_PSTR_T ppszMembers;
ESSG_USHORT_T usState;
/* connect the grid to a database on the server */
sts = EssGConnect(hGrid, "Rainbow", "Admin",
"Password", "Demo", "Basic", ESSG_CONNECT_DEFAULT);
if(sts == 0)
{
ppDataIn = BuildTable(&rDataRangeIn);
ulRow = 1;
ulColumn = 2;
ulOptions = 0;
/* start the data point operation */
sts = EssGBeginDataPoint(hGrid, ulRow, ulColumn, ulOptions);
}
if(sts == 0)
{
/* send the entire grid to define the query */
sts = EssGSendRows(hGrid, &rDataRangeIn,
ppDataIn);
}
if(sts == 0)
{
/* perform the data point operation */
sts = EssGPerformOperation(hGrid, 0);
/* free the built data */
FreeTwoDim(ppDataIn, rDataRangeIn.ulNumRows);
}
if(sts == 0)
{
/* determine the results of the data point operation */
sts = EssGGetDataPointResults(hGrid, &ulMembers,
&ppszMembers, &usState);
}
if(!sts && ulMembers)
{
printf("\nMembers:");
for (i = 0; i<ulMembers; i++)
printf("\n\t%s", ppszMembers[i]);
EssGFreeMemberInfo(hGrid, ulMembers, ppszMembers);
}
if(!sts)
{
EssGEndOperation(hGrid, 0);
EssGDisconnect(hGrid, 0);
}
}
関連トピック