Lewati ke konten utama
Versi: 1.1.0

Vertical Variable

The View Vertical Variable API provides detailed information about a specific vertical variable from BPS (Badan Pusat Statistik) Indonesia. Vertical variables represent categorical dimensions or classification systems used to organize and break down statistical data into meaningful sub-categories. They provide the dimensional structure for cross-tabulation and disaggregation of statistical variables.

Common examples include geographic breakdowns (province, regency, urban/rural), demographic characteristics (age groups, gender, education level), and economic classifications (industry sectors, occupation types).

Parameters

ParameterTypeDescription
idintRequired: The unique numerical identifier of the vertical variable
domainStringRequired: The domain (region) code for the request
langDataLanguageOptional: Language preference (default: DataLanguage.id)

Examples

1. Basic Vertical Variable Retrieval

// Retrieve detailed information for a specific vertical variable
final vertVar = await StadataFlutter.instance.view.verticalVariable(
id: 7315,
domain: '0000',
lang: DataLanguage.id,
);

if (vertVar != null) {
print('Vertical Variable ID: ${vertVar.id}');
print('Title: ${vertVar.title}');
print('Item ID: ${vertVar.itemID}');

if (vertVar.groupID != null) {
print('Group ID: ${vertVar.groupID}');
print('Group Name: ${vertVar.groupName}');
}
} else {
print('Vertical variable not found');
}

2. Use Vertical Variable in Dynamic Table Query

// Get vertical variable details then use it to query dynamic data
final vertVar = await StadataFlutter.instance.view.verticalVariable(
id: 7315,
domain: '0000',
);

if (vertVar != null) {
print('Vertical Variable: ${vertVar.title}');
print('Group: ${vertVar.groupName ?? 'No group'}');

// Use in a dynamic table query to get disaggregated data
final tableData = await StadataFlutter.instance.view.dynamicTable(
variableID: 145,
domain: '0000',
verticalVarID: vertVar.id,
);

if (tableData != null) {
print('Table: ${tableData.title}');
}
}

3. Browse Vertical Variables for a Variable

// List all vertical variables associated with a statistical variable
final verticalVariables = await StadataFlutter.instance.list.verticalVariables(
domain: '0000',
variableID: 145,
);

print('Vertical variables for variable 145:');
for (final vv in verticalVariables.data) {
print('[${vv.id}] ${vv.title} (Item ID: ${vv.itemID})');

if (vv.groupName != null) {
print(' Group: ${vv.groupName}');
}
}

Error Handling

try {
final vertVar = await StadataFlutter.instance.view.verticalVariable(
id: 7315,
domain: '0000',
lang: DataLanguage.id,
);

if (vertVar != null) {
print('Vertical Variable: ${vertVar.title}');
} else {
print('Vertical variable not found');
}

} on VerticalVariableException catch (e) {
print('Vertical variable error: ${e.message}');

} on ApiException catch (e) {
print('API error: ${e.message}');

} on ApiKeyNotFoundException catch (e) {
print('Authentication required: ${e.message}');

} catch (e) {
print('Unexpected error: $e');
}

Properties (VerticalVariable)

PropertyTypeDescription
idintUnique identifier for the vertical variable (kode_ver_id in API)
titleStringDescriptive name of the vertical variable category (vervar in API)
itemIDintIdentifier for specific items within the variable structure (item_ver_id in API)
groupIDint?Optional identifier for hierarchical grouping (group_ver_id in API)
groupNameString?Optional name of the hierarchical group (name_group_ver_id in API)