Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

132
Views
Combine json stat para devolver tanto la identificación como la etiqueta/valor

Quiero que regionValue regrese como la clave del objeto Region, pero en su lugar devuelve nulo.

Mi objetivo es conseguir:

 { value: 1122000, Tid: '2020', ContentsCode: 'Samlet inntekt, median (kr)', HusholdType: 'Par med barn 0-17 år', Region: 'Ringerike', regionValue:"3007" },

pero esto es lo que he intentado hasta ahora:

 const JSONstat = require("jsonstat-toolkit"); var url="https://data.ssb.no/api/v0/dataset/49678.json?lang=no"; function test(){ return JSONstat(url).then(main); } async function main(j){ var ds=j.Dataset(0); let y="Region" let array = ds.toTable( { type : "arrobj" } ,function( d ){ if ( d.value!==null){ d.regionValue = ds.Dimension(y).Category(d.Region).id return d; } }) console.log(array) } test()
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Parece que la dimensión Región solo está disponible como un objeto con ID -> Label , por lo que no puede buscar directamente por nombre de Región para obtener la ID.

Como solución alternativa, puede crear un nuevo objeto invertido con Label => ID y usarlo para recuperar el Valor de región de la Región.

Entonces en código

  1. Declare una variable global que contendrá su nuevo objeto
 assoc = {}
  1. en su método main , repita todas las Regiones y complete su objeto invertido

Tenga en cuenta que las etiquetas mostraban una fecha, por lo que usé split para eliminar información inútil que no permitiría una coincidencia directa en el nombre de la región.

 for(const key in ds.__tree__.dimension.Region.category.label) { let label = ds.__tree__.dimension.Region.category.label[key].split('(')[0].trim() assoc[label] = key }
  1. En su devolución de llamada que se ejecuta para cada elemento, lea la ID del objeto assoc que acaba de completar y asigne su valor a d.regionValue
 if (d.value !== null) { d.regionValue = assoc[d.Region] return d; }

Cuando emita su matriz, se mostrará así

 0: ContentsCode: "Samlet inntekt, median (kr)" HusholdType: "Alle husholdninger" Region: "Halden" Tid: "2020" regionValue: "0101" value: 616000

Aquí está el guión completo

 var url = "https://data.ssb.no/api/v0/dataset/49678.json?lang=no"; assoc = {} function test() { return JSONstat(url).then(main); } async function main(j) { var ds = j.Dataset(0); for(const key in ds.__tree__.dimension.Region.category.label) { let label = ds.__tree__.dimension.Region.category.label[key].split('(')[0].trim() assoc[label] = key } let array = ds.toTable({ type: "arrobj" }, function (d) { if (d.value !== null) { d.regionValue = assoc[d.Region] return d; } }) console.log(array) } test()
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!