cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Error de origen de datos dinámico con relativepath

Hola a todos

Tengo un problema con un parámetro y conecto un conector GET. Lo he corregido con números duros, pero cuando agrego un parámetro, obtengo el error de que usa una fuente de datos dinámica, por lo que no puedo programar la actualización. La última vez lo arreglé con RelativePath. Debido a que la ruta relativa está después del parámetro, creo que ese es el problema, pero no lo sé con certeza. ¿Cómo solucionarlo?

= (desplazamiento) =>
dejar
Fuente =
Json.Document(
Web.Contenidos(
"https://" & Number.ToText ( Parameter1 ) & ".xx.xx.online",
[
RelativePath = "/xxxxxx/xxxx/xxxx?take=1000&skip=" & Number.ToText( offset ),
Encabezados = [
Autorización = "Token" & (Parámetro2)
]
]
)
)



¿Cómo puedo cambiar esto, para que no obtenga el error de origen de datos dinámico y pueda programar la actualización? Es bueno saberlo, cuando cambio el parámetro uno a un número codificado, funciona. Así que el parámetro 2 no tiene ningún problema.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Para alguien con el mismo problema, encontré una solución yo mismo.

Cree un parámetro para toda la URL base:
Parámetro 1: https://1234.xx.xx.online y agréguelo a la consulta.

= (desplazamiento) =>
dejar
Fuente =
Json.Document(
Web.Contenidos(
Parámetro1,
[
RelativePath = "/xxxxxx/xxxx/xxxx?take=1000&skip=" & Number.ToText( offset ),
Encabezados = [
Autorización = "Token" & (Parámetro2)
]
]
)
)

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Para alguien con el mismo problema, encontré una solución yo mismo.

Cree un parámetro para toda la URL base:
Parámetro 1: https://1234.xx.xx.online y agréguelo a la consulta.

= (desplazamiento) =>
dejar
Fuente =
Json.Document(
Web.Contenidos(
Parámetro1,
[
RelativePath = "/xxxxxx/xxxx/xxxx?take=1000&skip=" & Number.ToText( offset ),
Encabezados = [
Autorización = "Token" & (Parámetro2)
]
]
)
)

Syndicate_Admin
Administrator
Administrator

Hola, ¿de qué tipo es el Parámetro1?

Le dirá si va a Administrar parámetro y mira la configuración allí:

pi_eye_0-1669648143884.png

Pude hacer que el parámetro anterior funcionara, como el tipo = Texto. Vea el siguiente ejemplo de código (usando API gratuita):

let
Source =
Json.Document(
Web.Contents("https://api.coindesk.com/v" & version_number &"/bpi/currentprice.json")
),
bpi = Source[bpi],
USD = bpi[USD]
in
USD

Si su parámetro debe ser un número, deberá convertir a texto mediante una función M Query

Así que he especificado Type = Decimal Number en la configuración de parámetros, luego utilicé la conversión Number.ToText de la siguiente manera:

let
Source =
Json.Document(
Web.Contents("https://api.coindesk.com/v" & Número.ToText(version_number) &"/bpi/currentprice.json")
),
bpi = Source[bpi],
USD = bpi[USD]
in
USD

HTH

Pi

Hola Pi,

Gracias por su respuesta. El parámetro 1 es un número y viene inmediatamente después del https://. ¿Lo que me dijiste que hiciera es exactamente lo que hice bien?

= (desplazamiento) =>
dejar
Fuente =
Json.Document(
Web.Contenidos(
"https://" & Number.ToText ( Parameter1 ) & ".xx.xx.online",
[
RelativePath = "/xxxxxx/xxxx/xxxx?take=1000&skip=" & Number.ToText( offset ),
Encabezados = [
Autorización = "Token" & (Parámetro2)
]
]
)
)

Entonces, si lo hago como arriba, obtengo el siguiente error en el servicio: usa una fuente de datos dinámica, por lo que no puedo programar la actualización

Hi TK12345

Según el blog de Chris Webb en https://blog.crossjoin.co.uk/2016/08/23/web-contents-m-functions-and-dataset-refresh-errors-in-power... el servicio solo mira la primera parte de la función web.contents para el bit dinámico.

Si incluye todos los parámetros dinámicos en la ruta relativa, no se detectará y debería ejecutarse como de costumbre.

Cambié mi código a:

let
Source =
Json.Document(
Web.Contents("https://api.coindesk.com/",
[RelativePath="v" & Number.ToText(version_number) &"/bpi/currentprice.json"])
),
bpi = Source[bpi],
USD = bpi[USD]
in
USD

Sin embargo, su parámetro está en el nombre de host, por lo que creo que necesitaríamos usar algo más que web.contents.

Pi

Helpful resources

Announcements
Carousel_PBI_Wave1

2023 Release Wave 1 Plans

Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.

Power BI Summit Carousel 2

Global Power BI Training

Make sure you register today for the Power BI Summit 2023. Don't miss all of the great sessions and speakers!

Thank you 2022 Review

2022 Monthly Feature Releases

We had a great 2022 with a ton of feature releases to help you drive a data culture.