INTELIGENCIA DE TIEMPO EN POWER BI DAX: Funciones DATESINPERIOD y DATESBETWEEN.

Поділитися
Вставка
  • Опубліковано 9 січ 2025

КОМЕНТАРІ • 73

  • @MenquisBI
    @MenquisBI  3 місяці тому +1

    Queridos amigos, ya están disponibles las inscripciones nuestro CURSO DE DAX EN VIVO (Inicio: 19 OCTUBRE 2024):
    Pueden registrarse a través de este link: menquisbi.com/e/especializacion-en-lenguaje-dax-edicion-iii-en-vivo
    Para mayor información, puedes escribirnos por WhatsApp: wa.me/51908805175

  • @FabianaBRITOHERNANDEZ
    @FabianaBRITOHERNANDEZ 3 місяці тому +2

    Muchas Gracias Julio por el tiempo que dedicas para elaborar los videos de tan alta calidad y nivel de detalle. Esperamos te recuperes pronto de los temas de salud y puedas seguir compartiendo tus conocimientos por el canal!

  • @gvitullib
    @gvitullib 4 місяці тому +1

    Excelente material. Muy didáctico y bien explicado.
    Me llama positivamente la atención el cuidado en los detalles que ayudan a entender la operativa y aplicación de las funciones de Inteligencia de Tiempo expuestas.

  • @JoseMiguelRodriguez-uv1ee
    @JoseMiguelRodriguez-uv1ee Рік тому +2

    Estupenda presentación (como no podía ser menos).
    Una observación. En el cálculo del acumulado de 3 meses, el método de DATESBETWEEN y DATESINPERIOD difiere en el cálculo del total. Lógicamente este total no tiene mucho sentido (3 meses atrás del total...), pero veo que por lo menos es algo más representativo con DATESINPERIOD (que repite el último valor).

    • @MenquisBI
      @MenquisBI  Рік тому

      Te lo agradezco Jose :).
      Es cierto DATESBETWEEN potencialmente se puede igualar a DATESINPERIOD pero hay que agregar algunas condicionales, para que el total coincida, también hay que tener cuidado con algunos inicios y cierres de mes; es por eso que es más recomendable usar DATESINPERIOD para generar acumulados parciales.
      Saludos

  • @cristianandana741
    @cristianandana741 5 місяців тому +1

    Un crack, me encanto el canal, muy claro para explicar y ejemplificar..Gracias!!!

  • @walteraedo4575
    @walteraedo4575 11 місяців тому +1

    Julio ... muchas gracias Nuevamente ... tremenda explicación... estoy atento al inicio de tus cursos para inscribirme, tu metodología de enseñanza no tiene comparación ...lejos lo mejor de lo mejor que he visto , sigue asi por favor Julio. Un abrazo desde Chile y espero unirme como miembro la próxima semana

    • @MenquisBI
      @MenquisBI  11 місяців тому

      Walter!, agradezco mucho tus gentiles palabras amigos.
      Te mando un gran abrazo, gracias por tu apoyo.
      Saludos.

  • @JuanPabloBourse
    @JuanPabloBourse Рік тому +1

    que buen video este tambien. Buen tono, me deja enganchado escuchar como explicas!! GRACIAS c compartir conocimiento

    • @MenquisBI
      @MenquisBI  Рік тому

      Te lo agradezco mucho Juan Pablo, me alegro que el contenido te sea de utilidad :)
      Saludos.

  • @readistreet9383
    @readistreet9383 Рік тому +1

    Como siempre, a otro nivel la explicación, muchas gracias. Seria genial el video de comparativo valor actual vs valor anterior dias laborales. Creo que no he visto ningún video en youtube que lo trate.

    • @MenquisBI
      @MenquisBI  Рік тому +1

      Muchas gracias por tu comentario :)
      Claro, lo tomo en cuenta para un próximo video.
      Saludos.

  • @oscariglesias1268
    @oscariglesias1268 Рік тому +1

    como siempre.... con diferencia la mejor explicación, sabiendo que pasa detrás de cámaras que es lo que no se ve y cuesta entender

    • @MenquisBI
      @MenquisBI  Рік тому

      Te lo agradezco mucho Oscar :)
      Siempre intento demostrar que el lo que sucede detrás del código, creo que el mejor manera de aprender.
      Saludos.

  •  Рік тому +1

    Muchas gracias Julio. Espectacular como siempre. ❤

    • @MenquisBI
      @MenquisBI  Рік тому

      Muchas gracias Jose Luis :)
      Saludos y un abrazo.

  • @pkosec
    @pkosec Рік тому +1

    Una vez mas... excelente! Gracias!

    • @MenquisBI
      @MenquisBI  Рік тому

      Pablo!, muchas gracias por tus comentarios.
      Saludos y un abrazo.

    • @pkosec
      @pkosec Рік тому +1

      Hola Julio!... todo bien?
      Repasando nuevamente el video, hay otra función muy practica para calcular dias entre fechas excluyendo fines de semana y feriados.... NETWORKDAYS():
      Por ej. en el cálculo del promedio de delivery tomando solamente los dias laborables puede quedar de esta manera:
      Dias Delivery Promedio (Laborables) =
      AVERAGEX(
      fctVentas,
      NETWORKDAYS(fctVentas[Fecha Orden],fctVentas[Fecha Delivery],1)
      )
      Me parece muy practica...
      Saludos!!

    • @MenquisBI
      @MenquisBI  Рік тому

      @@pkosec Hola Pablo!, excelente observación :).
      Esa función nos permite obtener el mismo resultado, la técnica que vimos en el video nos podría servir en todo caso para definir algún filtro algo mas complejo, como los días que no fueron Lunes, o los días que se vendió un monto específico, etc.
      Pero para el caso de dias laborales, esa es una excelente alternativa.
      Saludos.

  • @emersonlopez5310
    @emersonlopez5310 Рік тому +1

    Excelente video como siempre, muchas gracias por todo Julio

    • @MenquisBI
      @MenquisBI  Рік тому

      Muchas gracia Emerson :)
      Saludos.

  • @ArkaitzPeña
    @ArkaitzPeña 9 місяців тому +1

    Gracias Julio, justo lo que buscaba, estamos a al esperar del curso de Menquis BI.

    • @MenquisBI
      @MenquisBI  9 місяців тому

      Me alegro que el vídeo te haya sido de utilidad Arkaitz:). Saludos

  • @sergiocarrillanca5407
    @sergiocarrillanca5407 Рік тому +1

    Muchas gracias!!! Me ha ayudado mucho tu contenido.

    • @MenquisBI
      @MenquisBI  Рік тому

      Muchas gracias por tus comentarios Sergio :)
      Saludos.

  • @jaumeibarz1493
    @jaumeibarz1493 Рік тому +1

    Fantastica explicacion. 👌👏🏼👏🏼👏🏼

    • @MenquisBI
      @MenquisBI  Рік тому +1

      Muchas gracias Jaume, un abrazo :)

  • @Vizhekar
    @Vizhekar 8 місяців тому +1

    14:03 Entonces para el mes de junio está contando también días de julio. ¿Existe alguna forma de que esto no ocurra?
    Tus videos me están dando la vida. Gracias por ser tan detallista y visual en tus explicaciones.

    • @MenquisBI
      @MenquisBI  8 місяців тому +1

      Hola estimado, gracias por tus comentarios.
      Si es posible quitar los registros de Julio, solo tendrías que aplicarle la función FILTER a esa variable y quedarte con los registros donde la columna Fecha Delivery no pertenezca a Julio.
      Saludos cordiales.

  • @Compexcel
    @Compexcel 11 місяців тому +1

    Excelente. Gracias Julio

    • @MenquisBI
      @MenquisBI  11 місяців тому +1

      Muchas gracias por el apoyo Carlos :)
      Saludos.

  • @franciscaarancibia2197
    @franciscaarancibia2197 6 місяців тому +1

    Gracias!

  • @armandopasohondo5462
    @armandopasohondo5462 Рік тому +1

    Super interesante!!!!
    Gracias por compartir.

    • @MenquisBI
      @MenquisBI  Рік тому

      Gracias por tu apoyo Armando :)
      Saludos.

  • @humberto8462
    @humberto8462 Рік тому +1

    Lo mejor de lo mejor

    • @MenquisBI
      @MenquisBI  Рік тому

      Muchas gracias Humberto :).
      Un abrazo.

  • @MenquisBI
    @MenquisBI  Рік тому +1

    * Si tienes algun problema o consulta relacionada a Power BI, ya puedes acceder a consultas personalizadas en nuestro sitio web :)
    menquisbi.com/s/asesoria-personalizada
    * Ya está disponible nuestro primer curso de SQL :), puedes adquirirlo aquí: menquisbi.com/curso/sql-server-para-analisis-de-datos
    * Videos exclusivos para miembros del canal: ua-cam.com/play/UUMOu25jQpvCNUgYV-Tl0iBnQg.html

  • @SacArt95
    @SacArt95 Рік тому +1

    Saludos, excelente explicación 😊, no obstante, como os comenté la vez pasada, si lo puedo simplificar en query, me ahorraría cálculos complejos en dax. 😮Ahora, la inquietud es que tanto simplificará en query y que tanto calcularía en dax❓️🤔

    • @MenquisBI
      @MenquisBI  Рік тому

      Hola Simon, gracias por tus comentarios.
      Sinceramente no creo que haya una forma eficiente de usar Power Query para generan estos cálculos. Perderemos mucha potencia de análisis.
      Saludos.

    • @SacArt95
      @SacArt95 Рік тому

      Justamente, cómo saber hasta dónde llego respecto a los datos con query, y cuándo inició los cálculos dax, porque también es cierto que mucho query relentiza, y dax internamente genera muchas anclas en el backstage que también relentiza 🫨🙄🙄

  • @JoseMiguelRodriguez-uv1ee
    @JoseMiguelRodriguez-uv1ee Рік тому +1

    Hola Julio, gracias por tus explicaciones.
    Estoy revisando de nuevo este video y me extraña una cosa. En el minuto 16:20 se ve (no es lo que está marcado en el recuadro) que en el periodo 202012 aparece una cifra extraña (y que además coincide con el total, pero ya sabemos que en este caso el total es irrelevante). Aparecen 30.183.887 que no se corresponde con la suma de 202010, 202011 y 202012 que según mis cuentas debería ser 2.014.377 (o algo así).
    ¿me he perdido algo?
    He escrito la medida con DATESBETWEEN tal y como la has explicado y me sale el mismo resultado raro:
    Monto de Ventas Ultimos 3 Meses ant =
    CALCULATE(
    [Monto de Ventas],
    DATESBETWEEN(
    dimCalendario[Fecha],
    DATEADD(NEXTDAY(LASTDATE(dimCalendario[Fecha])),-3,MONTH),
    MAX(dimCalendario[Fecha])
    )
    )

    • @MenquisBI
      @MenquisBI  Рік тому +1

      Hola José, gracias por tus comentarios.
      Jeje, excelente observación, es correcto.
      Para entender el resultado debemos entender el contexto de filtro para 202012: Sería del 1ero de Diciembre al 31 de diciembre.
      Para esas fechas, al usar función NEXTDAY(LASTDATE(dimCalendario[Fecha]) estamos agregando un día al 31 de diciembre 2020, lo cual sería 1 enero 2021. No obstante, para este modelo específico NUESTRO CALENDARIO NO TIENE FECHAS DE 2021, por lo que en resultado sería BLANK().
      Entonces DATEADD(NEXTDAY(LASTDATE(dimCalendario[Fecha])),-3,MONTH) va a seguir saliendo BLANK(), por lo que nuestra fórmula se puede leer así:
      CALCULATE(
      [Monto de Ventas],
      DATESBETWEEN(
      dimCalendario[Fecha],
      BLANK(),
      31/12/2020
      )
      )
      Para fechas, cuando DAX recibe un BLANK() automáticamente le asigna la fecha 1/1/1900 (o la mínima fecha de nuestro modelo), por lo que para esa celda específica el resultado será 30 millones (todas las fechas del modelo).
      Para arreglando bastaría con agregar en la dimCalendario la información de 2021.
      En general, debido a eso es mejor utilizar la función DATESINPERIOD, ya que esta no tiene ese problema.
      Saludos cordiales.

    • @JoseMiguelRodriguez-uv1ee
      @JoseMiguelRodriguez-uv1ee Рік тому +1

      Caramba, me podría haber llevado toda la vida darme cuenta de que habíamos rebasado el calendario...
      Es interesante darse cuenta de esto cuando tengamos que manejar fechas a futuro.
      Gracias

  • @Ivan-h3g5v
    @Ivan-h3g5v 4 місяці тому +1

    Julio me acabo de confundir sobre lo que nos habías comentado del comportamiento especial de la dimensión calendario en donde se borran todos los filtros, en este caso con estás fórmulas si se está respetando el contexto de filtro ya no me quedo claro como identificar si aplica o no está regla usando CALCULATE😅

    • @Ivan-h3g5v
      @Ivan-h3g5v 4 місяці тому

      Más que nada por qué en la primer fórmula de datesbetween si se borra el contexto de filtro en la medida y en los posteriores no, no comprendo como está aplicando este comportamiento de la dimensión calendario y como identificar si aplica o no.

    • @MenquisBI
      @MenquisBI  4 місяці тому +1

      @@Ivan-h3g5v Hola estimado, en realidad todos las funciones de inteligencia de tiempo sobreescriben el filtro existente sobre el Calendario. Eso incluye a DATESBETWEEN y al resto también.
      Saludos.

    • @Ivan-h3g5v
      @Ivan-h3g5v 4 місяці тому

      Muchas gracias ​@@MenquisBI

  • @PowerBI-Club
    @PowerBI-Club Рік тому +1

    Hola Julio!, primero que nada un tremendo crack!
    He tenido siempre una duda y ya anteriormente problemas con cálculos de tiempo.
    Que es mejor? utilizar la tabla de hechos para realizar todo tipo de cálculos de fecha o hacer los cálculos con las columna date de la tabla calendario? veo que tú haces tus formulas dax usando la columna fecha de la tabla calendario pero en otros usa la fecha de la tabla de hechos
    Saludos

    • @MenquisBI
      @MenquisBI  Рік тому +1

      Hola Gilvard, gracias por tus comentarios :).
      Es una buena pregunta, hay que tener cuidado al utilizar la fecha la tabla de hechos, la mayoría de funciones de inteligencia de tiempo solo funcionan correctamente si utilizamos una dimensión tiempo (con fechas completas y años cerrados). Si usamos la fecha de la tablas de hechos es posible que obtengamos un resultado errado, y eso es muy peligroso.
      Saludos.

  • @aldozapata5593
    @aldozapata5593 Рік тому +1

    excelente

  • @FranciscoChaucanes
    @FranciscoChaucanes 7 місяців тому +1

    Hola Julio, en el total acumula fecha anterior traer el valor del ultimo mes, como se ajusta la medida para que me traiga el acumulado fecha anterior?

    • @MenquisBI
      @MenquisBI  7 місяців тому

      Hola Francisco, gracias por tus comentarios.
      Disculpa, no me queda clara tu consulta. ¿A que minuto específico del video te refieres?
      Saludos

  • @oscarbrunopoltticastillo9150
    @oscarbrunopoltticastillo9150 10 місяців тому +3

    Que literatura recomiendas para profundizar Menquis

    • @MenquisBI
      @MenquisBI  10 місяців тому +1

      Hola Oscar, gracias por tus comentarios.
      Tengo pendiente hacer un video sobre ese tema.
      Pero en mi opinión el mejor libro de DAX se llama: The Definitive Guide to DAX 2da Edición, de Alberto Ferrari y Marco Russo.
      Es un libro bastante técnico y con poco ejemplos, pero creo que es el único que enseña realmente el funcionamiento del lenguaje DAX.
      Saludos.

    • @oscarbrunopoltticastillo9150
      @oscarbrunopoltticastillo9150 10 місяців тому +1

      @@MenquisBI Genial, comprendo lo importantísimo del inglés, tendrás alguno en español con un nivel próximo que me recomiendes.

    • @MenquisBI
      @MenquisBI  10 місяців тому

      @@oscarbrunopoltticastillo9150 Hola Oscar. La verdad no, los libros en español que he leído sobre el tema no me han parecido con la calidad suficiente como para poder recomendarlos :(.
      Saludos.

  • @JosielCorbera
    @JosielCorbera Рік тому +1

    Hola Julio gracias en primer lugar por el video. El primer argumento de la función DATESBETWEEN (la columna de fechas) no considera el contexto de filtro?

    • @MenquisBI
      @MenquisBI  Рік тому +1

      Hola Josiel, gracias por tus comentarios.
      Excelente pregunta, exacto. Como toda función de inteligencia de tiempo DATESBETWEEN también va a eliminar el contexto de filtro inicial asociado al tiempo, y despues le va a agregar el nuevo contexto definido entre la fecha inicial y la fecha final especificada.
      Saludos.

  • @giovanyediazsalcedo9702
    @giovanyediazsalcedo9702 6 місяців тому +1

    Hola buenos dias Julio, Me gustaría tener una Asesoría Personalizada contigo, para tratar el tema de la interacción de P6 con Power Bi y Power Query. Saludos y quedo atento a tu Pronta respuesta

  • @jaimelaguna6448
    @jaimelaguna6448 Рік тому +1

    Hola Julio como estas, muy bien la explicación, tengo una duda, estoy analizando el 3 Trimetre 2023 vrs el año pasado, pero necesito gráficar el 2do trimestre de este año en el mismo análisis

    • @MenquisBI
      @MenquisBI  Рік тому

      Hola Jaime, como estas?. mmm, no queda 100% claro tu duda, pero para irte al total del trimestre anterior (dado que entiendo que estas en el III Trimestre) podrías usar la formula PARALLELPERIOD(dimCalendario[Fecha]-1, QUARTER), eso te retornaría el II Trimestre.
      Saludos.

  • @blancocarlos1970
    @blancocarlos1970 Рік тому +1

    Muy bueno. Como puedo utilizar sp con fechas y que se actualicen las los datos. Es decir tner un sp con valores de fechas y luego en modidicar esas fechas en modo visual y que se me actualicen los datos en tiempo real
    Es posible?. Gracias,

    • @MenquisBI
      @MenquisBI  Рік тому

      Hola Carlos, gracias por tus comentarios.
      La verdad no me queda 100% clara tu consulta.
      Los SP no son compatibles con Power BI, pero si puedes utilizar parámetros para lograr algo parecido, pero ese tema entra dentro del mundo de Power Query. Según los valores de esos parámetros se cargará cierta información al reporte.
      Saludos.

  • @javieribazeta6233
    @javieribazeta6233 10 місяців тому +1

    Excelente video, algunas consultas:
    Puede sé que Power BI se conecte con BD MySql hasta la versión 8.0.28 ¿?
    y con las versiones posteriores como se hace ¿?
    Me dan informes Power BI en la nube. Yo solo tengo la versión Desktop
    Me piden modificarlos. Que necesito ¿?
    Una licencia Pro ¿?
    Que me envíen los archivos .pbix ¿? Y acceso a las BD ¿?
    Se que las BD NO están en la nube, están en un servidor local.
    Si puedo ver los archivos en la nube puedo modificarlos con Power BI desktop ??
    Por lo que escuché en el video las fórmulas dax están solo disponible en la versión desktop
    Como hago si todo esta en la nube

    • @MenquisBI
      @MenquisBI  10 місяців тому

      Hola Javier, gracias por tu comentarios.
      Bueno, hasta donde tengo entendido Power BI se puede conectar con cualquier version de MySQL.
      Respecto al tema de la nube, si te dan acceso al reporte deberías tener la opción de descargar el archivo pbix. directamente desde la web, y listo.
      Ahora a veces esa opción es bloqueada por las empresas, en ese caso deberás solicitar que te envíen los archivos .pbix. de la última versión del informe.
      El tema de los accesos en teoría ya deben estar configurados en el mismo archivo pbix. si no lo tendrás que solicitar. Es irrelevante si están en una base de datos local o en la nube, solo solicitas las credenciales y listo.
      Si deseas modificar un informe, puedes hacerlo desde la web, pero no tienes todas las opciones disponibles. Cuando desarrolles , lo ideal es usar Power BI Desktop, desde la nube actualmente no es posible modificar las medidas y columnas con DAX, así que debes tener el archivo pbix, imagino que en un futuro podrán hacerse cambios desde la web, pero actualmente no es posible.
      Una vez modificado el informe, lo vuelves a publicar y ya se verán reflejados los cambios.
      Espero haber respondido a la mayoría de tus consultas.
      Saludos cordiales.

  • @davidjosevarelagarcia7011
    @davidjosevarelagarcia7011 8 місяців тому +1

    Hola Julio como estas, quiero hacerte una consulta , quiere obtener un valor a partir de rango de fecha , en la cual utilice datebetwen : CALCULATE([Perdida_],
    DATESBETWEEN(Calendario[Fechas],DATE(2023,11,01),LASTDATE(Calendario[Fechas]))
    ) con esta formula obtengo el resultado, pero yo quiero sumar unicamente los valores negativos, con esta formula hace la suma entre neg y pos , pero solo necesito que sume los negativos , algun tips para hacer el otro filtro?

    • @MenquisBI
      @MenquisBI  8 місяців тому

      Hola David.
      Hay muchas variantes al respecto, tendría que saber exactamente lo que necesitas. Entiendo que quieres considerar solo los DIAS QUE SON NEGATIVOS.
      Si es así lo que tiene que hacer es agregar un FILTER al DATESBETWEEN y ahi filtrar los registros < 0.
      Saludos.

    • @davidjosevarelagarcia7011
      @davidjosevarelagarcia7011 8 місяців тому +1

      @@MenquisBI , en efecto Julio, solo los negativos, pero me embarga la duda, sobre como aplicar el filter,porque no se porque expresion filtrar, te dejo la formula, en caso que me puedas dar un poco de luz, muy agradecido.
      CALCULATE([Perdida_],
      FILTER(
      DATESBETWEEN(Calendario[Fechas],DATE(2023,11,01),LASTDATE(Calendario[Fechas])) ,?????
      )

    • @MenquisBI
      @MenquisBI  8 місяців тому

      @@davidjosevarelagarcia7011 Lo que sucede es que yo tampoco se que es lo que quieres considerar como negativo, sería en este caso la columna o medida que desees tomar negativo.

  • @ivanmeseguer6621
    @ivanmeseguer6621 Рік тому +1

    Buenas noches,
    Variante sin inteligencia de tiempo
    Dias Delivery Promedio (Laborables) =
    AVERAGEX(
    fctVentas;
    COUNTROWS(
    FILTER(
    ALL(dimCalendario);
    dimCalendario[Fecha] >= fctVentas[Fecha Orden] &&
    dimCalendario[Fecha]

    • @MenquisBI
      @MenquisBI  Рік тому

      Hola Iván, excelente alternativa.
      Cuando veamos la función GENERATE veremos que hay un enfoque aún más eficiente para obtener este indicador :)
      Saludos.