简体   繁体   中英

Power query JSON dynamic URL

it is my first use of power query and I need your help I'd like to retrieve from web some compagny values base on their identification number, the french SIRET for that I'd like to enter the SIRET in a cell (named entersiret) in my excel and then pass it to the url and in power query. I have tried this but it is not working:

let
    siret = Excel.CurrentWorkbook(){[Name="entersiret"]}[Content],
    entersiret = siret[Column1]{0},
    Source = Json.Document(Web.Contents("https://entreprise.data.gouv.fr/api/sirene/v3/etablissements/" & siret)),
    #"Converti en table" = Record.ToTable(Source),
    #"Value développé" = Table.ExpandRecordColumn(#"Converti en table", "Value", {"id", "siren", "nic", "siret", "statut_diffusion", "date_creation", "tranche_effectifs", "annee_effectifs", "activite_principale_registre_metiers", "date_dernier_traitement", "etablissement_siege", "nombre_periodes", "complement_adresse", "numero_voie", "indice_repetition", "type_voie", "libelle_voie", "code_postal", "libelle_commune", "libelle_commune_etranger", "distribution_speciale", "code_commune", "code_cedex", "libelle_cedex", "code_pays_etranger", "libelle_pays_etranger", "complement_adresse_2", "numero_voie_2", "indice_repetition_2", "type_voie_2", "libelle_voie_2", "code_postal_2", "libelle_commune_2", "libelle_commune_etranger_2", "distribution_speciale_2", "code_commune_2", "code_cedex_2", "libelle_cedex_2", "code_pays_etranger_2", "libelle_pays_etranger_2", "date_debut", "etat_administratif", "enseigne_1", "enseigne_2", "enseigne_3", "denomination_usuelle", "activite_principale", "nomenclature_activite_principale", "caractere_employeur", "longitude", "latitude", "geo_score", "geo_type", "geo_adresse", "geo_id", "geo_ligne", "geo_l4", "geo_l5", "unite_legale_id", "created_at", "updated_at", "unite_legale"}, {"Value.id", "Value.siren", "Value.nic", "Value.siret", "Value.statut_diffusion", "Value.date_creation", "Value.tranche_effectifs", "Value.annee_effectifs", "Value.activite_principale_registre_metiers", "Value.date_dernier_traitement", "Value.etablissement_siege", "Value.nombre_periodes", "Value.complement_adresse", "Value.numero_voie", "Value.indice_repetition", "Value.type_voie", "Value.libelle_voie", "Value.code_postal", "Value.libelle_commune", "Value.libelle_commune_etranger", "Value.distribution_speciale", "Value.code_commune", "Value.code_cedex", "Value.libelle_cedex", "Value.code_pays_etranger", "Value.libelle_pays_etranger", "Value.complement_adresse_2", "Value.numero_voie_2", "Value.indice_repetition_2", "Value.type_voie_2", "Value.libelle_voie_2", "Value.code_postal_2", "Value.libelle_commune_2", "Value.libelle_commune_etranger_2", "Value.distribution_speciale_2", "Value.code_commune_2", "Value.code_cedex_2", "Value.libelle_cedex_2", "Value.code_pays_etranger_2", "Value.libelle_pays_etranger_2", "Value.date_debut", "Value.etat_administratif", "Value.enseigne_1", "Value.enseigne_2", "Value.enseigne_3", "Value.denomination_usuelle", "Value.activite_principale", "Value.nomenclature_activite_principale", "Value.caractere_employeur", "Value.longitude", "Value.latitude", "Value.geo_score", "Value.geo_type", "Value.geo_adresse", "Value.geo_id", "Value.geo_ligne", "Value.geo_l4", "Value.geo_l5", "Value.unite_legale_id", "Value.created_at", "Value.updated_at", "Value.unite_legale"})
in
    #"Value développé"

You drill down the value "siret" in "entersiret" but you don't use it. This will work:

    let
        siret = Excel.CurrentWorkbook(){[Name="entersiret"]}[Content],
        entersiret = siret[Column1]{0},
        Source = Json.Document(Web.Contents("https://entreprise.data.gouv.fr/api/sirene/v3/etablissements/" & entersiret)),
        #"Converti en table" = Record.ToTable(Source),
        #"Value développé" = Table.ExpandRecordColumn(#"Converti en table", "Value", {"id", "siren", "nic", "siret", "statut_diffusion", "date_creation", "tranche_effectifs", "annee_effectifs", "activite_principale_registre_metiers", "date_dernier_traitement", "etablissement_siege", "nombre_periodes", "complement_adresse", "numero_voie", "indice_repetition", "type_voie", "libelle_voie", "code_postal", "libelle_commune", "libelle_commune_etranger", "distribution_speciale", "code_commune", "code_cedex", "libelle_cedex", "code_pays_etranger", "libelle_pays_etranger", "complement_adresse_2", "numero_voie_2", "indice_repetition_2", "type_voie_2", "libelle_voie_2", "code_postal_2", "libelle_commune_2", "libelle_commune_etranger_2", "distribution_speciale_2", "code_commune_2", "code_cedex_2", "libelle_cedex_2", "code_pays_etranger_2", "libelle_pays_etranger_2", "date_debut", "etat_administratif", "enseigne_1", "enseigne_2", "enseigne_3", "denomination_usuelle", "activite_principale", "nomenclature_activite_principale", "caractere_employeur", "longitude", "latitude", "geo_score", "geo_type", "geo_adresse", "geo_id", "geo_ligne", "geo_l4", "geo_l5", "unite_legale_id", "created_at", "updated_at", "unite_legale"}, {"Value.id", "Value.siren", "Value.nic", "Value.siret", "Value.statut_diffusion", "Value.date_creation", "Value.tranche_effectifs", "Value.annee_effectifs", "Value.activite_principale_registre_metiers", "Value.date_dernier_traitement", "Value.etablissement_siege", "Value.nombre_periodes", "Value.complement_adresse", "Value.numero_voie", "Value.indice_repetition", "Value.type_voie", "Value.libelle_voie", "Value.code_postal", "Value.libelle_commune", "Value.libelle_commune_etranger", "Value.distribution_speciale", "Value.code_commune", "Value.code_cedex", "Value.libelle_cedex", "Value.code_pays_etranger", "Value.libelle_pays_etranger", "Value.complement_adresse_2", "Value.numero_voie_2", "Value.indice_repetition_2", "Value.type_voie_2", "Value.libelle_voie_2", "Value.code_postal_2", "Value.libelle_commune_2", "Value.libelle_commune_etranger_2", "Value.distribution_speciale_2", "Value.code_commune_2", "Value.code_cedex_2", "Value.libelle_cedex_2", "Value.code_pays_etranger_2", "Value.libelle_pays_etranger_2", "Value.date_debut", "Value.etat_administratif", "Value.enseigne_1", "Value.enseigne_2", "Value.enseigne_3", "Value.denomination_usuelle", "Value.activite_principale", "Value.nomenclature_activite_principale", "Value.caractere_employeur", "Value.longitude", "Value.latitude", "Value.geo_score", "Value.geo_type", "Value.geo_adresse", "Value.geo_id", "Value.geo_ligne", "Value.geo_l4", "Value.geo_l5", "Value.unite_legale_id", "Value.created_at", "Value.updated_at", "Value.unite_legale"})
    in
        #"Value développé"

thanks. so I have changed to this:

siret = Number.ToText(Excel.CurrentWorkbook(){[Name="entersiret"]}[Content]),
    entersiret = siret[Column1]{0},
    Source = Json.Document(Web.Contents("https://entreprise.data.gouv.fr/api/sirene/v3/etablissements/" & entersiret)),
    #"Converti en table" = Record.ToTable(Source),
    #"Value développé" = Table.ExpandRecordColumn(#"Converti en table", "Value", {"id", "siren", "nic", "siret", "statut_diffusion", "date_creation", "tranche_effectifs", "annee_effectifs", "activite_principale_registre_metiers", "date_dernier_traitement", "etablissement_siege", "nombre_periodes", "complement_adresse", "numero_voie", "indice_repetition", "type_voie", "libelle_voie", "code_postal", "libelle_commune", "libelle_commune_etranger", "distribution_speciale", "code_commune", "code_cedex", "libelle_cedex", "code_pays_etranger", "libelle_pays_etranger", "complement_adresse_2", "numero_voie_2", "indice_repetition_2", "type_voie_2", "libelle_voie_2", "code_postal_2", "libelle_commune_2", "libelle_commune_etranger_2", "distribution_speciale_2", "code_commune_2", "code_cedex_2", "libelle_cedex_2", "code_pays_etranger_2", "libelle_pays_etranger_2", "date_debut", "etat_administratif", "enseigne_1", "enseigne_2", "enseigne_3", "denomination_usuelle", "activite_principale", "nomenclature_activite_principale", "caractere_employeur", "longitude", "latitude", "geo_score", "geo_type", "geo_adresse", "geo_id", "geo_ligne", "geo_l4", "geo_l5", "unite_legale_id", "created_at", "updated_at", "unite_legale"}, {"Value.id", "Value.siren", "Value.nic", "Value.siret", "Value.statut_diffusion", "Value.date_creation", "Value.tranche_effectifs", "Value.annee_effectifs", "Value.activite_principale_registre_metiers", "Value.date_dernier_traitement", "Value.etablissement_siege", "Value.nombre_periodes", "Value.complement_adresse", "Value.numero_voie", "Value.indice_repetition", "Value.type_voie", "Value.libelle_voie", "Value.code_postal", "Value.libelle_commune", "Value.libelle_commune_etranger", "Value.distribution_speciale", "Value.code_commune", "Value.code_cedex", "Value.libelle_cedex", "Value.code_pays_etranger", "Value.libelle_pays_etranger", "Value.complement_adresse_2", "Value.numero_voie_2", "Value.indice_repetition_2", "Value.type_voie_2", "Value.libelle_voie_2", "Value.code_postal_2", "Value.libelle_commune_2", "Value.libelle_commune_etranger_2", "Value.distribution_speciale_2", "Value.code_commune_2", "Value.code_cedex_2", "Value.libelle_cedex_2", "Value.code_pays_etranger_2", "Value.libelle_pays_etranger_2", "Value.date_debut", "Value.etat_administratif", "Value.enseigne_1", "Value.enseigne_2", "Value.enseigne_3", "Value.denomination_usuelle", "Value.activite_principale", "Value.nomenclature_activite_principale", "Value.caractere_employeur", "Value.longitude", "Value.latitude", "Value.geo_score", "Value.geo_type", "Value.geo_adresse", "Value.geo_id", "Value.geo_ligne", "Value.geo_l4", "Value.geo_l5", "Value.unite_legale_id", "Value.created_at", "Value.updated_at", "Value.unite_legale"})
in
    #"Value développé"

But I have this error (in french)

Expression.Error : Désolé... Nous n'avons pas pu convertir une valeur de type Table en type Number.
Détails :
    Value=[Table]
    Type=[Type]

solved...my mistake:

let
    siret = Excel.CurrentWorkbook(){[Name="entersiret"]}[Content],
    paramsiret = Number.ToText(siret[Column1]{0}),
    Source = Json.Document(Web.Contents("https://entreprise.data.gouv.fr/api/sirene/v3/etablissements/" & paramsiret)),
    #"Converti en table" = Record.ToTable(Source),
    #"Value développé" = Table.ExpandRecordColumn(#"Converti en table", "Value", {"id", "siren", "nic", "siret", "statut_diffusion", "date_creation", "tranche_effectifs", "annee_effectifs", "activite_principale_registre_metiers", "date_dernier_traitement", "etablissement_siege", "nombre_periodes", "complement_adresse", "numero_voie", "indice_repetition", "type_voie", "libelle_voie", "code_postal", "libelle_commune", "libelle_commune_etranger", "distribution_speciale", "code_commune", "code_cedex", "libelle_cedex", "code_pays_etranger", "libelle_pays_etranger", "complement_adresse_2", "numero_voie_2", "indice_repetition_2", "type_voie_2", "libelle_voie_2", "code_postal_2", "libelle_commune_2", "libelle_commune_etranger_2", "distribution_speciale_2", "code_commune_2", "code_cedex_2", "libelle_cedex_2", "code_pays_etranger_2", "libelle_pays_etranger_2", "date_debut", "etat_administratif", "enseigne_1", "enseigne_2", "enseigne_3", "denomination_usuelle", "activite_principale", "nomenclature_activite_principale", "caractere_employeur", "longitude", "latitude", "geo_score", "geo_type", "geo_adresse", "geo_id", "geo_ligne", "geo_l4", "geo_l5", "unite_legale_id", "created_at", "updated_at", "unite_legale"}, {"Value.id", "Value.siren", "Value.nic", "Value.siret", "Value.statut_diffusion", "Value.date_creation", "Value.tranche_effectifs", "Value.annee_effectifs", "Value.activite_principale_registre_metiers", "Value.date_dernier_traitement", "Value.etablissement_siege", "Value.nombre_periodes", "Value.complement_adresse", "Value.numero_voie", "Value.indice_repetition", "Value.type_voie", "Value.libelle_voie", "Value.code_postal", "Value.libelle_commune", "Value.libelle_commune_etranger", "Value.distribution_speciale", "Value.code_commune", "Value.code_cedex", "Value.libelle_cedex", "Value.code_pays_etranger", "Value.libelle_pays_etranger", "Value.complement_adresse_2", "Value.numero_voie_2", "Value.indice_repetition_2", "Value.type_voie_2", "Value.libelle_voie_2", "Value.code_postal_2", "Value.libelle_commune_2", "Value.libelle_commune_etranger_2", "Value.distribution_speciale_2", "Value.code_commune_2", "Value.code_cedex_2", "Value.libelle_cedex_2", "Value.code_pays_etranger_2", "Value.libelle_pays_etranger_2", "Value.date_debut", "Value.etat_administratif", "Value.enseigne_1", "Value.enseigne_2", "Value.enseigne_3", "Value.denomination_usuelle", "Value.activite_principale", "Value.nomenclature_activite_principale", "Value.caractere_employeur", "Value.longitude", "Value.latitude", "Value.geo_score", "Value.geo_type", "Value.geo_adresse", "Value.geo_id", "Value.geo_ligne", "Value.geo_l4", "Value.geo_l5", "Value.unite_legale_id", "Value.created_at", "Value.updated_at", "Value.unite_legale"})
in
    #"Value développé"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM