I am starting with Aracade in dashboard and I have a table with data in column 1 with the sectionals and another column with marital status, as shown below:
| Dirección Seccional | Estado civil |
| MEDELLIN | CASADO |
| CAUCA | UNION_LIBRE |
| MAGDALENA MEDIO | CASADO |
| CUNDINAMARCA | SOLTERO |
| MEDELLIN | SEPARADO |
| MEDELLIN | CASADO |
| NARIÑO | CASADO |
| MEDELLIN | SOLTERO |
| ANTIOQUIA | SOLTERO |
| ANTIOQUIA | SOLTERO |
| MEDELLIN | CASADO |
| ANTIOQUIA | CASADO |
| MEDELLIN | CASADO |
| ANTIOQUIA | UNION_LIBRE |
| ANTIOQUIA | CASADO |
| MEDELLIN | SOLTERO |
| ANTIOQUIA | SOLTERO |
| MEDELLIN | SOLTERO |
| MEDELLIN | CASADO |
| ANTIOQUIA | SEPARADO |
| ANTIOQUIA | CASADO |
I need to create a new data expression to display the sections by marital status as columns that count the amount for each marital status, and it should look like this:
| SECCIONAL | CASADO | SEPARADO | SOLTERO | UNION_LIBRE | Total general |
| AMAZONAS | 1 | 1 | 4 | 6 | |
| ANTIOQUIA | 100 | 4 | 51 | 41 | |
| ARAUCA | 11 | 2 | 11 | 6 | |
| ATLANTICO | 54 | 7 | 29 | 23 | |
| BOGOTA | 215 | 40 | 147 | 82 | |
| BOLIVAR | 7 | 2 | 5 | 5 | |
| BOYACÁ | 88 | 24 | 55 | 30 | |
| CALDAS | |||||
| CALI | |||||
| CAQUETA | |||||
| CASANARE |
Could someone help me with this need? Or has someone already done a similar development to guide me?
To complete the above request, I have the following script, but I cannot get the counts.
I ask someone can help me, thank you.
var fs = FeatureSetByPortalItem(Portal('https://www.arcgis.com'),'xxxx',0,['*'],false);
var value_counts = {
"AMAZONAS": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"ANTIOQUIA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"ATLÁNTICO": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"ARAUCA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"BOGOTÁ D.C.": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"BOLÍVAR": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"BOYACÁ": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"CALDAS": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"CAQUETA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"CASANARE": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"CAUCA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"CESAR": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"CUNDINAMARCA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"CHOCÓ": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"CÓRDOBA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"HUILA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"GUAJIRA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"MAGDALENA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"META": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"NARIÑO": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"NORTE DE SANTANDER": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"PUTUMAYO": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"QUINDÍO": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"RISARALDA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"SAN ANDRÉS": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"SANTANDER": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"SUCRE": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"TOLIMA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"VALLE DEL CAUCA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"VAUPÉS": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0},
"VICHADA": {'CASADO': 0,'SEPARADO' : 0,'SOLTERO' : 0,'UNION_LIBRE' : 0}
};
for (var i in fs){
var split_array = Split(i['est_civil'], ',');
var choiceArray = [];
for (var index in split_array) push(choiceArray, split_array[index])
for(var i in choiceArray){
var value = choiceArray[i]
if(IsEmpty(value)) {continue}
if(i == [0]) value_counts[value]['CASADO'] = value_counts[value]['CASADO'] + 1
if(i == [1]) value_counts[value]['SEPARADO'] = value_counts[value]['SEPARADO'] + 1
if(i == [2]) value_counts[value]['SOLTERO'] = value_counts[value]['SOLTERO'] + 1
if(i == [3]) value_counts[value]['UNION_LIBRE'] = value_counts[value]['UNION_LIBRE'] + 1
}
}
var Dict = {
'fields': [
{ 'name': 'SECCIONAL', 'type': 'esriFieldTypeString' },
//{ 'name': 'Average','type': 'esriFieldTypeDouble'},
{ 'name': 'CASADO','type': 'esriFieldTypeInteger'},
{ 'name': 'SEPARADO','type': 'esriFieldTypeInteger'},
{ 'name': 'SOLTERO','type': 'esriFieldTypeInteger'},
{ 'name': 'UNIÓN LIBRE','type': 'esriFieldTypeInteger'}],
'geometryType': '',
'features': []
};
var index = 0
for (var value in value_counts){
Dict.features[index] = {
'attributes': {
'SECCIONAL': value,
'CASADO': value_counts[value]['CASADO'],
'SEPARADO': value_counts[value]['SEPARADO'],
'SOLTERO': value_counts[value]['SOLTERO'],
'UNIÓN LIBRE': value_counts[value]['UNION_LIBRE']
// 'Average': value_counts[value]['Average']
}
}
index++;
}
return FeatureSet(Dict);
| "AMAZONAS" | 0 | 0 | 0 | 0 | 0 |
| "ANTIOQUIA" | 0 | 0 | 0 | 0 | 1 |
| "ARAUCA" | 0 | 0 | 0 | 0 | 2 |
| "ATLÁNTICO" | 0 | 0 | 0 | 0 | 3 |
| "BOGOTÁ D.C." | 0 | 0 | 0 | 0 | 4 |
| "BOLÍVAR" | 0 | 0 | 0 | 0 | 5 |
| "BOYACÁ" | 0 | 0 | 0 | 0 | 6 |
| "CALDAS" | 0 | 0 | 0 | 0 | 7 |
| "CAQUETA" | 0 | 0 | 0 | 0 | 8 |
| "CASANARE" | 0 | 0 | 0 | 0 | 9 |
| "CAUCA" | 0 | 0 | 0 | 0 | 10 |
| "CESAR" | 0 | 0 | 0 | 0 | 11 |
| "CHOCÓ" | 0 | 0 | 0 | 0 | 12 |
| "CUNDINAMARCA" | 0 | 0 | 0 | 0 | 13 |
| "CÓRDOBA" | 0 | 0 | 0 | 0 | 14 |
| "GUAJIRA" | 0 | 0 | 0 | 0 | 15 |
| "HUILA" | 0 | 0 | 0 | 0 | 16 |
| "MAGDALENA" | 0 | 0 | 0 | 0 | 17 |
| "META" | 0 | 0 | 0 | 0 | 18 |
| "NARIÑO" | 0 | 0 | 0 | 0 | 19 |
| "NORTE DE SANTANDER" | 0 | 0 | 0 | 0 | 20 |
| "PUTUMAYO" | 0 | 0 | 0 | 0 | 21 |
| "QUINDÍO" | 0 | 0 | 0 | 0 | 22 |
| "RISARALDA" | 0 | 0 | 0 | 0 | 23 |
| "SAN ANDRÉS" | 0 | 0 | 0 | 0 | 24 |
| "SANTANDER" | 0 | 0 | 0 | 0 | 25 |
| "SUCRE" | 0 | 0 | 0 | 0 | 26 |
| "TOLIMA" | 0 | 0 | 0 | 0 | 27 |
| "VALLE DEL CAUCA" | 0 | 0 | 0 | 0 | 28 |
| "VAUPÉS" | 0 | 0 | 0 | 0 | 29 |
| "VICHADA" | 0 | 0 | 0 | 0 | 30 |