アウトラインから次元を削除します。また、この呼出しでは、アウトラインの再構築時にデータを保持しておく、削除対象の次元メンバーも指定します。
構文
ESS_FUNC_M
EssOtlDeleteDimension
(
hOutline, hMember, pszDataMbr
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
hMember |
ESS_HMEMBER_T |
削除するメンバーのハンドル。 |
pszDataMbr |
ESS_STR_T |
アウトラインの再構築時に保存するデータが含まれた次元メンバーの名前。このフィールドがESS_NULLの場合は、次元が使用されます。 |
備考
次元およびその子孫のすべての共有メンバーが削除されます。
次元のすべてのメンバーが削除されます。
次元を削減するには、この関数、またはEssOtlDeleteMember()を呼び出します。EssOtlDeleteDimension()では、データベースが再構築されたときにデータ値が別の次元で使用される削除された次元メンバーを選択できるという利点があります。EssOtlDeleteMember()を使用する場合、削除された次元の最上位メンバー(次元)のデータ値が使用されます。
pszDataMbrフィールドを有効にするには、fKeepTransフラグをESS_TRUEに設定したEssOtlOpenOutline()を使用して、アウトラインを開いておく必要があります。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次の値が戻されます:
OTLAPI_ERR_ADDDELETEDIMDYNAMICCALC
OTLAPI_ERR_NOTIMEDIM
例
#include <essapi.h>
#include <essotl.h>
ESS_STS_T sts = 0;
ESS_OBJDEF_T Object;
ESS_HOUTLINE_T hOutline;
ESS_HMEMBER_T hMemberScenario;
ESS_APPNAME_T szAppName;
ESS_DBNAME_T szDbName;
ESS_OBJNAME_T szFileName;
memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
strcpy(szAppName, "Sample");
strcpy(szDbName, "Basic");
strcpy(szFileName, "Basic");
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;
sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE,
ESS_TRUE, &hOutline);
if (!sts)
{
sts = EssOtlFindMember(hOutline, "Scenario",
&hMemberScenario);
}
if (!sts && hMemberScenario)
{
sts = EssOtlDeleteDimension(hOutline,
hMemberScenario, "Actual");
}
関連トピック