Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
pwares
Frequent Visitor

No se pueden consultar los datos meteorológicos históricos de la NOAA de las estaciones meteorológicas

Hola a todos,

Para un proyecto en marcha, estoy tratando de extraer datos históricos de varias estaciones meteorológicas de la NOAA y me gustaría ponerlos en una base de datos de Power BI. Mi principal objetivo es extraer datos de las principales ciudades del noreste de EE. UU., y mostrar las temperaturas medias diarias de los últimos años (digamos, una serie de datos desde 2010 hasta la actualidad).

Miré en el sitio web de la NOAA relevante, y fue un poco abrumador por cómo tirar de esto en Power BI: https://www.ncdc.noaa.gov/cdo-web/webservices/v2

  1. He hecho la solicitud de un token : https://www.ncdc.noaa.gov/cdo-web/token
  2. He identificado una lista de muestra de estaciones meteorológicas de las que me gustaría extraer datos: acabo de elegir los aeropuertos en las 5 ciudades más grandes del NE USA. Estos son los códigos de la estación meteorológica:

GHCND:USW00014732

GHCND:USW00013739

GHCND:USW00014739

GHCND:USW00094823

GHCND:USW00014765

  1. Basándome en el consejo del sitio web de la NOAA, creé una URL que debería poder extraer estos datos con estos 5 códigos:

https://www.ncdc.noaa.gov/cdo-web/api/v2/datasets?stationid=GHCND:USW00014732&stationid=GHCND:USW000...

  1. Entré en Power BI Desktop > Obtener datos > Web > Básico > ingresé la dirección URL

pwares_0-1605907283340.png

Luego mecanogravé la URL en básico, pero luego encontré un error:

pwares_1-1605907283346.png

Por cualquier razón, Power BI no pidió un token para autenticarme. ¿Hay alguna manera sencilla de decirle a Power BI que tengo un token donde puedo extraer estos datos de la NOAA? El token debe actuar como una autenticación, sin embargo, no se me pidió que escriba uno.

¡Muchas gracias por tu ayuda!

Peter

1 ACCEPTED SOLUTION
PhilipTreacy
Super User
Super User

Hola @pwares

El token debe proporcionarse en el encabezado de la solicitud. He probado esto y funciona, sólo tiene que introducir su propio token en la parte superior. Archivo PBIX de ejemplo aquí.

let

    api_url = "https://www.ncdc.noaa.gov/cdo-web/api/v2/datasets?stationid=GHCND:USW00014732&stationid=GHCND:USW00013739&stationid=GHCND:USW00014739&stationid=GHCND:USW00094823&stationid=GHCND:USW00014765",
    token = "XXXXXXXXX",

    Source = Json.Document(Web.Contents(api_url,
   [ 
     Headers = [token = token ,#"Content-Type"="application/json"]
   ]
   )
   ),
    #"Converted to Table" = Record.ToTable(Source),
    Value = #"Converted to Table"{1}[Value],
    #"Converted to Table1" = Table.FromList(Value, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table1", "Column1", {"uid", "mindate", "maxdate", "name", "datacoverage", "id"}, {"uid", "mindate", "maxdate", "name", "datacoverage", "id"})
in
    #"Expanded Column1"

saludos

Phil


Si respondí a su pregunta por favor marque mi post como la solución.
Si mi respuesta ayudó a resolver su problema, déle un kudos haciendo clic en Thumbs Up.



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


View solution in original post

5 REPLIES 5
PhilipTreacy
Super User
Super User

Hola @pwares

El token debe proporcionarse en el encabezado de la solicitud. He probado esto y funciona, sólo tiene que introducir su propio token en la parte superior. Archivo PBIX de ejemplo aquí.

let

    api_url = "https://www.ncdc.noaa.gov/cdo-web/api/v2/datasets?stationid=GHCND:USW00014732&stationid=GHCND:USW00013739&stationid=GHCND:USW00014739&stationid=GHCND:USW00094823&stationid=GHCND:USW00014765",
    token = "XXXXXXXXX",

    Source = Json.Document(Web.Contents(api_url,
   [ 
     Headers = [token = token ,#"Content-Type"="application/json"]
   ]
   )
   ),
    #"Converted to Table" = Record.ToTable(Source),
    Value = #"Converted to Table"{1}[Value],
    #"Converted to Table1" = Table.FromList(Value, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table1", "Column1", {"uid", "mindate", "maxdate", "name", "datacoverage", "id"}, {"uid", "mindate", "maxdate", "name", "datacoverage", "id"})
in
    #"Expanded Column1"

saludos

Phil


Si respondí a su pregunta por favor marque mi post como la solución.
Si mi respuesta ayudó a resolver su problema, déle un kudos haciendo clic en Thumbs Up.



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


El código proporcionado por PhilipTreacy solo da un resumen para mí, no datos meteorológicos diarios

Excelente, muchas gracias por la ayuda. Lo conchué en Power BI Advanced Editor y pude ver los datos. Esto es muy útil.

PhilipTreacy
Super User
Super User

Hola @pwares

Debe especificar el parámetro de token en la dirección URL. Si hace clic en el vínculo que proporcionó que se supone que obtiene los datos de la API, le proporciona ese mensaje.

La documentación de la API indica que el token se debe pasar en el encabezado de solicitud, así que inténtelo. Inicie una nueva consulta en blanco en PBI y copie y pegue este código, con XXXXX para el token.

let
    api_url = "https://www.ncdc.noaa.gov/cdo-web/api/v2/datasets?stationid=GHCND:USW00014732&stationid=GHCND:USW00013739&stationid=GHCND:USW00014739&stationid=GHCND:USW00094823&stationid=GHCND:USW00014765",
    token = "XXXXX",
    Source = Json.Document(Web.Contents(api_url,
   [ 
     Headers = [#"Authorization"="Bearer "&token,#"Content-Type"="application/json"]
   ]
   )
   )
in
    Source

saludos

Phil


Si respondí a su pregunta por favor marque mi post como la solución.
Si mi respuesta ayudó a resolver su problema, déle un kudos haciendo clic en Thumbs Up.



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


v-jayw-msft
Community Support
Community Support

Hola @pwares ,

¿Está diciendo que la siguiente ventana de verificación no aparece?

4.PNG

Si es así, puede ir a Opciones y configuración -> Configuración del origen de datos, busque el origen de datos y borre el permiso e inténtelo de nuevo.

5.PNG

Saludos

Jay

Community Support Team _ Jay
If this post helps, then please consider Accept it as the solution
to help the other members find it.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors