WillemC
Hola a todos,
Soy nuevo en Power BI, pero conozco bien SQL.
Estoy tratando de crear una columna/medida calculada con una declaración if.
Lo que quiero lograr es esto:
si la fecha máxima es mayor que la actual: 3 meses, entonces el valor es 1; de lo contrario, el valor es 0.
Esto debería ser muy fácil de hacer en mi opinión.
Column = if(Query1[maxdate]>dateadd(TODAY(),-3,MONTH),"1","0")
Pero me sale el error: El primer argumento de DATEADD debe especificar una columna.
¿Por qué no es posible usar today() ?
y como debo solucionar esto?
(También lo probé como medida, pero de nuevo fue en vano).
¿Podría alguien ayudarme, por favor?
Sé que puedo resolverlo fácilmente en mi consulta SQL, pero quiero entender por qué esto no funciona o cómo resolverlo.
esputo
En respuesta a WillemC
Table.Addcolumn necesita un parámetro de tabla donde desea agregar la columna. En mi caso, la tabla se llama ‘»Tipo cambiado», que es el nombre de mi último paso de transformación antes de Table.AddColumn.
Su enfoque fue simplemente usando el botón «columna personalizada». Así que allí solo escribe
if [EndDate]<Date.AddMonths(Date.From(DateTime.LocalNow()),-3) then 1 else 0)
El resto lo agregará el propio Editor de consultas.
esputo
En respuesta a WillemC
Entonces, cuando haga clic en la palabra error, le mostrará algunos detalles al respecto.
Sin embargo
¿Dices que tu columna de fecha está en formato de fecha y hora? ¿Podría escribir Fecha.Desde([lastLD]) en vez de [lastLD]
Los soportes están bien por lo que veo
esputo
hola @WillemC
desafortunadamente es diferente del lenguaje sql. En su caso, preferiría que Power Query hiciera el trabajo.
Puede agregar una columna definida por el usuario
WillemC
En respuesta a esputo
ok, ayúdame un poco.
¿Dónde pongo esta consulta de poder?
Estoy en el editor de consultas, en Agregar columna veo diferentes tipos.
¿Necesito una columna personalizada o una columna condicional? ¿O algo mas?
La consulta en sí es clara para mí.
esputo
En respuesta a WillemC
columna personalizada
todas las demás opciones son, de hecho, columnas personalizadas también. Pero te ayudan a conseguir tus deseos sin escribir código.
(condicional, por ejemplo, es la variante de clic de if then else)
WillemC
En respuesta a esputo
Gracias.
Solo una pequeña pregunta, ¿qué significa #»Tipo cambiado»?
Ya que me tira error.
La búsqueda rápida en Google no me dio una respuesta de inmediato.
editar:
parece que ese es el nombre de la tabla en la que desea agregar la columna.
esputo
En respuesta a WillemC
Table.Addcolumn necesita un parámetro de tabla donde desea agregar la columna. En mi caso, la tabla se llama ‘»Tipo cambiado», que es el nombre de mi último paso de transformación antes de Table.AddColumn.
Su enfoque fue simplemente usando el botón «columna personalizada». Así que allí solo escribe
if [EndDate]<Date.AddMonths(Date.From(DateTime.LocalNow()),-3) then 1 else 0)
El resto lo agregará el propio Editor de consultas.
WillemC
En respuesta a esputo
sigue sin funcionar
Lo he alterado a:
= if [lastLD]>Date.AddMonths(Date.From(DateTime.LocalNow()),-3) then 1 else 0
La columna se crea pero solo contiene Error.
Si agrego un ) al final, me sale un Token Eof de error esperado, que me parece válido, ya que ese no pertenece a nada.
de lastLD está formateado en dm-yyyy h:mm:ss
esputo
En respuesta a WillemC
Entonces, cuando haga clic en la palabra error, le mostrará algunos detalles al respecto.
Sin embargo
¿Dices que tu columna de fecha está en formato de fecha y hora? ¿Podría escribir Fecha.Desde([lastLD]) en vez de [lastLD]
Los soportes están bien por lo que veo
WillemC
En respuesta a esputo
Excelente, ahora funciona.
Muchísimas gracias.
WillemC
En respuesta a WillemC
La expresión me está dando el siguiente error:
Expression.Error: la evaluación resultó en un desbordamiento de pila y no puede continuar.