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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
PBIfanatic
Helper V
Helper V

Diferencia entre fechas - consulta de energía

Hola

¿Cómo calculo la diferencia entre las fechas en la consulta de energía sin perder el plegado de consultas?

Intenté usar la función Duration.Days, pero viene con un error que indica que necesito importar la tabla, ya que esto deshabilita el plegado de consultas.

¿Hay alguna forma alternativa sin importar la tabla?

Gracias.

14 REPLIES 14
Syndicate_Admin
Administrator
Administrator

*Para futuros lectores*

Como sugiere @jfcarlier , convertir primero a números funcionará, pero (generalmente) no a números enteros.

Lo siguiente funciona para la diferencia de días entre los valores de DateTime que se pliegan con SQL Server:

Table.AddColumn(
    previousStepName,
    "columnName",
    each Number.From(Date.From([endDate])) - Number.From(Date.From([startDate]))
)

Si ya tiene valores de fecha, no valores de fechahora, puede quitar las funciones Date.From en consecuencia.

Para tener la salida correctamente escrita en un solo paso:

Table.TransformColumnTypes(
    Table.AddColumn(
        previousStepName,
        "columnName",
        each Number.From(Date.From([endDate])) - Number.From(Date.From([startDate]))
    ), 
    {{"columnName", type number}}
)

Pete

Syndicate_Admin
Administrator
Administrator

Mi método es un poco enrevesado, pero funciona.

1. Duplica las fechas de ambas columnas.

2. Cambie los tipos de estas nuevas columnas al tipo Entero (¿número entero?).

3. Cree una nueva columna de resta a partir de estas nuevas columnas enteras de "fecha proxy" para obtener el número de días entre 2 fechas

Sobresueldo. Incluso puede usar esta columna Entero para agregar/restar a cualquier fecha transformada y, a continuación, volver a cambiar el resultado entero a un tipo de fecha.

camargos88
Community Champion
Community Champion

Hola @PBIfanatic ,

¿Está utilizando la base de datos? En caso afirmativo, ¿por qué no crea un campo calculado en la consulta?

Ricardo



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



Hola @camargos88 ,

Gracias por su respuesta, ¿quiere decir crear una columna en la base de datos?

El problema es que es un proceso largo para realizar un cambio en la base de datos. Esperando que Power BI acuda al rescate 🙂

Hola @PBIfanatic ,

Tal vez pueda intentar usar la función DATEDIFF en DAX para obtener la diferencia entre fechas.

Saludos

Rena

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

Hola @PBIfanatic ,

¿Puede simplemente enviar una consulta en lugar de cambiar la vista/procedimiento?

Ricardo



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



Hola @camargos88 ,

Lo siento, ¿te refieres a un sql personalizado?

@PBIfanatic ,

Sí, no sé lo que está utilizando (vista / procedimiento ...) pero es posible utilizar un código duro ?

Ricardo



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



Anonymous
Not applicable

Hola @camargos88 ,

En este momento tengo una consulta directa a una tabla en SQL Server. Me gustaría realizar este cambio en la consulta de poder sin ningún cambio en la tabla en la base de datos.

He vuelto a crear esto en las obras Adventure y esta es la consulta generada. ¿Qué crees que necesito cambiar?

Dejar
Fuente: Sql.Database("******", "AdventureWorks2012"),
HumanResources_Employee de la fuente, [esquema, "recursos humanos", "artículo"" "empleado"], [datos],
"Columnas eliminadas" á Table.RemoveColumns(HumanResources_Employee,"Person.Person", "Production.Document", "Purchasing.PurchaseOrderHeader", "Sales.SalesPerson"-),
"Filas ordenadas" - Tabla.Sort("Columnas eliminadas", "Fecha de Nacimiento", Orden.Ascendente)
En
"Filas ordenadas"

Hola @PBItech ,

Después de seleccionar Consulta directa, haga clic en Opciones avanzadas y escriba su SQL personalizado.directquery_sqlserverdb.png

Capturar.PNG



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



Anonymous
Not applicable

Gracias @camargos88 .

Estaba pensando si hay otras formas de usar las funcionalidades de Power BI para calcular esto.

Hola @PBItech ,

¿Si el problema se ha resuelto? En caso afirmativo, ¿podría marcar el post útil como Respondido? Ayudará a otros miembros de la comunidad a encontrar la solución fácilmente si se enfrentan al problema similar con usted. Gracias.

Saludos

Rena

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

Hola @yingyinr ,

No, no es por desgracia.

Hola @PBIfanatic ,

Puede utilizar la función DATEDIFF en DAX para crear una columna calculada en lugar de calcular la diferencia entre fechas en Power Query:

datediff.JPG

Saludos

Rena

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

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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