M: formato de fecha AAAA-MM-DD en la consulta al enviar la solicitud a una API

Un usuario Pregunto ✅

Anónimo

Hola comunidad,

Necesito ayuda con otro problema de formato de fecha en el que estoy luchando.

Estoy trabajando en una llamada a la API web de PBI, donde debo proporcionar las fechas de inicio y finalización como parte de mi consulta.

El formato que toma la API es AAAA-MM-DD (como cadena numérica).

Funciona bien cuando doy fechas codificadas en mi consulta de la siguiente manera:

fecha_inicio = «»2017-07-01″»,

end_date=»»2017-08-15″»,

El problema comienza cuando trato de automatizar esto, ya que tengo que proporcionar la fecha más reciente en la consulta, si no quiero editar la consulta a diario.

La única función que conocía era,

DateTime.Date(DateTime.LocalNow())

da una salida en DDMMAAAA.

¿Hay algún truco o función que pueda usar para cambiar mis fechas de consulta de entrada para formatear AAAA-MM-DD (como cadena numérica)

Incluso intenté ingresar estas fechas como un parámetro, mientras almacenaba las fechas en una lista separada, pero aparentemente ni siquiera eso funciona. Recibo un error de API, -> API solo acepta fechas en formato AAAA-MM-DD.

Gracias de antemano.

Añadido más tarde: Intenté obtener los componentes de Date.Day, Date.Month y volver a unirlos, pero eso necesita cambiarse a texto. y la API no acepta textos 😞

dejar

today = DateTime.Date(DateTime.LocalNow()),
day= Number.ToText(Date.Day(DateTime.LocalNow())),
month = Number.ToText(Date.Month(DateTime.LocalNow())),
year = Number.ToText(Date.Year(DateTime.LocalNow())),
out = year&"-"&month&"-"&day,
out2 = Number.FromText(out)
in
out2

fedlov

debe cambiar la configuración regional a TEXTO e inglés-Canadá

jonas1

Hola,

Tengo el mismo problema que tenía @Anónimo. Lo solucionaste Emudria? ¿O alguien más sabe cómo obtener fórmulas de fecha relativa en este formato exacto en M?

Hasta ahora he realizado una solicitud de API comenzando con lo que encuentra en el archivo adjunto. Sin embargo, solo puedo hacerlo funcionar con fechas fijas …Skjermbilde.PNG

Anónimo

En respuesta a jonas1

Hola @Jonas1

Pude resolverlo de la siguiente manera:

podemos establecer la fecha de finalización como una fecha dinámica, como ha dado en su ejemplo

enddate = DateTime.Date(DateTime.LocalNow())

aquí, tenemos la fecha que queremos ingresar para nuestra consulta.

Pero el problema es que la API no acepta la fecha en el mismo formato que obtenemos de Datatime.Date, así como mi API quería datos solo en formato de cadena.

así que una vez obtendría un valor almacenado en la fecha de finalización como se mencionó anteriormente,

Lo cambié a una cadena manualmente de la siguiente manera (no necesita crear una variable hoy, solo estoy siendo vago y copio mi código[but even if you do, that wont harm])

fecha de finalización = fecha y hora. fecha (fecha y hora. local ahora ()),

hoy = fecha_de_finalización,
año = Número.AlTexto(Fecha.Año(hoy)),
mes = Text.PadStart(Number.ToText(Date.Month(hoy)),2,»0″),
día = Text.PadStart(Number.ToText(Date.Day(hoy)),2,»0″),
mifecha = año&»-«&mes&»-«&día,

Hola @Anonimo,

Puede usar este código M para obtener la fecha con el formato «AAAA-MM-DD».

Date.ToText(DateTime.Date(DateTime.LocalNow()), "yyyy-MM-dd")

Pero, el resultado se reconoce como cadena. Si lo cambiamos a tipo de fecha, se formateará automáticamente a «D/MM/YYYY». Según mi prueba, Power Query solo admite el formato de fecha con «https://community.powerbi.com/» como delimitador. Si los valores de fecha contienen «-«, se cambiará a cadena de forma predeterminada.

Saludos,
Yuliana Gu

Anónimo

En respuesta a v-yulgu-msft

Gracias @v-yulgu-msft, sí, probé esto hoy y, como era de esperar, la API lo rechazó. 😞

a veces simplemente estás atascado.

En respuesta a Anónimo

Hola @Anonimo,

Desafortunadamente, Power BI no admite el formato de fecha ‘AAAA-MM-DD’. ¿Sería posible cambiar el formato de fecha compatible con la API a ‘YYYY/MM/DD’?

Saludos,
Yuliana Gu

Anónimo

En respuesta a v-yulgu-msft

Lo he intentado, pero la API lo rechaza, ya que solo aceptará ese formato y también en formato .number.

Intentaría ponerme en contacto con el equipo técnico de API para ver si pueden crear algunas disposiciones. No estoy seguro de lo difícil que sería.

Anónimo

En DAX puede usar una función llamada FORMATO. Coloque la columna de la fecha como el primer parámetro, luego use esto (incluidas las comillas) como el segundo parámetro: «YYYY-MM-DD»

Anónimo

En respuesta a Anónimo

@Anónimo Disculpas por el encabezado incorrecto, ya que estoy tratando de hacerlo en M, no en DAX. Porque tengo que proporcionar los parámetros de consulta en el editor avanzado. (¿Hay alguna forma de que pueda usar DAX allí?)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *