{"id":828,"date":"2026-01-24T14:48:55","date_gmt":"2026-01-24T14:48:55","guid":{"rendered":"https:\/\/agustincastro.es\/?p=828"},"modified":"2026-01-24T14:49:18","modified_gmt":"2026-01-24T14:49:18","slug":"power-bi-inteligencia-de-tiempo-sameperiodlastyear-y-dateadd","status":"publish","type":"post","link":"https:\/\/agustincastro.es\/index.php\/2026\/01\/24\/power-bi-inteligencia-de-tiempo-sameperiodlastyear-y-dateadd\/","title":{"rendered":"\ud83d\udccc Power BI. Inteligencia de tiempo. SAMEPERIODLASTYEAR y DATEADD"},"content":{"rendered":"\n<p>En el an\u00e1lisis de datos, entender <strong>c\u00f3mo evolucionan los indicadores en el tiempo<\/strong> es tan importante como conocer su valor actual. Aqu\u00ed es donde cobra especial relevancia la <strong>inteligencia de tiempo en Power BI<\/strong>.<\/p>\n\n\n\n<p>La inteligencia de tiempo permite comparar periodos de forma autom\u00e1tica y consistente, facilitando un an\u00e1lisis evolutivo que aporta mucho m\u00e1s contexto a los datos. En este caso, trabaj\u00e9 con un conjunto de datos de ventas para analizar su comportamiento entre <strong>2024 y 2025<\/strong>, centr\u00e1ndome en dos comparativas clave:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Las ventas de un periodo frente al <strong>mismo periodo del a\u00f1o anterior<\/strong>.<\/li>\n\n\n\n<li>Las ventas de un mes respecto al <strong>mes inmediatamente anterior<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Para ello, he utilizado dos funciones fundamentales de DAX:<\/p>\n\n\n\n<p>\ud83d\udd39 <strong>SAMEPERIODLASTYEAR()<\/strong> \u2192 para obtener las ventas del mismo periodo del a\u00f1o anterior.<br>\ud83d\udd39 <strong>DATEADD()<\/strong> \u2192 para calcular las ventas correspondientes al mes anterior.<\/p>\n\n\n\n<p>A partir de estas medidas, fue posible calcular las variaciones mensuales y anuales, mostrando de forma muy visual cu\u00e1ndo las ventas eran <strong>superiores o inferiores<\/strong>, destac\u00e1ndolo mediante formato condicional en <strong>verde y rojo<\/strong>.<\/p>\n\n\n\n<p><strong>Comparativa mensual interanual (2025 vs 2024) utilizando SAMEPERIODLASTYEAR()<\/strong><\/p>\n\n\n\n<p>Ventas a\u00f1o anterior = CALCULATE([Ventas], SAMEPERIODLASTYEAR(Calendario[Date]))<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"691\" height=\"701\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2026\/01\/image-8.png\" alt=\"\" class=\"wp-image-830 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2026\/01\/image-8.png 691w, https:\/\/agustincastro.es\/wp-content\/uploads\/2026\/01\/image-8-296x300.png 296w\" data-sizes=\"(max-width: 691px) 100vw, 691px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 691px; --smush-placeholder-aspect-ratio: 691\/701;\" \/><\/figure>\n<\/div>\n\n\n<p><strong>Variaci\u00f3n mensual de ventas en los a\u00f1os 2024 y 2025 mediante DATEADD()<\/strong><\/p>\n\n\n\n<p>Ventas mes anterior = CALCULATE([Ventas], DATEADD(Calendario[Date], -1, MONTH))<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"588\" height=\"720\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2026\/01\/image-9.png\" alt=\"\" class=\"wp-image-831 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2026\/01\/image-9.png 588w, https:\/\/agustincastro.es\/wp-content\/uploads\/2026\/01\/image-9-245x300.png 245w\" data-sizes=\"(max-width: 588px) 100vw, 588px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 588px; --smush-placeholder-aspect-ratio: 588\/720;\" \/><\/figure>\n<\/div>\n\n\n<p><em>Un aspecto especialmente interesante de <strong>SAMEPERIODLASTYEAR()<\/strong> es que no solo funciona con a\u00f1os completos o meses cerrados, sino tambi\u00e9n con <strong>rangos de fechas parciales<\/strong>. Esto permite, por ejemplo, comparar las ventas del <strong>1 al 15 de enero de 2025<\/strong> con las ventas registradas <strong>del 1 al 15 de enero de 2024<\/strong>, respetando exactamente el mismo intervalo temporal. Esta capacidad resulta muy \u00fatil en an\u00e1lisis en curso, cuando el mes a\u00fan no ha finalizado y se necesita una comparativa realista y homog\u00e9nea. <\/em><\/p>\n\n\n\n<p>Este tipo de an\u00e1lisis permite responder de forma muy directa a preguntas como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00bfEstamos vendiendo m\u00e1s que el a\u00f1o pasado en este mismo mes?<\/li>\n\n\n\n<li>\u00bfEl mes actual ha mejorado o empeorado respecto al anterior?<\/li>\n\n\n\n<li>\u00bfExiste una tendencia de crecimiento o decrecimiento sostenida?<\/li>\n<\/ul>\n\n\n\n<p>M\u00e1s all\u00e1 del c\u00e1lculo t\u00e9cnico, la clave est\u00e1 en c\u00f3mo estas comparativas aportan contexto al dato y permiten interpretar la evoluci\u00f3n real del negocio, facilitando una lectura mucho m\u00e1s clara para la toma de decisiones. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el an\u00e1lisis de datos, entender c\u00f3mo evolucionan los indicadores en el tiempo es tan importante como conocer su valor actual. Aqu\u00ed es donde cobra especial relevancia la inteligencia de tiempo en Power BI. La inteligencia de tiempo permite comparar periodos de forma autom\u00e1tica y consistente, facilitando un an\u00e1lisis evolutivo que aporta mucho m\u00e1s contexto [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":829,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,5],"tags":[],"class_list":["post-828","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-power-bi","category-tecnica-y-practica"],"_links":{"self":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/comments?post=828"}],"version-history":[{"count":1,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/828\/revisions"}],"predecessor-version":[{"id":832,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/828\/revisions\/832"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/media\/829"}],"wp:attachment":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/media?parent=828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/categories?post=828"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/tags?post=828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}