<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>reportingfinanciero.es</title>
	<atom:link href="https://reportingfinanciero.es/feed/" rel="self" type="application/rss+xml" />
	<link>https://reportingfinanciero.es/</link>
	<description>Digitalización financiera</description>
	<lastBuildDate>Wed, 11 Mar 2026 23:40:00 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://reportingfinanciero.es/wp-content/uploads/2024/01/logo-repoting-financiero-190x190-1-150x150.webp</url>
	<title>reportingfinanciero.es</title>
	<link>https://reportingfinanciero.es/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Mercancía en tránsito en el cierre contable: cómo detectarla y ajustarla con Power BI</title>
		<link>https://reportingfinanciero.es/mercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi/</link>
		
		<dc:creator><![CDATA[Javier San Juan]]></dc:creator>
		<pubDate>Wed, 11 Mar 2026 23:39:58 +0000</pubDate>
				<category><![CDATA[Sin categoría]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3348</guid>

					<description><![CDATA[<p>En el post de hoy vamos a intentar arrojar algo de luz sobre un clásico debate contable… ¿Contabilizar el gasto de compra de aprovisionamientos al recepcionar el material o al contabilizar la factura de compra? He trabajado con empresas que optan por caminos distintos… En esta ocasión vamos a profundizar en la primera opción, que ... </p>
<p class="read-more-container"><a title="Mercancía en tránsito en el cierre contable: cómo detectarla y ajustarla con Power BI" class="read-more button" href="https://reportingfinanciero.es/mercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi/#more-3348" aria-label="Leer más sobre Mercancía en tránsito en el cierre contable: cómo detectarla y ajustarla con Power BI">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/mercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi/">Mercancía en tránsito en el cierre contable: cómo detectarla y ajustarla con Power BI</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En el post de hoy vamos a intentar arrojar algo de luz sobre un clásico debate contable…</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>¿Contabilizar el gasto de compra de aprovisionamientos al recepcionar el material o al contabilizar la factura de compra?</strong></p>
</blockquote>



<p>He trabajado con empresas que optan por caminos distintos…</p>



<p>En esta ocasión vamos a profundizar en la primera opción, que es la que yo prefiero: contabilizar el gasto con la recepción del material (al meter el albarán de compra en el sistema), llevando como contrapartida en el asiento una cuenta 4009 de proveedores, facturas pendientes de recibir.</p>



<p>De esa forma, conseguimos llevar una <strong>correlación entre el gasto</strong>, que entra en PyG por la compra, <strong>y el ingreso</strong>, producido en la cuenta de variación de existencias por el aumento de stock (entra nueva mercancía en el almacén).</p>



<p>Con lo que el efecto en PyG por la recepción de la mercancía es cero. El gasto entrará más adelante, en el momento en el que se produzca la entrega de la mercancía al cliente y se produzca la disminución de stock vía variación de existencias negativa.</p>



<p>Y cuando llega la factura del proveedor y la contabilizamos, lo hacemos contra la cuenta 4009, cancelando el saldo generado con la recepción del material.</p>



<p>Por tanto, por cada albarán de compra recibido en el sistema, se genera el siguiente asiento:</p>



<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;x&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>



<p>60000000 Compra de mercaderías     a    Proveedores, facturas pendientes de recibir 4009XXXX</p>



<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-x&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>



<p>Y al regularizar las existencias, se generaría este otro asiento:</p>



<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;x&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>



<p>30000000 Mercaderías&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a&nbsp;&nbsp;&nbsp;&nbsp; Variación de existencias de mercaderías&nbsp;&nbsp;&nbsp;&nbsp; 61000000</p>



<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-x&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>



<p><strong>Efecto en PyG:  0</strong></p>



<p></p>



<p>En el momento en que contabilicemos la factura del proveedor, el asiento quedaría así:</p>



<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;x&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>



<p>4009XXXX Proveedores facturas pendientes de recibir&nbsp;&nbsp;&nbsp; a&nbsp;&nbsp;&nbsp;&nbsp; Proveedores&nbsp;&nbsp;&nbsp;&nbsp; 4000XXXX</p>



<p>47200000&nbsp; IVA Soportado</p>



<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;x&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>



<p></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Donde hay que tener precaución con este sistema es en chequear en los cierres la mercancía que aún no ha llegado a tu almacén pero tu proveedor ya te ha facturado.</strong></p>



<p>Este tipo de situaciones es más habitual de lo que parece, especialmente cuando trabajamos con proveedores internacionales o con plazos de transporte largos.</p>
</blockquote>



<p></p>



<p>Imagina un material que sale del almacén de tu proveedor el 29 de diciembre y tu proveedor te envía la factura con la salida del material.  Contabilizas la factura con fecha 29/12 contra la 4009, pero el material no llega hasta el 4 de enero, de manera que la cuenta 4009 queda a cierre de ejercicio con un saldo deudor, algo poco coherente&#8230; (estaríamos reflejando un saldo en “proveedores, facturas pendientes de recibir” que se genera por una factura que ya he recibido…).</p>



<p><strong>¿Qué ajuste realizo en los cierres contables?.</strong></p>



<p>Obtengo el listado de albaranes de compra facturados en el ejercicio N y recepcionados en el ejercicio N+1, con el detalle por proveedor,  y contabilizo ese importe como existencias de mercaderías en tránsito, disminuyendo como contrapartida el saldo de las cuentas 4009 correspondientes a cada proveedor:</p>



<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-x&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>



<p>3000000X Mercaderías en tránsito       a     Proveedores, facturas pendientes de recibir 4009XXXX</p>



<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;x&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>



<p>Así, ese importe queda reflejado como lo que realmente es, un activo que aparece en existencias por la mercancía que está camino de mis almacenes; y no como un saldo deudor en facturas pendientes de recibir, que minoraría el pasivo en la partida de acreedores comerciales.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Este tipo de situaciones es difícil de detectar manualmente cuando el volumen de compras es elevado.</strong></p>



<p>Utilizando <strong>Power BI</strong> podemos identificar fácilmente los albaranes “problemáticos”, obteniendo un listado que sirve de base para realizar los ajustes de cierre.</p>
</blockquote>



<p></p>



<p><strong>Detallo a continuación el paso a paso de cómo realizarlo</strong>, tomando como referencia el ERP SAGE 200 (tendrías que adaptarlo al ERP que utilices).</p>



<p></p>



<ul class="wp-block-list">
<li><strong>1.-</strong> Lo primero que vamos a generar es un parámetro, que nos servirá como fecha de corte de nuestro cierre contable.</li>
</ul>



<p>Para ello, vamos al menú de Power Query “Administrar parámetros” y elegimos la opción “Crear parámetro nuevo”, configurándolo de la siguiente forma:</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/03/image.jpg"><img fetchpriority="high" decoding="async" width="887" height="774" src="https://reportingfinanciero.es/wp-content/uploads/2026/03/image.jpg" alt="" class="wp-image-3349" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/03/image.jpg 887w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-300x262.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-768x670.jpg 768w" sizes="(max-width: 887px) 100vw, 887px" /></a></figure>



<p></p>



<ul class="wp-block-list">
<li><strong>2.- </strong>Nos conectamos a la base de datos de SQL del ERP y elegimos la tabla de las cabeceras de los albaranes de compra:</li>
</ul>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1.jpg"><img decoding="async" width="1024" height="797" src="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1-1024x797.jpg" alt="" class="wp-image-3351" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1-1024x797.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1-300x233.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1-768x598.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1.jpg 1105w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<ul class="wp-block-list">
<li><strong>3.- </strong>Una vez que tenemos la tabla en Power Query, filtramos por la/s empresa/s que queramos chequear y nos quedamos con los siguientes campos:</li>
</ul>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/03/image.png"><img decoding="async" width="999" height="328" src="https://reportingfinanciero.es/wp-content/uploads/2026/03/image.png" alt="" class="wp-image-3350" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/03/image.png 999w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-300x98.png 300w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-768x252.png 768w" sizes="(max-width: 999px) 100vw, 999px" /></a></figure>



<p></p>



<ul class="wp-block-list">
<li><strong>4.- </strong>Ahora, nos quedaría filtrar los albaranes que son posteriores a la fecha de cierre y cuya fecha de factura es anterior a la fecha de cierre.</li>
</ul>



<p>Desde el campo “FechaAlbaran” vamos al menú de filtrado, a través de la flecha que está al lado del nombre del campo, y elegimos la siguiente opción:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-3.jpg"><img loading="lazy" decoding="async" width="1024" height="562" src="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-3-1024x562.jpg" alt="" class="wp-image-3353" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-3-1024x562.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-3-300x165.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-3-768x421.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-3.jpg 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<ul class="wp-block-list">
<li><strong>5.-</strong> En el menú que nos sale, realizamos la siguiente configuración desde la opción de “Uso avanzado”, vinculando los valores de filtrado al parámetro que creamos en el primer paso:</li>
</ul>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1.png"><img loading="lazy" decoding="async" width="749" height="342" src="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1.png" alt="" class="wp-image-3354" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1.png 749w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-1-300x137.png 300w" sizes="auto, (max-width: 749px) 100vw, 749px" /></a></figure>



<p></p>



<ul class="wp-block-list">
<li><strong>6.-</strong>  Con eso, nos quedaría el listado de los albaranes “problemáticos”, pudiendo ya desde Power BI sacar un listado de importes por proveedor y hacer los asientos de ajustes correspondientes:</li>
</ul>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-2.jpg"><img loading="lazy" decoding="async" width="1024" height="291" src="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-2-1024x291.jpg" alt="" class="wp-image-3352" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/03/image-2-1024x291.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-2-300x85.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-2-768x218.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/03/image-2.jpg 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p></p>



<p>En un próximo post hablaremos de la otra alternativa, contabilizar el gasto con la contabilización de la factura, y de qué ajustes habría que hacer si seguimos ese método para no falsear nuestros resultados. Como no, también veremos cómo calcular esos ajustes con Power BI.</p>



<p></p>



<p></p>



<p></p>



<p></p>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fmercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi%2F&amp;linkname=Mercanc%C3%ADa%20en%20tr%C3%A1nsito%20en%20el%20cierre%20contable%3A%20c%C3%B3mo%20detectarla%20y%20ajustarla%20con%20Power%20BI" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fmercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi%2F&amp;linkname=Mercanc%C3%ADa%20en%20tr%C3%A1nsito%20en%20el%20cierre%20contable%3A%20c%C3%B3mo%20detectarla%20y%20ajustarla%20con%20Power%20BI" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fmercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi%2F&amp;linkname=Mercanc%C3%ADa%20en%20tr%C3%A1nsito%20en%20el%20cierre%20contable%3A%20c%C3%B3mo%20detectarla%20y%20ajustarla%20con%20Power%20BI" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fmercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi%2F&amp;linkname=Mercanc%C3%ADa%20en%20tr%C3%A1nsito%20en%20el%20cierre%20contable%3A%20c%C3%B3mo%20detectarla%20y%20ajustarla%20con%20Power%20BI" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fmercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi%2F&amp;linkname=Mercanc%C3%ADa%20en%20tr%C3%A1nsito%20en%20el%20cierre%20contable%3A%20c%C3%B3mo%20detectarla%20y%20ajustarla%20con%20Power%20BI" title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fmercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi%2F&amp;linkname=Mercanc%C3%ADa%20en%20tr%C3%A1nsito%20en%20el%20cierre%20contable%3A%20c%C3%B3mo%20detectarla%20y%20ajustarla%20con%20Power%20BI" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fmercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi%2F&amp;linkname=Mercanc%C3%ADa%20en%20tr%C3%A1nsito%20en%20el%20cierre%20contable%3A%20c%C3%B3mo%20detectarla%20y%20ajustarla%20con%20Power%20BI" title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/mercancia-en-transito-en-el-cierre-contable-como-detectarla-y-ajustarla-con-power-bi/">Mercancía en tránsito en el cierre contable: cómo detectarla y ajustarla con Power BI</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Anexando datos cuando el ERP almacena la información de cada año en una tabla distinta.</title>
		<link>https://reportingfinanciero.es/anexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta/</link>
		
		<dc:creator><![CDATA[Javier San Juan]]></dc:creator>
		<pubDate>Mon, 02 Feb 2026 18:18:02 +0000</pubDate>
				<category><![CDATA[Finanzas]]></category>
		<category><![CDATA[Power Query]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3314</guid>

					<description><![CDATA[<p>En este post voy a detallar el paso a paso de un reto que tuve que afrontar recientemente en un proyecto de consultoría. Reto: El objetivo era construir un cuadro de mando financiero para un cliente, para lo que tenía que capturar de la base de datos SQL Server de su ERP los datos de ... </p>
<p class="read-more-container"><a title="Anexando datos cuando el ERP almacena la información de cada año en una tabla distinta." class="read-more button" href="https://reportingfinanciero.es/anexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta/#more-3314" aria-label="Leer más sobre Anexando datos cuando el ERP almacena la información de cada año en una tabla distinta.">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/anexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta/">Anexando datos cuando el ERP almacena la información de cada año en una tabla distinta.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En este post voy a detallar el paso a paso de un reto que tuve que afrontar recientemente en un proyecto de consultoría.</p>



<p class="has-large-font-size"><strong><u>Reto:</u></strong></p>



<p>El objetivo era construir un cuadro de mando financiero para un cliente, para lo que tenía que capturar de la base de datos SQL Server de su ERP los datos de los movimientos del libro diario.</p>



<p>El cliente quería ver los datos de los últimos 5 años y en la base de datos se generaba una tabla distinta para cada empresa y ejercicio.</p>



<p>Al ser un modelo financiero multiempresa (había que mostrar la información de las 3 empresas del grupo), había que conectarse a 15 tablas distintas para conseguir toda la información contable necesaria (3 empresas * 5 ejercicios).</p>



<p>La nomenclatura de las tablas seguía el siguiente patrón:&nbsp; DATDIXXYY , donde XX refleja el código de la empresa (podía tener los valores 21, 22 o 24) e YY refleja los 2 últimos dígitos del ejercicio (22 para 2022, 23 para 2023 …).</p>



<p>Por tanto, y a modo de ejemplo, DATDI2122 sería la tabla que recoge los apuntes contables de la empresa 21 del ejercicio 2022.</p>



<p>Mi primer acercamiento fue hacer una consulta distinta para cada empresa y ejercicio (15 consultas distintas) y después anexarlas en Power Query.</p>



<p>Conseguía tener toda la información pero tenía un principal problema a resolver:</p>



<p>Cada cambio de ejercicio tenía que modificar el origen de las consultas. Por ejemplo, con la entrada del año 2026, tenía que añadir las tablas DATDIXX26 y eliminar las tablas DATDIXX21 (quiero tener únicamente 5 ejercicios).</p>



<p>Voy a explicar a continuación cómo poder hacer esa búsqueda de las tablas a cargar al modelo de forma dinámica y, además, anexar las 15 tablas dentro del mismo script de Power Query para evitarnos tener que hacer 15 consultas separadas y después anexarlas.</p>



<p class="has-large-font-size"><strong><u>Solución:</u></strong></p>



<p>A efectos de poder simplificar la explicación lo máximo posible, voy a indicar la solución paso a paso apoyándome de un fichero Excel en el que tengo creadas 15 tablas que simulan cada una de las tablas a las que nos conectaríamos a SQL.</p>



<p class="has-base-background-color has-background"><strong>NOTA: </strong>Te dejaré enlace de descarga al final del post con el fichero Excel donde están las tablas, un txt con el script del código M empleado, y el fichero pbix con el reto resuelto. Con una pequeña modificación del paso de Origen que te explicaré más adelante obtendrás el mismo resultado cuando cambies el origen a tablas de una BBDD de SQL Server.</p>



<p>Muestro en la siguiente imagen la primera de las tablas, la de la empresa 21 del ejercicio 2022, es decir, DATDI2122:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image.jpg"><img loading="lazy" decoding="async" width="1024" height="487" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1024x487.jpg" alt="" class="wp-image-3316" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1024x487.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-300x143.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-768x366.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image.jpg 1107w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Vemos como en el nombre de la tabla hemos indicado “DATDI2122” y, para hacer la comprobación en la carga de los datos, tanto en el importe del Debe (celda B2) como en el concepto (celda D2) he hecho referencia al nombre de la tabla (2122).</p>



<p><strong>NOTA: </strong>He incluido en cada tabla un único apunte contable y unas pocas columnas para visualizar mejor la información una vez que anexemos todas las tablas. En el SQL real tendremos obviamente todos los apuntes contables de la empresa y ejercicio seleccionado, además de todas las columnas que se almacenen en la base de datos.</p>



<p>Explicado esto, vamos a ir a Power Query para ver cómo realizamos la conexión a la información:</p>



<p>Pinchamos en Nuevo Origen → Libro de Excel ; y seleccionamos en nuestro equipo el fichero donde tenemos la información.</p>



<p>Una vez cargado nos aparecen en el navegador todas las posibles conexiones (todas las tablas y hojas).</p>



<p>Como se muestra en la siguiente imagen, en lugar de hacer check en las distintas tablas, hacemos click derecho sobre la parte que tiene el icono de carpeta y el nombre del fichero Excel, y pulsamos sobre “Transformar datos”:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-6.png"><img loading="lazy" decoding="async" width="1024" height="932" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-6-1024x932.png" alt="" class="wp-image-3332" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-6-1024x932.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-6-300x273.png 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-6-768x699.png 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-6.png 1152w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Nos aparecen entonces todas las posibles conexiones pero dentro de una consulta de Power Query:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4.png"><img loading="lazy" decoding="async" width="1024" height="720" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4-1024x720.png" alt="" class="wp-image-3326" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4-1024x720.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4-300x211.png 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4-768x540.png 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4.png 1105w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Si vamos al editor avanzado de Power Query, veremos que tenemos únicamente el paso de Origen:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5.png"><img loading="lazy" decoding="async" width="1024" height="164" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5-1024x164.png" alt="" class="wp-image-3327" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5-1024x164.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5-300x48.png 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5-768x123.png 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5.png 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Vamos a pegar ahora en el editor avanzado el script que te dejo en el material de descarga y <strong>después lo vamos a explicar paso a paso</strong>.</p>



<p><strong>NOTA: </strong>Debes adaptar en el paso de origen del script la ruta de tu equipo donde guardes el fichero y el nombre que le des al fichero.</p>



<p>Quedaría el editor avanzado como muestro en la siguiente imagen:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3.png"><img loading="lazy" decoding="async" width="1024" height="682" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3-1024x682.png" alt="" class="wp-image-3324" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3-1024x682.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3-300x200.png 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3-768x512.png 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3.png 1105w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Y si pinchamos en “Listo”, veremos cómo obtenemos el resultado deseado: traernos en una única consulta la información de los apuntes contables de las 3 empresas de los 5 años (vemos en la columna “Debe” como los importes hacen referencia a los códigos de empresa y ejercicios requeridos (XXYY que indicábamos anteriormente):</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1.png"><img loading="lazy" decoding="async" width="676" height="482" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1.png" alt="" class="wp-image-3317" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1.png 676w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1-300x214.png 300w" sizes="auto, (max-width: 676px) 100vw, 676px" /></a></figure>



<p></p>



<p></p>



<p class="has-large-font-size"><strong><u>Explicación del código M:</u></strong></p>



<p>Una vez conseguido el reto, vamos ahora a explicar cada uno de los pasos aplicados en Power Query:</p>



<p><strong>Paso 1.- Origen:</strong></p>



<p>Ya explicado anteriormente. En la segunda imagen del post vemos en detalle cómo llegar, y el resultado sería el de la tercera imagen.</p>



<p><strong>Paso 2.- ListaEmpresas:</strong></p>



<p>Creamos una lista con las empresas que queremos incorporar a nuestro modelo multiempresa (en nuestro caso las empresas 21, 22 y 24):</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image.png"><img loading="lazy" decoding="async" width="769" height="403" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image.png" alt="" class="wp-image-3319" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image.png 769w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-300x157.png 300w" sizes="auto, (max-width: 769px) 100vw, 769px" /></a></figure>



<p></p>



<p><strong>Paso 3.- Anio:</strong></p>



<p>Nos quedamos con los 2 últimos dígitos del año actual (dinámico con el DateTime.LocalNow), que será el último que queremos incorporar a nuestro modelo. Serían las YY del nombre de las tablas a importar:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1.jpg"><img loading="lazy" decoding="async" width="1024" height="429" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1-1024x429.jpg" alt="" class="wp-image-3320" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1-1024x429.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1-300x126.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1-768x322.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-1.jpg 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p><strong>Paso 4.- ListaAnios:</strong></p>



<p>Creamos una lista que va hasta el año calculado en el paso anterior (que sería el último ejercicio) y empieza 4 años antes (para traernos los últimos 5 ejercicios requeridos); y los pasamos a formato texto:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="892" height="393" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/Imagen-9.png" alt="" class="wp-image-3345" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/Imagen-9.png 892w, https://reportingfinanciero.es/wp-content/uploads/2026/02/Imagen-9-300x132.png 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/Imagen-9-768x338.png 768w" sizes="auto, (max-width: 892px) 100vw, 892px" /></figure>



<p></p>



<p></p>



<p><strong>Paso 5.- FiltrarTablas:</strong></p>



<p>El código completo de este paso no se ve en la siguiente imagen y es por lo que lo pego en texto a continuación:</p>



<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex">
<p>= Table.SelectRows(Origen, each</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; let</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Nombre = [Item],</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EsTabla = [Kind] = «Table»,</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EmpresaValida = List.AnyTrue(List.Transform(ListaEmpresas, (e) =&gt; Text.StartsWith(Nombre, «DATDI» &amp; e))),</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AnioValido = List.AnyTrue(List.Transform(ListaAnios, (a) =&gt; Text.EndsWith(Nombre, a)))</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EsTabla and EmpresaValida and AnioValido</p>



<p>&nbsp;&nbsp;&nbsp; )</p>
</div>



<p></p>



<p>Lo que hacemos es seleccionar los registros que nos quedamos del primer paso (Origen), filtrando porque el nombre de la columna “Item” empiece por “DATDI” y cualquiera de los códigos de empresa de la ListaEmpresas del paso 2 (es decir, DATDI21, DATDI22 o DATDI24).</p>



<p>Además, el nombre de la columna “Item” debe acabar por cualquiera de los ejercicios indicados en la lista “ListaAnios” del paso 4 (22 a 26, es decir, de los ejercicios 2022 al 2026).</p>



<p>De forma adicional, la columna “Kind” del paso de Origen tiene que ser del tipo “Table”.</p>



<p>Obtenemos como resultado lo siguiente:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2.png"><img loading="lazy" decoding="async" width="1024" height="503" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2-1024x503.png" alt="" class="wp-image-3325" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2-1024x503.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2-300x147.png 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2-768x377.png 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2.png 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p><strong>Paso 6.- TablasConEmpresa:</strong></p>



<p>Detallamos nuevamente el código M de este paso:</p>



<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex">
<p>= Table.AddColumn(</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FiltrarTablas,</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; «DataConEmpresa»,</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; each</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; let</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NombreTabla = [Item],</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Empresa = Number.FromText(Text.Middle(NombreTabla, 5, 2))</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Table.AddColumn(</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [Data],</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; «id Empresa»,</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; each Empresa,</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Int64.Type</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</p>
</div>



<p></p>



<p>Lo que hacemos es añadir una nueva columna a los datos que vienen en la columna “Data”.&nbsp; Al ser un modelo multiempresa, necesitamos añadir a los datos que nos vienen en los apuntes el código de la empresa (en mi caso esta información no venía del origen, si en tu caso ya te viene el código de la empresa en las tablas de los apuntes contables te ahorrarías este paso)..</p>



<p>La consulta que estamos construyendo será nuestra tabla de hechos de los movimientos contables, y esta columna del código de empresa será la que relacionaremos con la dimensión empresas para poder filtrar de qué empresa/s queremos mostrar la información.</p>



<p>El código de la empresa lo cogemos de la columna “Item”, con Text.Middle, empezando por la posición 5 y cogiendo 2 caracteres.&nbsp; Por ejemplo, en DATDI2122 nos quedamos con 21.</p>



<p>Además, le damos formato número entero.</p>



<p>Toda la información que venía en las tablas originales, más la nueva columna con el código de la empresa, quedan en la nueva columna “DataConEmpresa”:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2.jpg"><img loading="lazy" decoding="async" width="1024" height="463" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2-1024x463.jpg" alt="" class="wp-image-3321" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2-1024x463.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2-300x136.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2-768x347.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-2.jpg 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p><strong>Paso 7.- ListaTablas:</strong></p>



<p>Creamos una lista con las tablas de la columna “DataConEmpresa” (posteriormente combinaremos las tablas incluidas en esta lista):</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4.jpg"><img loading="lazy" decoding="async" width="1024" height="540" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4-1024x540.jpg" alt="" class="wp-image-3323" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4-1024x540.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4-300x158.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4-768x405.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-4.jpg 1105w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p><strong>Paso 8.- TablasReducidas:</strong></p>



<p>Nos quedamos únicamente con las columnas que queramos llevar a nuestra consulta definitiva.</p>



<p>Al conectarnos al ERP, nos pueden llegar multitud de columnas y en este paso elegiríamos las columnas que necesitemos:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3.jpg"><img loading="lazy" decoding="async" width="1024" height="524" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3-1024x524.jpg" alt="" class="wp-image-3322" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3-1024x524.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3-300x153.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3-768x393.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-3.jpg 1105w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p><strong>Paso 9.- CombinarTodo:</strong></p>



<p>Combinamos todas las tablas de la lista anterior y obtendríamos las columnas que hayamos seleccionado para todos los apuntes contables de las 15 tablas que hemos indicado.</p>



<p>En nuestro caso nos salen solo 15 registros porque en el Excel había únicamente 1 apunte por cada tabla, pero cuando llevemos este código a producción nos aparecerán todos los apuntes contables de las 3 empresas de los últimos 5 años, en una única consulta:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5.jpg"><img loading="lazy" decoding="async" width="1024" height="532" src="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5-1024x532.jpg" alt="" class="wp-image-3328" srcset="https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5-1024x532.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5-300x156.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5-768x399.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2026/02/image-5.jpg 1105w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>En un último paso daríamos a cada columna su tipo de dato y ya tendríamos toda la información lista para incorporar a nuestro modelo.</p>



<p></p>



<p class="has-large-font-size"><strong><u>Origen SQL:</u></strong></p>



<p>Si queremos cambiar el código para que nos sirva para capturar los datos de una base de datos de SQL, únicamente tendremos que modificar el código del primer paso, el de Origen, indicando lo siguiente:</p>



<p>&nbsp;&nbsp;&nbsp; Origen = Sql.Database(Servidor, BBDD),</p>



<p></p>



<p class="has-large-font-size"><strong><u>Fin:</u></strong></p>



<p>Y con eso ya lo tendríamos!!!</p>



<p>Espero que te haya resultado útil.</p>



<p>Este proyecto ha sido el primero en el que he usado esta técnica y la verdad es que me ha arreglado la papeleta…&nbsp;</p>



<p>Agradecer al gran Ricardo Rincón que me ayudó a encontrar esta solución. Entre su gran soporte, un poco de ChatGPT y adaptando todo a los requisitos del proyecto, llegué a esta solución que funcionó de maravilla.</p>



<p>Seguramente haya otras formas de llegar al objetivo o de simplificar/optimizar esta solución, pero aquí tenéis una propuesta que podéis usar en vuestros futuros proyectos 😉</p>



<p>Te dejo por aquí el material para que puedas replicar el paso a paso y adaptarlo a tus propias necesidades (en el código M adapta la ruta de tu equipo en el primer paso de Origen):</p>



<p></p>



<div class="wp-block-kadence-advancedbtn kb-buttons-wrap kb-btns3314_020fad-c3"><a class="kb-button kt-button button kb-btn3314_61be3d-c4 kt-btn-size-standard kt-btn-width-type-auto kb-btn-global-fill kt-btn-has-text-true kt-btn-has-svg-false  wp-block-kadence-singlebtn" href="https://drive.google.com/drive/folders/1nXiaBXtVCwNLzfOU0WP5kkkTfh-cDKVM?usp=sharing" target="_blank" rel="noreferrer noopener"><span class="kt-btn-inner-text">Descargar</span></a></div>



<p></p>



<p></p>



<p></p>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fanexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta%2F&amp;linkname=Anexando%20datos%20cuando%20el%20ERP%20almacena%20la%20informaci%C3%B3n%20de%20cada%20a%C3%B1o%20en%20una%20tabla%20distinta." title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fanexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta%2F&amp;linkname=Anexando%20datos%20cuando%20el%20ERP%20almacena%20la%20informaci%C3%B3n%20de%20cada%20a%C3%B1o%20en%20una%20tabla%20distinta." title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fanexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta%2F&amp;linkname=Anexando%20datos%20cuando%20el%20ERP%20almacena%20la%20informaci%C3%B3n%20de%20cada%20a%C3%B1o%20en%20una%20tabla%20distinta." title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fanexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta%2F&amp;linkname=Anexando%20datos%20cuando%20el%20ERP%20almacena%20la%20informaci%C3%B3n%20de%20cada%20a%C3%B1o%20en%20una%20tabla%20distinta." title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fanexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta%2F&amp;linkname=Anexando%20datos%20cuando%20el%20ERP%20almacena%20la%20informaci%C3%B3n%20de%20cada%20a%C3%B1o%20en%20una%20tabla%20distinta." title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fanexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta%2F&amp;linkname=Anexando%20datos%20cuando%20el%20ERP%20almacena%20la%20informaci%C3%B3n%20de%20cada%20a%C3%B1o%20en%20una%20tabla%20distinta." title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fanexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta%2F&amp;linkname=Anexando%20datos%20cuando%20el%20ERP%20almacena%20la%20informaci%C3%B3n%20de%20cada%20a%C3%B1o%20en%20una%20tabla%20distinta." title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/anexando-datos-cuando-el-erp-almacena-la-informacion-de-cada-ano-en-una-tabla-distinta/">Anexando datos cuando el ERP almacena la información de cada año en una tabla distinta.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cómo filtrar datos a través de una lista en Power Query.</title>
		<link>https://reportingfinanciero.es/como-filtrar-datos-a-traves-de-una-lista-en-power-query/</link>
		
		<dc:creator><![CDATA[Javier San Juan]]></dc:creator>
		<pubDate>Thu, 18 Dec 2025 21:20:18 +0000</pubDate>
				<category><![CDATA[Finanzas]]></category>
		<category><![CDATA[Power Query]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3295</guid>

					<description><![CDATA[<p>En el post de hoy vamos a ver una técnica para hacer filtros en Power Query de manera dinámica a través de una lista. ¿En qué escenarios nos puede ser útil?. Por ejemplo, si tenemos un grupo de empresas y queremos montar un informe de ventas para algunas de ellas. O si tenemos varios almacenes ... </p>
<p class="read-more-container"><a title="Cómo filtrar datos a través de una lista en Power Query." class="read-more button" href="https://reportingfinanciero.es/como-filtrar-datos-a-traves-de-una-lista-en-power-query/#more-3295" aria-label="Leer más sobre Cómo filtrar datos a través de una lista en Power Query.">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/como-filtrar-datos-a-traves-de-una-lista-en-power-query/">Cómo filtrar datos a través de una lista en Power Query.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En el post de hoy vamos a ver una técnica para hacer filtros en Power Query de manera dinámica a través de una lista.</p>



<p><strong>¿En qué escenarios nos puede ser útil?. </strong></p>



<p>Por ejemplo, si tenemos un grupo de empresas y queremos montar un informe de ventas para algunas de ellas. O si tenemos varios almacenes y queremos realizar un informe de rotaciones, ventas o compras para ciertos almacenes (y que podamos cambiar el filtro de manera dinámica en una sola consulta).</p>



<p>Tendremos en Power Query una lista con las empresas/almacenes objeto del análisis y, si modificamos esa lista, se modificarán los filtros que se aplicarán en nuestras consultas.</p>



<p><strong>Veámoslo con un ejemplo.</strong></p>



<p>Supongamos que estamos elaborando un informe de ventas para nuestro grupo empresarial.</p>



<p>En primer lugar, nos conectamos a la base de datos del ERP, concretamente a la tabla que contiene el maestro de empresas, y filtramos las empresas de las que queremos hacer el informe (en nuestro ejemplo, las empresas 1 y 4):</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-6.png"><img loading="lazy" decoding="async" width="677" height="268" src="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-6.png" alt="" class="wp-image-3306" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-6.png 677w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-6-300x119.png 300w" sizes="auto, (max-width: 677px) 100vw, 677px" /></a></figure>



<p></p>



<p>Posteriormente, para ya dejar preparada nuestra dimensión empresas en el modelo, nos quedamos únicamente con los campos CodigoEmpresa y Empresa (que contiene el nombre de la sociedad):</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/12/image.png"><img loading="lazy" decoding="async" width="788" height="269" src="https://reportingfinanciero.es/wp-content/uploads/2025/12/image.png" alt="" class="wp-image-3297" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/12/image.png 788w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-300x102.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-768x262.png 768w" sizes="auto, (max-width: 788px) 100vw, 788px" /></a></figure>



<p></p>



<p>A continuación, vamos a hacer referencia a esta consulta dimEmpresas para generar una nueva consulta con la que vamos a generar la lista que nos va a servir para filtrar todos los datos del resto de consultas.</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-1.png"><img loading="lazy" decoding="async" width="633" height="571" src="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-1.png" alt="" class="wp-image-3298" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-1.png 633w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-1-300x271.png 300w" sizes="auto, (max-width: 633px) 100vw, 633px" /></a></figure>



<p></p>



<p>En la nueva consulta, nos vamos a quedar únicamente con la columna “CodigoEmpresa” y, desde el menú “Transformar” vamos a elegir la opción “Convertir en lista”:</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-2.png"><img loading="lazy" decoding="async" width="800" height="403" src="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-2.png" alt="" class="wp-image-3299" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-2.png 800w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-2-300x151.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-2-768x387.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></a></figure>



<p></p>



<p>Cambiamos el nombre de la consulta a “Lista empresas” y la consulta quedaría de la siguiente forma (vemos que el icono de la consulta ha cambiado de un icono de tabla a un icono de lista):</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-3.png"><img loading="lazy" decoding="async" width="596" height="264" src="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-3.png" alt="" class="wp-image-3300" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-3.png 596w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-3-300x133.png 300w" sizes="auto, (max-width: 596px) 100vw, 596px" /></a></figure>



<p></p>



<p>Ahora, para construir el modelo de ventas, vamos a imaginar que vamos a necesitar conectarnos, entre otras, a estas 6 tablas: CabeceraOfertaClientes, LineasOfertaClientes, CabeceraPedidoClientes, LineasPedidoClientes, CabeceraAlabaranClientes y LineasAlbaranClientes.</p>



<p>En cada una de las consultas, tendremos que filtrar los datos por el campo CodigoEmpresa, seleccionando únicamente las empresas 1 y 4.</p>



<p>Lo que vamos a conseguir con la técnica explicada en este post, es dejar vinculado ese filtro a nuestra consulta “Lista empresas”, de manera que si cambiamos el filtro de las empresas elegidas en la consulta “dimEmpresas”, como la consulta “Lista empresas” está referenciada a “dimEmpresas”, automáticamente cambien las empresas que se filtran en las 6 tablas relacionadas con las ventas.</p>



<p><strong>Vamos a ver el ejemplo con la tabla “CabeceraOfertaCliente”. </strong></p>



<p>Nos conectamos a la tabla y nos aparece su información:</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-7.png"><img loading="lazy" decoding="async" width="900" height="422" src="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-7.png" alt="" class="wp-image-3307" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-7.png 900w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-7-300x141.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-7-768x360.png 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></a></figure>



<p></p>



<p>Ahora, si como planteábamos anteriormente, nuestro informe queremos que incluya únicamente a las empresas 1 y 4, iríamos al campo “CodigoEmpresa” y filtraríamos por los valores 1 y 4 como mostramos en la siguiente imagen:</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-4.png"><img loading="lazy" decoding="async" width="661" height="675" src="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-4.png" alt="" class="wp-image-3301" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-4.png 661w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-4-294x300.png 294w" sizes="auto, (max-width: 661px) 100vw, 661px" /></a></figure>



<p></p>



<p></p>



<p>El código que nos genera este paso de filtrado es el siguiente:</p>



<p><strong>= Table.SelectRows(dbo_CabeceraOfertaCliente, each ([CodigoEmpresa] = 1 or [CodigoEmpresa] = 4))</strong></p>



<p>Lo que pasa es que el filtro se nos queda fijado de forma estática a las empresas 1 y 4.</p>



<p>Si quisiésemos más adelante cambiar las empresas filtradas, tendríamos que venir a este paso y modificarlo (en cada una de las consultas).</p>



<p>Lo que vamos a hacer, es que este filtro de los códigos de empresa dependa de la lista que hemos creado previamente, para que nos quede filtrado de forma dinámica por la lista creada: “Lista empresas”.</p>



<p>Para ello, tocaremos el código M de este paso de filas filtradas, y pondremos el siguiente código:</p>



<p><strong>= Table.SelectRows(dbo_CabeceraOfertaCliente, each List.Contains(#”Lista empresas”, [CodigoEmpresa]))</strong></p>



<p>Lo que estamos haciendo en el código, es indicar que el campo “CodigoEmpresa” se filtre por los valores que estén contenidos en la lista “Lista empresas”.</p>



<p>Si volvemos ahora al campo “CodigoEmpresa” y desplegamos la flecha del filtro, vemos que están únicamente disponibles las empresas de la lista, la 1 y la 4:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-8.png"><img loading="lazy" decoding="async" width="1024" height="599" src="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-8-1024x599.png" alt="" class="wp-image-3308" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/12/image-8-1024x599.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-8-300x176.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-8-768x450.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/12/image-8.png 1090w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Esta técnica de filtrado la usaríamos con el resto de tablas a incorporar al modelo de ventas: LineasOfertaClientes, CabeceraPedidoClientes, LineasPedidoClientes, CabeceraAlabaranClientes y LineasAlbaranClientes….</p>



<p>De esta forma, modificando la selección de las empresas a incorporar en el informe únicamente en la consulta “dimEmpresas”, conseguiremos modificar los códigos de empresa que están incluidos en la lista “Lista empresas” y, con ello, las empresas que se filtran en el resto de consultas que dependen de esa lista.</p>



<p>Espero que te sirva para tus futuros proyectos!!!</p>



<p>Seguimos 👊​</p>



<p></p>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-filtrar-datos-a-traves-de-una-lista-en-power-query%2F&amp;linkname=C%C3%B3mo%20filtrar%20datos%20a%20trav%C3%A9s%20de%20una%20lista%20en%20Power%20Query." title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-filtrar-datos-a-traves-de-una-lista-en-power-query%2F&amp;linkname=C%C3%B3mo%20filtrar%20datos%20a%20trav%C3%A9s%20de%20una%20lista%20en%20Power%20Query." title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-filtrar-datos-a-traves-de-una-lista-en-power-query%2F&amp;linkname=C%C3%B3mo%20filtrar%20datos%20a%20trav%C3%A9s%20de%20una%20lista%20en%20Power%20Query." title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-filtrar-datos-a-traves-de-una-lista-en-power-query%2F&amp;linkname=C%C3%B3mo%20filtrar%20datos%20a%20trav%C3%A9s%20de%20una%20lista%20en%20Power%20Query." title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-filtrar-datos-a-traves-de-una-lista-en-power-query%2F&amp;linkname=C%C3%B3mo%20filtrar%20datos%20a%20trav%C3%A9s%20de%20una%20lista%20en%20Power%20Query." title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-filtrar-datos-a-traves-de-una-lista-en-power-query%2F&amp;linkname=C%C3%B3mo%20filtrar%20datos%20a%20trav%C3%A9s%20de%20una%20lista%20en%20Power%20Query." title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-filtrar-datos-a-traves-de-una-lista-en-power-query%2F&amp;linkname=C%C3%B3mo%20filtrar%20datos%20a%20trav%C3%A9s%20de%20una%20lista%20en%20Power%20Query." title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/como-filtrar-datos-a-traves-de-una-lista-en-power-query/">Cómo filtrar datos a través de una lista en Power Query.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cómo añadir formato condicional en los parámetros de campo.</title>
		<link>https://reportingfinanciero.es/como-anadir-formato-condicional-en-los-parametros-de-campo/</link>
		
		<dc:creator><![CDATA[Javier San Juan]]></dc:creator>
		<pubDate>Fri, 12 Sep 2025 21:05:36 +0000</pubDate>
				<category><![CDATA[DAX]]></category>
		<category><![CDATA[Visualizaciones]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3276</guid>

					<description><![CDATA[<p>Me declaro un fan absoluto de los parámetros de campo, ya que nos dan una versatilidad increíble a la hora de dar dinamismo a la información que mostramos en nuestros visuales. Una pega que le veía, hasta hace bien poco, es que no conseguía incorporar formato condicional a medidas que tenía incluidas en un parámetro ... </p>
<p class="read-more-container"><a title="Cómo añadir formato condicional en los parámetros de campo." class="read-more button" href="https://reportingfinanciero.es/como-anadir-formato-condicional-en-los-parametros-de-campo/#more-3276" aria-label="Leer más sobre Cómo añadir formato condicional en los parámetros de campo.">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/como-anadir-formato-condicional-en-los-parametros-de-campo/">Cómo añadir formato condicional en los parámetros de campo.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Me declaro un fan absoluto de los parámetros de campo, ya que nos dan una versatilidad increíble a la hora de dar dinamismo a la información que mostramos en nuestros visuales.</p>



<p>Una pega que le veía, hasta hace bien poco, es que no conseguía incorporar formato condicional a medidas que tenía incluidas en un parámetro de campo.</p>



<p>Pues bien, recientemente aprendí gracias al maestro Ricardo Rincón cómo lograrlo.</p>



<p>Y, como me ha resultado tan útil….no puedo dejar de compartirlo con la comunidad por si a alguien más le resulta de utilidad.</p>



<p>Os pongo en contexto….</p>



<p>Os muestro a continuación una imagen de un modelo financiero, en la página en la que mostramos una cuenta de pérdidas y ganancias, y vemos como a la medida “Var.PyG” (que muestra la diferencia entre el resultado del ejercicio actual y el ejercicio anterior) le hemos añadido un formato condicional de barras de datos con tono azul para los valores positivos y grises para los negativos:</p>



<p></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5-1024x576.png" alt="" class="wp-image-3291" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5-1024x576.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5-300x169.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5-768x432.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5.png 1211w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p>Eso lo conseguimos seleccionando la matriz en la que tenemos las medidas y dando click derecho sobre la medida a la que queremos añadir el formato condicional. Seleccionamos las opciones de “Formato condicional” &nbsp;→&nbsp; “Barras de datos”:</p>



<p></p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/09/image.png"><img loading="lazy" decoding="async" width="319" height="505" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/image.png" alt="" class="wp-image-3277" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/image.png 319w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-190x300.png 190w" sizes="auto, (max-width: 319px) 100vw, 319px" /></a></figure>



<p></p>



<p>La cuestión es que cuando queremos añadir formato condicional a una medida que está incluida en un parámetro de campo no tenemos habilitada esa opción.</p>



<p>En la siguiente imagen, vemos una serie de medidas que podemos elegir a través de un selector (marcado con un <strong>1</strong> en la imagen). Esas medidas están incluidas en un parámetro de campo, que es el que hemos incluido en el apartado de valores de la matriz (marcado con un <strong>2</strong> en la imagen):</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1.jpg"><img loading="lazy" decoding="async" width="1024" height="482" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1-1024x482.jpg" alt="" class="wp-image-3281" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1-1024x482.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1-300x141.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1-768x361.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1.jpg 1161w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Si ahora queremos dar el mismo formato condicional a la medida “Var.PyG”, no tenemos opción de hacerlo desde el botón derecho como antes, donde teníamos todas las medidas incluidas en la matriz. En la siguiente imagen vemos que no nos aparece esa opción:</p>



<p></p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1.png"><img loading="lazy" decoding="async" width="340" height="196" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1.png" alt="" class="wp-image-3279" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1.png 340w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-1-300x173.png 300w" sizes="auto, (max-width: 340px) 100vw, 340px" /></a></figure>



<p></p>



<p>¿Cómo podemos entonces darle ese formato condicional?.</p>



<p>Pues de una forma realmente sencilla pero que yo, sinceramente, no había caído en probar…</p>



<p>Simplemente arrastramos a la parte de valores la medida a la que queremos aplicar el formato condicional (Var.PyG), y le aplicamos formato condicional a esa medida con la opción del botón derecho:</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2.png"><img loading="lazy" decoding="async" width="1024" height="466" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2-1024x466.png" alt="" class="wp-image-3285" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2-1024x466.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2-300x136.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2-768x349.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2.png 1163w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Le aplicamos el formato deseado y pulsamos sobre “Aceptar”:</p>



<p></p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2.jpg"><img loading="lazy" decoding="async" width="767" height="543" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2.jpg" alt="" class="wp-image-3280" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2.jpg 767w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-2-300x212.jpg 300w" sizes="auto, (max-width: 767px) 100vw, 767px" /></a></figure>



<p></p>



<p>Vemos a continuación cómo se muestra el formato condicional tanto en la medida suelta (la última columna de la matriz) como en la medida incluida en el parámetro de campo:</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5.jpg"><img loading="lazy" decoding="async" width="1024" height="508" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5-1024x508.jpg" alt="" class="wp-image-3284" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5-1024x508.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5-300x149.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5-768x381.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-5.jpg 1162w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Ahora ya, simplemente, quitamos de la matriz la medida suelta a la que hemos aplicado el formato condicional y se nos mantendrá ese formato en esa misma medida que está incluida en el parámetro de campo:</p>



<p></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="472" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-4-1024x472.png" alt="" class="wp-image-3289" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/image-4-1024x472.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-4-300x138.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-4-768x354.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/09/image-4.png 1211w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p>Indicar además que ese formato se respeta aunque se filtren medidas en el selector del parámetro de campo, con lo que queda totalmente funcional:</p>



<p></p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/09/ImagenX.png"><img loading="lazy" decoding="async" width="775" height="426" data-id="3286" src="https://reportingfinanciero.es/wp-content/uploads/2025/09/ImagenX.png" alt="" class="wp-image-3286" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/09/ImagenX.png 775w, https://reportingfinanciero.es/wp-content/uploads/2025/09/ImagenX-300x165.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/09/ImagenX-768x422.png 768w" sizes="auto, (max-width: 775px) 100vw, 775px" /></a></figure>
</figure>



<p></p>



<p>Súper sencillo, ¿verdad?.</p>



<p>Pues sí…muy fácil una vez que te lo cuentan…. (gracias Ricardo ☺️​ )</p>



<p>Espero que te sea de utilidad.</p>



<p>Seguimos!!! 👊</p>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-anadir-formato-condicional-en-los-parametros-de-campo%2F&amp;linkname=C%C3%B3mo%20a%C3%B1adir%20formato%20condicional%20en%20los%20par%C3%A1metros%20de%20campo." title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-anadir-formato-condicional-en-los-parametros-de-campo%2F&amp;linkname=C%C3%B3mo%20a%C3%B1adir%20formato%20condicional%20en%20los%20par%C3%A1metros%20de%20campo." title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-anadir-formato-condicional-en-los-parametros-de-campo%2F&amp;linkname=C%C3%B3mo%20a%C3%B1adir%20formato%20condicional%20en%20los%20par%C3%A1metros%20de%20campo." title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-anadir-formato-condicional-en-los-parametros-de-campo%2F&amp;linkname=C%C3%B3mo%20a%C3%B1adir%20formato%20condicional%20en%20los%20par%C3%A1metros%20de%20campo." title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-anadir-formato-condicional-en-los-parametros-de-campo%2F&amp;linkname=C%C3%B3mo%20a%C3%B1adir%20formato%20condicional%20en%20los%20par%C3%A1metros%20de%20campo." title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-anadir-formato-condicional-en-los-parametros-de-campo%2F&amp;linkname=C%C3%B3mo%20a%C3%B1adir%20formato%20condicional%20en%20los%20par%C3%A1metros%20de%20campo." title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-anadir-formato-condicional-en-los-parametros-de-campo%2F&amp;linkname=C%C3%B3mo%20a%C3%B1adir%20formato%20condicional%20en%20los%20par%C3%A1metros%20de%20campo." title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/como-anadir-formato-condicional-en-los-parametros-de-campo/">Cómo añadir formato condicional en los parámetros de campo.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cómo generar un icono de alerta en nuestra portada de un modelo financiero.</title>
		<link>https://reportingfinanciero.es/como-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero/</link>
		
		<dc:creator><![CDATA[Javier San Juan]]></dc:creator>
		<pubDate>Fri, 01 Aug 2025 22:09:48 +0000</pubDate>
				<category><![CDATA[DAX]]></category>
		<category><![CDATA[Finanzas]]></category>
		<category><![CDATA[Visualizaciones]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3257</guid>

					<description><![CDATA[<p>En el post de hoy vamos a ver un truquillo para generarnos una alerta en nuestra portada de un informe financiero cuando haya algún registro que no cumpla con los valores correctos. En el ejemplo que vamos a ver, tenemos creadas 2 comprobaciones sobre nuestros datos contables: 1️⃣ Un control que indique si hay algún ... </p>
<p class="read-more-container"><a title="Cómo generar un icono de alerta en nuestra portada de un modelo financiero." class="read-more button" href="https://reportingfinanciero.es/como-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero/#more-3257" aria-label="Leer más sobre Cómo generar un icono de alerta en nuestra portada de un modelo financiero.">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/como-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero/">Cómo generar un icono de alerta en nuestra portada de un modelo financiero.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En el post de hoy vamos a ver un truquillo para generarnos una alerta en nuestra portada de un informe financiero cuando haya algún registro que no cumpla con los valores correctos.</p>



<p>En el ejemplo que vamos a ver, tenemos creadas 2 comprobaciones sobre nuestros datos contables:</p>



<p>1️⃣ Un control que indique si hay algún asiento descuadrado.&nbsp; En contabilidad es absolutamente esencial que se cumpla el principio de partida doble, es decir, que los importes que van al debe sean los mismos que los que van al haber.&nbsp; Haremos por tanto un chequeo de que todos los asientos cumplan esta regla.</p>



<p>2️⃣ Que todas las cuentas contables a 4 dígitos que usamos en nuestros apuntes contables las tengamos correctamente clasificadas en nuestro maestro de cuentas.&nbsp;</p>



<p></p>



<p>Como sabréis, el plan general contable (PGC) español, recoge únicamente determinadas cuentas a 4 dígitos.</p>



<p>Muestro a continuación una imagen de las cuentas registradas en el PGC para el subgrupo 10:</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image.png"><img loading="lazy" decoding="async" width="511" height="439" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image.png" alt="" class="wp-image-3258" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/08/image.png 511w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-300x258.png 300w" sizes="auto, (max-width: 511px) 100vw, 511px" /></a></figure>



<p></p>



<p>En mis modelos financieros, tengo clasificadas en mis dimensiones Balance y Cash Flow absolutamente todas las cuentas a 4 dígitos recogidas en el PGC (y en mi dimensión de Pérdidas y Ganancias únicamente las de los grupos 6 y 7 de gastos o ingresos).</p>



<p>Por ello, en el grupo 1, según la imagen anterior, tengo creados los siguientes registros de cuentas a 4 dígitos: 1000, 1010, 1020, 1030, 1034, 1040, 1044, 1080 y 1090.</p>



<p>No obstante, el PGC es una guía no estrictamente obligatoria, con lo que hay empresas que pueden usar cuentas a 4 dígitos que no estén reflejadas en el PGC.&nbsp; En ese caso, tendré que asegurarme de recoger esas cuentas a 4 dígitos que está utilizando la empresa por fuera del PGC y buscar un sistema para que mis tablas dimensionales clasifiquen correctamente esas cuentas.</p>



<p>Por ello, hago un chequeo de que si se utiliza en un apunte contable una nueva cuenta a 4 dígitos que yo no tenga mapeada, me genere un registro en una tabla que llamo “CuentasSinClasificar” (esto lo hago en la fase de ETL con Power Query normalmente).</p>



<p>Contado esto, os voy a enseñar cómo quedaría una hoja de check list en la que controlo las cuentas a 4 dígitos sin clasificar y los asientos descuadrados:</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1.png"><img loading="lazy" decoding="async" width="928" height="688" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1.png" alt="" class="wp-image-3259" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1.png 928w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1-300x222.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1-768x569.png 768w" sizes="auto, (max-width: 928px) 100vw, 928px" /></a></figure>



<p></p>



<p>Como se puede apreciar, actualmente no habría nada fuera de control…. 🕵🏻‍♂️​</p>



<p>En la tabla “Cuentas a 4D sin clasificar” únicamente tengo incluido el campo “Cuenta4D” que viene de la tabla que indiqué que trabajaba en Power Query para quedarme con cuentas a 4 dígitos utilizadas en los apuntes contables que no tenía clasificadas para representar en mis informes de PyG, balance y cash flow.</p>



<p>En la tabla “Asientos descuadrados” llevo el identificador de cada asiento y las medidas “Debe” (que suma los importes del debe de los apuntes), “Haber” (que suma los importes del haber de los apuntes) y “Saldo” (que realiza la diferencia entre las medidas “Debe” y “Haber”).</p>



<p>Por otro lado, os voy a enseñar una imagen de portada estándar, con unos KPIs y unos iconos en el margen izquierdo para navegar entre las distintas páginas del informe:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-4.png"><img loading="lazy" decoding="async" width="1024" height="571" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-4-1024x571.png" alt="" class="wp-image-3266" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-4-1024x571.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-4-300x167.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-4-768x428.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-4.png 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>El primero de los iconos, es a través del cual navegaríamos a la anterior página de check list:</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-3.png"><img loading="lazy" decoding="async" width="88" height="88" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-3.png" alt="" class="wp-image-3260" /></a></figure>



<p></p>



<p>Lo que voy a explicar en este post, es cómo realizar una medida DAX con la que dar formato condicional al borde de esa imagen, de manera que si hay algo que resaltar en mi página de check list, me salga un borde rojo alrededor de ese icono a modo de alerta; y aparezca de esta forma:</p>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-2.png"><img loading="lazy" decoding="async" width="101" height="101" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-2.png" alt="" class="wp-image-3261" /></a></figure>



<p></p>



<p>Lo primero que vamos a hacer es construir una medida que me indique el número de cuentas sin clasificar a 4 dígitos.&nbsp; Como habíamos dicho que teníamos construida una tabla en fase de ETL que ya me daba esos registros, simplemente será contar las filas de esa tabla:</p>



<p>#CuentasSinClasificar = COUNTROWS(CuentasSinClasificar)</p>



<p></p>



<p>A continuación, haremos una nueva medida DAX con la que obtener el número de asientos descuadrados. Esta nueva medida no es tan básica como la anterior, pero vamos a explicarla paso a paso para entenderla.</p>



<p>La medida sería la siguiente:</p>



<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex">
<p>#AsientosDescuadrados =</p>



<p>CALCULATE (</p>



<p>&nbsp;&nbsp;&nbsp; COUNTROWS (</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FILTER (</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADDCOLUMNS (</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUMMARIZE ( factDiario, factDiario[id Asiento] ),</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; «@Saldo», [Saldo]</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ),</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [@Saldo] &lt;&gt; 0</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</p>



<p>&nbsp;&nbsp;&nbsp; ),</p>



<p>&nbsp;&nbsp;&nbsp; ALL ()</p>



<p>)</p>
</div>



<p></p>



<p>NOTA: &nbsp;Si tenemos el dato del idAsiento únicamente en una dimensión degenerada de apuntes (en lugar de en la tabla de hechos del libro diario), tendremos que hacer el SUMMARIZE de esa tabla dimApuntes.</p>



<p></p>



<p>Y ahora vamos a explicarla (de adentro hacia afuera):</p>



<p>Lo que estamos haciendo es una tabla virtual que nos devuelve los valores únicos del campo idAsiento, con la función SUMMARIZE, y añadimos a esa tabla virtual el saldo de cada asiento con la función ADDCOLUMNS.</p>



<p>Con ello, obtenemos una tabla con las columnas idAsiento y Saldo.</p>



<p>Nos quedaría una tabla similar a esta:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>idAsiento</strong></td><td><strong>Saldo</strong></td></tr><tr><td>1-2023-1</td><td>0</td></tr><tr><td>1-2023-2</td><td>0</td></tr><tr><td>1-2023-3</td><td>0</td></tr><tr><td>1-2023-4</td><td>0</td></tr><tr><td>1-2023-5</td><td>0</td></tr></tbody></table></figure>



<p></p>



<p>A continuación, con la función FILTER, filtramos la tabla por los registros que tengan el saldo distinto de cero ,es decir, los asientos que estén descuadrados.</p>



<p>En el siguiente paso, con la función COUNTROWS, contamos el número de registros que han quedado en nuestra tabla virtual ya filtrada.</p>



<p>Por último, hacemos una modificación del contexto de evaluación con CALCULATE y la función ALL() para eliminar el efecto de los segmentadores de año, mes y empresa que tenemos en la parte superior de la hoja de Inicio (ver imagen anterior).</p>



<p>Este paso es necesario porque queremos que se nos resalte en rojo cuando haya cualquier registro fuera de lo normal, independientemente de los filtros aplicados. Es decir, si hay un asiento descuadrado que es del año 2022 pero yo tengo filtrado el año 2023, si no incluyo el CALCULATE(…….ALL()) no se me resaltará el borde del icono en rojo como un error ese asiento descuadrado; ya que identificaría que para el año filtrado 2023 todo está correcto.</p>



<p>En caso de que esté todo OK (todos los asientos cuadrados) esta medida debería devolver un resultado de cero.</p>



<p>Por último, vamos a hacer la medida DAX con la que vamos a dar el formato condicional al borde de nuestra imagen:</p>



<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex">
<p>Icono Check List =</p>



<p>IF (</p>



<p>&nbsp;&nbsp;&nbsp; [#CuentasSinClasificar] + [#AsientosDescuadrados] &gt; 0,</p>



<p>&nbsp;&nbsp;&nbsp; «Red»,</p>



<p>&nbsp;&nbsp;&nbsp; «White»</p>



<p>)</p>
</div>



<p></p>



<p>En caso de que haya algún caso problemático, nos devolverá el borde en rojo, y en caso contrario en blanco (como el fondo que tiene la imagen).</p>



<p>Ahora lo que nos toca es ir al formato de la imagen que tiene nuestro icono de check list y configurar el formato condicional del borde de la siguiente manera:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-5.png"><img loading="lazy" decoding="async" width="1024" height="494" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-5-1024x494.png" alt="" class="wp-image-3267" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-5-1024x494.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-5-300x145.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-5-768x371.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-5.png 1152w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Al estar todos los datos comprobados en el check list correctos no notamos ninguna diferencia, pero vamos a ver&nbsp; lo que pasa si fuerzo a que un asiento esté descuadrado…</p>



<p>Voy a modificar el asiento 50 de la empresa 1 del ejercicio 2022 (en el modelo se correspondería con el identificador de asiento 1_2022_50):</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1.jpg"><img loading="lazy" decoding="async" width="1024" height="68" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1-1024x68.jpg" alt="" class="wp-image-3263" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1-1024x68.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1-300x20.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1-768x51.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1.jpg 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Y mirad el efecto que tiene sobre el icono del check list cuando actualizamos los datos:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-3.jpg"><img loading="lazy" decoding="async" width="1024" height="577" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-3-1024x577.jpg" alt="" class="wp-image-3265" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-3-1024x577.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-3-300x169.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-3-768x433.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-3.jpg 1105w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Nuestro icono se ha resaltado con un borde rojo.</p>



<p>Y si pincho sobre el icono para realizar la navegación entre páginas y que vaya a la página de check list, encontramos el detalle de lo que está generando la alerta:</p>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/08/image.jpg"><img loading="lazy" decoding="async" width="1024" height="788" src="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1024x788.jpg" alt="" class="wp-image-3262" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/08/image-1024x788.jpg 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-300x231.jpg 300w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image-768x591.jpg 768w, https://reportingfinanciero.es/wp-content/uploads/2025/08/image.jpg 1105w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Nos aparece el asiento 1_2022_50 descuadrado, con lo que tendremos que corregirlo en el ERP (o en el origen que corresponda) para que los informes vuelvan a salir correctos.</p>



<p>Es una técnica que estoy incorporando en todos mis informes financieros y que los usuarios finales agradecen mucho para no tener que estar pendientes de entrar a la hoja de check list, ya que en la propia página de inicio ya tienen el chivato si hay algún error en los datos 😁​</p>



<p>Seguimos!!! 👊​</p>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero%2F&amp;linkname=C%C3%B3mo%20generar%20un%20icono%20de%20alerta%20en%20nuestra%20portada%20de%20un%20modelo%20financiero." title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero%2F&amp;linkname=C%C3%B3mo%20generar%20un%20icono%20de%20alerta%20en%20nuestra%20portada%20de%20un%20modelo%20financiero." title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero%2F&amp;linkname=C%C3%B3mo%20generar%20un%20icono%20de%20alerta%20en%20nuestra%20portada%20de%20un%20modelo%20financiero." title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero%2F&amp;linkname=C%C3%B3mo%20generar%20un%20icono%20de%20alerta%20en%20nuestra%20portada%20de%20un%20modelo%20financiero." title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero%2F&amp;linkname=C%C3%B3mo%20generar%20un%20icono%20de%20alerta%20en%20nuestra%20portada%20de%20un%20modelo%20financiero." title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero%2F&amp;linkname=C%C3%B3mo%20generar%20un%20icono%20de%20alerta%20en%20nuestra%20portada%20de%20un%20modelo%20financiero." title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero%2F&amp;linkname=C%C3%B3mo%20generar%20un%20icono%20de%20alerta%20en%20nuestra%20portada%20de%20un%20modelo%20financiero." title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/como-generar-un-icono-de-alerta-en-nuestra-portada-de-un-modelo-financiero/">Cómo generar un icono de alerta en nuestra portada de un modelo financiero.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automatizando el control de asientos descuadrados</title>
		<link>https://reportingfinanciero.es/automatizando-el-control-de-asientos-descuadrados/</link>
		
		<dc:creator><![CDATA[antonio@gestion23.com]]></dc:creator>
		<pubDate>Mon, 02 Jun 2025 12:15:39 +0000</pubDate>
				<category><![CDATA[Finanzas]]></category>
		<category><![CDATA[Power Automate]]></category>
		<category><![CDATA[Power Query]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3208</guid>

					<description><![CDATA[<p>📝 Uno de los puntos habituales a repasar cuando estamos revisando nuestros cierres contables es el que no haya ningún asiento descuadrado. ⚖️​Es decir, que se cumpla el principio de partida doble (si nos ponemos técnicos), o “las gallinas que entran por las que salen” si hablamos en lenguaje coloquial 😉 Los programas de contabilidad ... </p>
<p class="read-more-container"><a title="Automatizando el control de asientos descuadrados" class="read-more button" href="https://reportingfinanciero.es/automatizando-el-control-de-asientos-descuadrados/#more-3208" aria-label="Leer más sobre Automatizando el control de asientos descuadrados">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/automatizando-el-control-de-asientos-descuadrados/">Automatizando el control de asientos descuadrados</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>📝 Uno de los puntos habituales a repasar cuando estamos revisando nuestros cierres contables es el que no haya ningún asiento descuadrado.</p>



<p>⚖️​Es decir, que se cumpla el principio de partida doble (si nos ponemos técnicos), o “las gallinas que entran por las que salen” si hablamos en lenguaje coloquial 😉</p>



<p>Los programas de contabilidad o ERPs suelen tener avisos que nos protegen ante errores al introducir asientos descuadrados.</p>



<p>En la siguiente imagen, muestro un mensaje que proporciona SAGE 200 Advanced cuando pretendo introducir un asiento descuadrado:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image.png"><img loading="lazy" decoding="async" width="776" height="448" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image.png" alt="" class="wp-image-3210" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image.png 776w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-300x173.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-768x443.png 768w" sizes="auto, (max-width: 776px) 100vw, 776px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><em>NOTA: Los pasos e imágenes que veremos en el post están basados en SAGE 200 Advanced.</em></p>



<p>No obstante, si el usuario pulsa sobre el botón “Sí”, el asiento se graba en la base de datos tan tranquilamente…🤔</p>



<p>Incluso hay muchos asientos que no les introduce ningún usuario manualmente, sino que se generan automáticamente desde algún proceso que tengamos configurado bien desde la versión estándar del programa, o alguna personalización que hayamos implementado (contabilización automática de facturas de venta/compra, control de riesgos por descuento de efectos, recepción de albaranes de compra…)</p>



<p>En esos casos también corremos el riesgo de que algún asiento automático entre al programa con algún descuadre por alguna incidencia que se haya saltado los controles…</p>



<p>Los programas suelen incluir también una opción para sacar un listado con los asientos descuadrados que se han introducido en el sistema.</p>



<p>En SAGE 200 Advanced la pantalla sería la siguiente (si tenemos la contabilidad de varias empresas en la interfaz de SAGE debemos ir cambiando de empresa para ir consultando la pantalla empresa por empresa, mientras que en Power BI podremos consultar todas las empresas al mismo tiempo):</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-1.png"><img loading="lazy" decoding="async" width="886" height="365" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-1.png" alt="" class="wp-image-3211" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-1.png 886w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-1-300x124.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-1-768x316.png 768w" sizes="auto, (max-width: 886px) 100vw, 886px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Vemos que en el asiento 15.314, del 15/04/2025, hay un descuadre de 201,25 €, ya que hay más gallinas que han entrado por el Debe de las que han salido por el Haber 😉.</p>



<p>Podemos comprobarlo entrando al asiento:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-2.png"><img loading="lazy" decoding="async" width="886" height="345" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-2.png" alt="" class="wp-image-3212" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-2.png 886w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-2-300x117.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-2-768x299.png 768w" sizes="auto, (max-width: 886px) 100vw, 886px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En el post de hoy vamos a ver cómo generar un proceso que nos compruebe periódicamente si hay algún asiento descuadrado y, en caso afirmativo, nos envíe un email avisándonos de la incidencia para poder corregirla.</p>



<p>Lo primero que vamos a hacer es entrar en Power BI y, a través del conector de SQL Server de Power Query, conectarnos a la base de datos del ERP, concretamente a la tabla “Movimientos”, que es donde se almacena la información de los apuntes contables:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-3.png"><img loading="lazy" decoding="async" width="1024" height="789" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-3-1024x789.png" alt="" class="wp-image-3213" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-3-1024x789.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-3-300x231.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-3-768x591.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-3.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Nos quedamos únicamente con las siguientes columnas:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-4.png"><img loading="lazy" decoding="async" width="1024" height="512" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-4-1024x512.png" alt="" class="wp-image-3214" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-4-1024x512.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-4-300x150.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-4-768x384.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-4.png 1091w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Me voy a quedar a continuación únicamente con los asientos que sean del ejercicio actual o del anterior (de forma dinámica), porque entendemos que los periodos anteriores ya deberían estar cerrados y con la contabilidad revisada y bloqueada.&nbsp; Lo hacemos mediante el siguiente código M:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-5.png"><img loading="lazy" decoding="async" width="1024" height="528" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-5-1024x528.png" alt="" class="wp-image-3215" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-5-1024x528.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-5-300x155.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-5-768x396.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-5.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A partir de las columnas “CodigoEmpresa”, “Ejercicio” y “Asiento” (las selecciono en ese mismo orden con el “Control” pulsado) nos construimos el identificador único del asiento; ya que el campo “Asiento” se puede repetir para distintos ejercicios y códigos de empresa (resalto en amarillo en la imagen anterior que tenemos asientos de distintas empresas).</p>



<p>Lo hacemos a través de la opción “Transformar” =&gt; “Combinar columnas” y usamos el separador que queramos (yo suelo usar un guión bajo) y el nombre de la nueva columna (en mi caso “idAsiento”):</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-6.png"><img loading="lazy" decoding="async" width="1024" height="434" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-6-1024x434.png" alt="" class="wp-image-3216" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-6-1024x434.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-6-300x127.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-6-768x325.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-6.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Quedaría así la información:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-7.png"><img loading="lazy" decoding="async" width="809" height="581" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-7.png" alt="" class="wp-image-3217" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-7.png 809w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-7-300x215.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-7-768x552.png 768w" sizes="auto, (max-width: 809px) 100vw, 809px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como vemos, SAGE nos da el importe del apunte en la columna “ImporteAsiento” y en la columna “CargoAbono” nos indica si ese importe va al Debe o al Haber.</p>



<p>En el caso de otros ERPs nos aparecen los importes directamente separados en columnas de Debe y Haber.</p>



<p>Vamos a hacer esa separación a través de agregar nuevas columnas condicionales que nos den los importes de debe y haber por separado.</p>



<p>Muestro a continuación cómo sería la creación de la columna “Debe” y seguiríamos el mismo patrón para crear la del “Haber”:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-8.png"><img loading="lazy" decoding="async" width="1024" height="412" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-8-1024x412.png" alt="" class="wp-image-3218" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-8-1024x412.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-8-300x121.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-8-768x309.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-8.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esos pasos ya tendría creadas las nuevas columnas:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-9.png"><img loading="lazy" decoding="async" width="1024" height="457" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-9-1024x457.png" alt="" class="wp-image-3219" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-9-1024x457.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-9-300x134.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-9-768x343.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-9.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora simplemente voy a darle formato Número Decimal Fijo a estas nuevas 2 columnas y voy a eliminar las columnas “ImporteAsiento” y “CargoAbono”, ya que ya no las voy a necesitar.</p>



<p>Llegaríamos a la siguiente situación:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-10.png"><img loading="lazy" decoding="async" width="798" height="581" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-10.png" alt="" class="wp-image-3220" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-10.png 798w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-10-300x218.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-10-768x559.png 768w" sizes="auto, (max-width: 798px) 100vw, 798px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Lo siguiente que voy a hacer es agrupar los datos por el campo “idAsiento” para obtener el total de importe al Debe y total importe al Haber de cada uno de los asientos, ya que mi único objetivo es saber si están descuadrados (los datos vienen a granularidad de apunte contable y cada asiento contable puede tener N apuntes):</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-11.png"><img loading="lazy" decoding="async" width="1024" height="786" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-11-1024x786.png" alt="" class="wp-image-3221" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-11-1024x786.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-11-300x230.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-11-768x589.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-11.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora voy a hacer una nueva columna calculada a la que voy a llamar “Saldo” y que calcularé como la resta de las columnas “Total_Debe” y “Total_Haber”. Tendré que seleccionar las 2 columnas con el Control en el orden indicado (primero Total_Debe y luego Total_Haber), y posteriormente seguir los pasos de la siguiente pantalla:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-12.png"><img loading="lazy" decoding="async" width="1024" height="676" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-12-1024x676.png" alt="" class="wp-image-3222" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-12-1024x676.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-12-300x198.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-12-768x507.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-12.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la siguiente pantalla vemos los resultados de la nueva columna. Resalto en amarillo algunos valores que debería ser cero pero cuyo resultado no es exactamente cero. Como se aprecia en el valor marcado en azul, del origen nos vienen valores que no están correctamente redondeados, lo cual es el motivo de esos valores resaltados en amarillo:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-13.png"><img loading="lazy" decoding="async" width="921" height="1024" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-13-921x1024.png" alt="" class="wp-image-3223" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-13-921x1024.png 921w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-13-270x300.png 270w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-13-768x854.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-13.png 1067w" sizes="auto, (max-width: 921px) 100vw, 921px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Vamos a modificar el nombre de la columna “Resta” por el de “Saldo” y modificamos el tipo de dato a la columna para ponerlo como “Numero decimal fijo” para resolver ese problema de los redondeos. Vemos en la siguiente pantalla que los mismos registros que en la pantalla anterior no aparecían con valor cero ahora sí que lo hacen gracias al cambio de tipo de dato:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-14.png"><img loading="lazy" decoding="async" width="1024" height="602" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-14-1024x602.png" alt="" class="wp-image-3224" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-14-1024x602.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-14-300x176.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-14-768x451.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-14.png 1050w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si filtramos los valores de la columna “Saldo” por los que sean distintos a cero, veremos cómo pasamos a tener un único registro en la tabla, que es precisamente el que nos marcaba la interfaz del ERP, el asiento nº 15314 del ejercicio 2025 de la empresa 1:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-15.png"><img loading="lazy" decoding="async" width="1024" height="535" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-15-1024x535.png" alt="" class="wp-image-3225" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-15-1024x535.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-15-300x157.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-15-768x401.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-15.png 1062w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Por último, eliminaría las columnas Total_Debe y Total_Haber, dado que ya no las necesito, y pulso sobre cerrar y aplicar para llevarme los datos desde Power Query a Power BI.</p>



<p>Vemos a continuación los datos desde la vista de tabla de Power BI Desktop:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-16.png"><img loading="lazy" decoding="async" width="940" height="514" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-16.png" alt="" class="wp-image-3226" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-16.png 940w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-16-300x164.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-16-768x420.png 768w" sizes="auto, (max-width: 940px) 100vw, 940px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Tras esto, haremos una sencilla medida DAX que lo que hará será contar el número de filas de nuestra tabla y que nos dará como el resultado el número de asientos que tenemos descuadrados en nuestra contabilidad. Vemos a continuación el resultado sobre un visual de tarjeta:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-17.png"><img loading="lazy" decoding="async" width="761" height="628" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-17.png" alt="" class="wp-image-3227" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-17.png 761w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-17-300x248.png 300w" sizes="auto, (max-width: 761px) 100vw, 761px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora lo que vamos a hacer es obtener la consulta DAX que genera el objeto visual para después poder pasársela a Power Automate.</p>



<p>Para ello, vamos el menú “Ver” =&gt; “Analizador de rendimiento”. Pulsamos sobre “Actualizar objetos visuales” y copiamos la consulta con el botón “Copiar consulta”:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-18.png"><img loading="lazy" decoding="async" width="1024" height="292" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-18-1024x292.png" alt="" class="wp-image-3228" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-18-1024x292.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-18-300x86.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-18-768x219.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-18.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El texto que se nos copia en el portapapeles es el siguiente:</p>



<p>// DAX Query</p>



<p>EVALUATE</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ROW(</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; «v__Asientos_Descuadrados», &#8216;Movimientos'[# Asientos Descuadrados]</p>



<p>)</p>



<p>Ahora lo que vamos a hacer es publicar nuestro informe en el servicio de Power BI desde el botón “Publicar”, y seleccionar el área de trabajo donde queramos publicarlo.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-19.png"><img loading="lazy" decoding="async" width="1024" height="924" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-19-1024x924.png" alt="" class="wp-image-3229" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-19-1024x924.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-19-300x271.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-19-768x693.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-19.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una vez publicado, configuraremos la sincronización con la puerta de enlace al servidor donde esté la base de datos del ERP; y estableceremos las actualizaciones programadas que consideremos (en nuestro caso una actualización diaria a las 01:00 a.m.).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-20.png"><img loading="lazy" decoding="async" width="1024" height="426" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-20-1024x426.png" alt="" class="wp-image-3230" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-20-1024x426.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-20-300x125.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-20-768x320.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-20.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A continuación, nos vamos a Power Automate y creamos un flujo de nube programado que se ejecute todos los días a las 02:00 a.m. (como hemos indicado en el servicio de Power BI que el informe se actualice a las 01:00 a.m., a las 02:00 a.m. ya nos aseguremos que el informe esté actualizado y que podamos “pillar” a los nuevos asientos descuadrados):</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-21.png"><img loading="lazy" decoding="async" width="1024" height="549" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-21-1024x549.png" alt="" class="wp-image-3231" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-21-1024x549.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-21-300x161.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-21-768x411.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-21.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A continuación, añadimos una nueva acción al flujo y elegimos la acción de ejecutar una consulta contra un conjunto de datos de Power BI.</p>



<p>Debemos seleccionar el área de trabajo y el modelo semántico y, posteriormente, pegar en el “Texto de la consulta” la consulta DAX que copiamos en el portapapeles cuando seguimos los pasos de ver el analizador de rendimiento de Power BI Desktop:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-22.png"><img loading="lazy" decoding="async" width="1024" height="533" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-22-1024x533.png" alt="" class="wp-image-3232" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-22-1024x533.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-22-300x156.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-22-768x400.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-22.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Tras ello, añadimos una nueva acción y elegimos la acción “Seleccionar”.&nbsp;</p>



<p>En el apartado “Desde” pulsamos sobre el icono de un rayo que nos permite obtener datos del paso anterior:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-23.png"><img loading="lazy" decoding="async" width="1024" height="438" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-23-1024x438.png" alt="" class="wp-image-3233" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-23-1024x438.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-23-300x128.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-23-768x329.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-23.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Elegimos la opción “Primeras filas de la tabla”:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-24.png"><img loading="lazy" decoding="async" width="705" height="292" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-24.png" alt="" class="wp-image-3234" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-24.png 705w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-24-300x124.png 300w" sizes="auto, (max-width: 705px) 100vw, 705px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Dejamos configurados los campos de la opción “Mapa” de la siguiente forma:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-25.png"><img loading="lazy" decoding="async" width="876" height="426" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-25.png" alt="" class="wp-image-3235" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-25.png 876w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-25-300x146.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-25-768x373.png 768w" sizes="auto, (max-width: 876px) 100vw, 876px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A continuación, añadimos un nuevo paso con la acción “Redactar” e introducimos la siguiente expresión desde el botón con las iniciales “fx”:</p>



<p><strong>first(first(body(&#8216;Seleccionar&#8217;))[&#8216;#Asientos&#8217;])[&#8216;[v__Asientos_Descuadrados]&#8217;]</strong></p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-26.png"><img loading="lazy" decoding="async" width="1024" height="872" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-26-1024x872.png" alt="" class="wp-image-3236" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-26-1024x872.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-26-300x255.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-26-768x654.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-26.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>‘Seleccionar’ hace referencia al nombre del paso anterior del flujo de Power Automate.</p>



<p>‘#Asientos’ es el nombre que hemos dado al parámetro en la sección “Mapa” de la imagen del paso anterior.</p>



<p>&#8216;[v__Asientos_Descuadrados]&#8217; nos viene establecido desde la consulta DAX del objeto visual de tarjeta.</p>



<p>Este último paso ya nos devuelve como Output el valor de la tarjeta, en nuestro caso, la salida es el valor “1”. Lo podemos comprobar si ejecutamos el flujo manualmente y comprobamos los resultados:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-27.png"><img loading="lazy" decoding="async" width="663" height="1024" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-27-663x1024.png" alt="" class="wp-image-3237" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-27-663x1024.png 663w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-27-194x300.png 194w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-27-768x1186.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-27.png 887w" sizes="auto, (max-width: 663px) 100vw, 663px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A continuación, añadimos un nuevo paso de condición con el objetivo de que si el valor de salida del paso anterior (que es el valor de la tarjeta de Power BI) es mayor que cero, nos envíe un email de alerta para que sepamos que hay algún asiento descuadrado:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-28.png"><img loading="lazy" decoding="async" width="1024" height="975" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-28-1024x975.png" alt="" class="wp-image-3238" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-28-1024x975.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-28-300x286.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-28-768x731.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-28.png 1086w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-29.png"><img loading="lazy" decoding="async" width="776" height="425" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-29.png" alt="" class="wp-image-3239" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-29.png 776w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-29-300x164.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-29-768x421.png 768w" sizes="auto, (max-width: 776px) 100vw, 776px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Posteriormente, indicamos en si se cumple la condición, envíe un email al destinatario que indiquemos y en el cuerpo del email añadimos el nº de asientos descuadrados a través de la salida del paso “Redactar”:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-30.png"><img loading="lazy" decoding="async" width="1024" height="508" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-30-1024x508.png" alt="" class="wp-image-3240" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-30-1024x508.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-30-300x149.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-30-768x381.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-30.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ya lo tendríamos todo preparado….</p>



<p>Falta ver que todo funcione y a continuación os muestro la prueba de que puntualmente a las 02:00, tenía un email en mi buzón de entrada:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-31.png"><img loading="lazy" decoding="async" width="1024" height="409" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-31-1024x409.png" alt="" class="wp-image-3241" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-31-1024x409.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-31-300x120.png 300w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-31-768x307.png 768w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-31.png 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Podríamos adaptar el proceso si queremos incluir en el aviso las cuentas contables que intervienen en los apuntes de cada asiento, o incluso los conceptos, y enviar por email una tabla que represente el asiento tal y como lo vemos en el ERP.</p>



<p>Por simplificarlo lo hemos dejado en una notificación que nos indique que hay algún asiento descuadrado y ya con ese aviso iremos nosotros a ver la pantalla de descuadres al ERP y modificaremos los errores que detectemos.</p>



<p>También podemos incorporar a Power BI una sencilla tabla con los asientos de Power BI y comprobarlos desde nuestro informe en Power BI:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-32.png"><img loading="lazy" decoding="async" width="472" height="209" src="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-32.png" alt="" class="wp-image-3242" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/06/image-32.png 472w, https://reportingfinanciero.es/wp-content/uploads/2025/06/image-32-300x133.png 300w" sizes="auto, (max-width: 472px) 100vw, 472px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sencillo y realmente útil, ¿no crees?.</p>



<p>La verdad es que esta combinación de Power Automate y Power BI es realmente potente y es uno de los desafíos en los que quiero centrarme en el corto plazo.</p>



<p>Veremos a dónde nos lleva y, como siempre, os iré compartiendo nuevos retos y funcionalidades.</p>



<p>Seguimos!!!&nbsp;👊</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fautomatizando-el-control-de-asientos-descuadrados%2F&amp;linkname=Automatizando%20el%20control%20de%20asientos%20descuadrados" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fautomatizando-el-control-de-asientos-descuadrados%2F&amp;linkname=Automatizando%20el%20control%20de%20asientos%20descuadrados" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fautomatizando-el-control-de-asientos-descuadrados%2F&amp;linkname=Automatizando%20el%20control%20de%20asientos%20descuadrados" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fautomatizando-el-control-de-asientos-descuadrados%2F&amp;linkname=Automatizando%20el%20control%20de%20asientos%20descuadrados" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fautomatizando-el-control-de-asientos-descuadrados%2F&amp;linkname=Automatizando%20el%20control%20de%20asientos%20descuadrados" title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fautomatizando-el-control-de-asientos-descuadrados%2F&amp;linkname=Automatizando%20el%20control%20de%20asientos%20descuadrados" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fautomatizando-el-control-de-asientos-descuadrados%2F&amp;linkname=Automatizando%20el%20control%20de%20asientos%20descuadrados" title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/automatizando-el-control-de-asientos-descuadrados/">Automatizando el control de asientos descuadrados</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cálculo de saldos medios en modelos financieros</title>
		<link>https://reportingfinanciero.es/calculo-de-saldos-medios-en-modelos-financieros/</link>
		
		<dc:creator><![CDATA[Javier San Juan]]></dc:creator>
		<pubDate>Fri, 21 Mar 2025 21:34:19 +0000</pubDate>
				<category><![CDATA[DAX]]></category>
		<category><![CDATA[Finanzas]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3154</guid>

					<description><![CDATA[<p>En el post de hoy vamos a hablar sobre la forma de calcular en Power BI saldos medios para poder usarlos en nuestros cálculos de ratios de nuestros modelos financieros. Vamos a tomar como base de nuestro ejemplo el cálculo de la rentabilidad económica, también conocida como ROA (Return On Assets). Este ratio se enfoca ... </p>
<p class="read-more-container"><a title="Cálculo de saldos medios en modelos financieros" class="read-more button" href="https://reportingfinanciero.es/calculo-de-saldos-medios-en-modelos-financieros/#more-3154" aria-label="Leer más sobre Cálculo de saldos medios en modelos financieros">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/calculo-de-saldos-medios-en-modelos-financieros/">Cálculo de saldos medios en modelos financieros</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En el post de hoy vamos a hablar sobre la forma de calcular en Power BI saldos medios para poder usarlos en nuestros cálculos de ratios de nuestros modelos financieros.</p>



<p>Vamos a tomar como base de nuestro ejemplo el cálculo de la <strong>rentabilidad económica</strong>, también conocida como <strong>ROA</strong> (Return On Assets).</p>



<p>Este ratio se enfoca en la eficiencia de la empresa en el uso de sus activos para generar ganancias, y se calcula como el cociente entre el beneficio antes de intereses e impuestos y los activos totales medios.</p>



<p>La fórmula DAX quedaría de la siguiente forma:</p>



<p>ROA = DIVIDE(</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [BAII],</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [AT Medio]</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; )</p>



<p></p>



<p>Y ahora viene la pregunta:<strong> ¿cómo calculamos en Power BI el activo total medio?.</strong></p>



<p>Si somos un <strong>agente externo a la empresa</strong>, únicamente tendremos disponible la información de las cuentas anuales publicadas en el <strong>registro mercantil</strong>, con lo que tendremos que conformarnos con calcular el AT Medio como la media entre el activo del cierre de ejercicio N y el del cierre del ejercicio N-1:</p>



<p>AT Medio = (AT + AT PY)/2</p>



<p>      <em>*AT PY =&gt; Activo Total previous year.</em></p>



<p>Sin embargo, si tenemos <strong>acceso a la contabilidad</strong> de la empresa, ya seamos parte de su equipo financiero o consultores externos, tenemos la opción de montar en Power BI un <strong>informe financiero conectado al libro diario</strong>.</p>



<p>En ese caso, podemos calcular el Total Activo a cada una de las fechas de nuestro modelo.</p>



<p>Por tanto, podríamos optar por sacar un saldo medio del activo a través de una tabla virtual con DAX, que nos refleje el <strong>saldo para cada una de las fechas de nuestro calendario</strong>:</p>



<p>AT Medio = AVERAGEX(</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ADDCOLUMNS(</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VALUES(dimCalendario[Fecha]),</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; «@TA», [Total Activo]</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ),</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [@TA]</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; )</p>



<p>En esta fórmula, la parte que va dentro del <strong>ADDCOLUMNS </strong>nos creará la tabla virtual con el saldo para cada fecha:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/03/image.png"><img loading="lazy" decoding="async" width="504" height="554" src="https://reportingfinanciero.es/wp-content/uploads/2025/03/image.png" alt="" class="wp-image-3155" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/03/image.png 504w, https://reportingfinanciero.es/wp-content/uploads/2025/03/image-273x300.png 273w" sizes="auto, (max-width: 504px) 100vw, 504px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El AVERAGEX calculará la media sobre los valores de la columna de la tabla virtual que tiene los valores del total activo (@TA).</p>



<p>Con ello, obtendremos un dato mucho más representativo que si cogemos únicamente los 2 valores de los cierres de ejercicio N y N-1.</p>



<p><strong>Opción 2</strong>: También podríamos optar por calcular la media de los valores del activo únicamente de los <strong>saldos de cada cierre mensual</strong> (y no de todos los días como en la propuesta anterior), ya que quizás solo queremos fiarnos de los datos de cierres mensuales revisados, una vez incluidas amortizaciones, regularización de existencias, asientos de nóminas, periodificaciones….</p>



<p>En ese caso, la fórmula debe crear una tabla virtual con los valores del total activo a cierre de cada uno de los meses:</p>



<p>AT Medio 2 = AVERAGEX(</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ADDCOLUMNS(</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VALUES(<strong>dimCalendario[Año-Mes]</strong>),</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; «@TA», [Total Activo]</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ),</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [@TA]</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; )</p>



<p>Obtendríamos la siguiente tabla virtual sobre la que calcular el AVERAGEX:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-1.png"><img loading="lazy" decoding="async" width="487" height="628" src="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-1.png" alt="" class="wp-image-3156" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-1.png 487w, https://reportingfinanciero.es/wp-content/uploads/2025/03/image-1-233x300.png 233w" sizes="auto, (max-width: 487px) 100vw, 487px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p></p>



<p>Una vez calculado el AT Medio con alguna de las 2 opciones anteriores, la fórmula del ROA quedaría de la siguiente forma:</p>



<p>ROA = DIVIDE(</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [BAII],</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [AT Medio]</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; )</p>



<p></p>



<p>Debemos tener en cuenta que el ROA es calculado comúnmente al cierre de los ejercicios, con lo que el numerador de la función, el BAII, hace referencia al resultado del ejercicio completo.</p>



<p>Por ello, si ponemos nuestros cálculos en una tabla a nivel de año, los cálculos van a ser los esperados:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-2.png"><img loading="lazy" decoding="async" width="494" height="161" src="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-2.png" alt="" class="wp-image-3157" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-2.png 494w, https://reportingfinanciero.es/wp-content/uploads/2025/03/image-2-300x98.png 300w" sizes="auto, (max-width: 494px) 100vw, 494px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sin embargo, si en lugar de poner nuestra tabla a nivel de año, la ponemos a nivel de año-mes, vamos a tener nuestro activo total medio con los saldos medios de cada mes, mientras que el BAII va a ser el resultado de ese mes únicamente, con lo que el ROA va a salir con cifras mucho más bajas de las mostradas para el mismo ratio en la tabla a nivel anual:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-3.png"><img loading="lazy" decoding="async" width="406" height="610" src="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-3.png" alt="" class="wp-image-3158" srcset="https://reportingfinanciero.es/wp-content/uploads/2025/03/image-3.png 406w, https://reportingfinanciero.es/wp-content/uploads/2025/03/image-3-200x300.png 200w" sizes="auto, (max-width: 406px) 100vw, 406px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p></p>



<p>Por ello, debemos tener cuidado del contexto temporal en el que evaluamos nuestra medida y, en caso de que no vaya a evaluarse a nivel anual, debemos darle una vuelta a nuestros cálculos&#8230;</p>



<p>Podríamos optar por calcular un rolling year sobre el BAII (en este post de mi blog explicaba cómo calcular el rolling year:&nbsp;<a href="https://reportingfinanciero.es/uso-del-ano-movil-o-rolling-year-en-power-bi/">Link </a>)&nbsp;, o un year to date ponderado por el número de días que han transcurrido desde el inicio de ejercicio (pudiendo hacer también un year to date del cálculo del activo medio).</p>



<p>También debemos considerar que si optamos por el rolling year para el cálculo del BAII, los cálculos de los primeros 11 meses de nuestros datos (en nuestro ejemplo desde 2022-01 hasta 2022-11) no van a ser representativos, ya que el rolling year no va a poder acumular el BAII de un año completo al no haber datos para los meses del ejercicio 2021.</p>



<p></p>



<p><strong>Conclusión:</strong>  Quizás prefiramos no complicar los cálculos y quedarnos con la evaluación de nuestro ratio únicamente a nivel anual, pero si queremos ver una evolución mensual debemos valorar alguna de estas otras opciones comentadas.</p>



<p></p>



<p>Si estas otras opciones generan interés igual me anime más adelante a grabar un pequeño vídeo sobre el tema, ya que sería demasiado extenso para un post…</p>



<p>Espero que te haya resultado interesante y puedas ponerlo en práctica en tus proyectos.</p>



<p></p>



<p>PD: Si quieres aprender cómo crear modelos financieros en Power BI conectados al libro diario de las empresas y más técnicas como ésta, no dejes pasar la oportunidad de adquirir el curso que he preparado para la academia Namasdata. Te dejo el enlace por aquí : <a href="https://www.namasdata.com/courses/Informes-financieros-con-Power-BI">Link</a></p>



<p>Seguimos!!! 👊​</p>



<p></p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcalculo-de-saldos-medios-en-modelos-financieros%2F&amp;linkname=C%C3%A1lculo%20de%20saldos%20medios%20en%20modelos%20financieros" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcalculo-de-saldos-medios-en-modelos-financieros%2F&amp;linkname=C%C3%A1lculo%20de%20saldos%20medios%20en%20modelos%20financieros" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcalculo-de-saldos-medios-en-modelos-financieros%2F&amp;linkname=C%C3%A1lculo%20de%20saldos%20medios%20en%20modelos%20financieros" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcalculo-de-saldos-medios-en-modelos-financieros%2F&amp;linkname=C%C3%A1lculo%20de%20saldos%20medios%20en%20modelos%20financieros" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcalculo-de-saldos-medios-en-modelos-financieros%2F&amp;linkname=C%C3%A1lculo%20de%20saldos%20medios%20en%20modelos%20financieros" title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcalculo-de-saldos-medios-en-modelos-financieros%2F&amp;linkname=C%C3%A1lculo%20de%20saldos%20medios%20en%20modelos%20financieros" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcalculo-de-saldos-medios-en-modelos-financieros%2F&amp;linkname=C%C3%A1lculo%20de%20saldos%20medios%20en%20modelos%20financieros" title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/calculo-de-saldos-medios-en-modelos-financieros/">Cálculo de saldos medios en modelos financieros</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Filtro de fecha dinámico</title>
		<link>https://reportingfinanciero.es/filtro-de-fecha-dinamico/</link>
		
		<dc:creator><![CDATA[antonio@gestion23.com]]></dc:creator>
		<pubDate>Mon, 23 Dec 2024 22:58:22 +0000</pubDate>
				<category><![CDATA[Calendario]]></category>
		<category><![CDATA[Power Query]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3108</guid>

					<description><![CDATA[<p>En el post de hoy voy a resolver una duda que me plantearon recientemente en una formación. El reto era conseguir que, en un filtro de fecha, al abrir el informe salga seleccionada por defecto siempre la última fecha de un campo de una tabla, pudiendo el usuario modificar la fecha en el filtro si ... </p>
<p class="read-more-container"><a title="Filtro de fecha dinámico" class="read-more button" href="https://reportingfinanciero.es/filtro-de-fecha-dinamico/#more-3108" aria-label="Leer más sobre Filtro de fecha dinámico">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/filtro-de-fecha-dinamico/">Filtro de fecha dinámico</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En el post de hoy voy a resolver una duda que me plantearon recientemente en una formación.</p>



<p>El reto era conseguir que, en un filtro de fecha, al abrir el informe salga seleccionada por defecto siempre la última fecha de un campo de una tabla, pudiendo el usuario modificar la fecha en el filtro si así lo necesita.</p>



<p>La técnica que vamos a utilizar se la vi por primera vez al maestro Francisco Mullor en una duda que resolvió en el grupo de Telegram de Power BI Español, y me vino de perlas para resolver este reto. Gracias, Fran 😉</p>



<p>Vamos a simular que estamos ante un informe de ventas y queremos que nos aparezca filtrada por defecto la fecha de la última venta.</p>



<p>Para ello, partimos de una sencilla tabla de hechos en la que tenemos una columna con la fecha de la venta, y otra con el importe:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-1-1.png"><img loading="lazy" decoding="async" width="364" height="327" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-1-1.png" alt="" class="wp-image-3111" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-1-1.png 364w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-1-1-300x270.png 300w" sizes="auto, (max-width: 364px) 100vw, 364px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Por otro lado, vamos a tener una dimensión calendario simple, en la que tendremos únicamente creada una lista de fechas desde el 01/01/2023 al 31/12/2024 y añadiremos las columnas Año, Mes y Día:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-2.png"><img loading="lazy" decoding="async" width="673" height="307" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-2.png" alt="" class="wp-image-3112" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-2.png 673w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-2-300x137.png 300w" sizes="auto, (max-width: 673px) 100vw, 673px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Lo que haremos a continuación, será crear una consulta nueva en la que registrar el valor de la fecha máxima en la que ha habido ventas.</p>



<p>Para ello, vamos en Power Query a Nuevo Origen =&gt; Consulta en blanco , y pegamos en la barra de fórmulas la siguiente instrucción:</p>



<p>= List.Max(factVentas[Fecha Venta])</p>



<p>Nos devuelve el valor buscado, que en nuestro ejemplo sería el 10/11/2024:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-3.png"><img loading="lazy" decoding="async" width="622" height="153" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-3.png" alt="" class="wp-image-3113" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-3.png 622w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-3-300x74.png 300w" sizes="auto, (max-width: 622px) 100vw, 622px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Llamamos a esta consulta “FechaMax”.</p>



<p>El siguiente paso va a ser crear en nuestra tabla calendario una nueva columna personalizada en la que vamos a indicar que si la columna “Fecha” de nuestra tabla calendario es igual a la fecha calculada en la consulta “FechaMax”, indique el texto “Fecha Máxima” y, de lo contrario, nos indique el valor del campo “Fecha”.</p>



<p>El código M quedaría así:</p>



<p class="has--font-size">= Table.AddColumn(DíaInsertado, “FechaFiltro“, each if [Fecha] = FechaMax then “Fecha Máxima“ else [Fecha])</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-4.png"><img loading="lazy" decoding="async" width="840" height="313" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-4.png" alt="" class="wp-image-3114" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-4.png 840w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-4-300x112.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-4-768x286.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como puede observarse, la nueva columna a la que hemos llamado “FechaFiltro” nos muestra el valor “Fecha Máxima” para el día 10/11/2024, que es el valor de la última fecha en la que hay ventas, y para el resto de días nos refleja el valor de la fecha.</p>



<p>A esta columna le daremos tipo de dato texto.</p>



<p>A continuación, vamos a crear una nueva columna personalizada en nuestra dimensión calendario que tendrá el objetivo de poder ordenar la columna de tipo texto del paso anterior.</p>



<p>Para ello, generaremos el siguiente código M:</p>



<p>= Table.AddColumn(#“Tipo cambiado“, “idFecha“, each [Año]*10000+[Mes]*100+[Día])</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-5.png"><img loading="lazy" decoding="async" width="1001" height="327" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-5.png" alt="" class="wp-image-3115" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-5.png 1001w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-5-300x98.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-5-768x251.png 768w" sizes="auto, (max-width: 1001px) 100vw, 1001px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A este nuevo campo le damos formato número entero.</p>



<p>Ya habríamos hecho todos los preparativos en Power Query y podríamos darle a “Cerrar y aplicar” para pasar a Power BI.</p>



<p>El siguiente paso va a ser ordenar la columna “FechaFiltro” por la columna “idFecha” para que la ordenación del campo que es texto sea por el orden natural del calendario:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-6.png"><img loading="lazy" decoding="async" width="1024" height="371" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-6-1024x371.png" alt="" class="wp-image-3116" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-6-1024x371.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-6-300x109.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-6-768x278.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-6.png 1117w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Por último, generaremos una medida que nos calcule las ventas (un simple SUM de la columna Importe de la tabla de hechos):&nbsp;</p>



<p>Ventas = SUM(factVentas[Importe])</p>



<p>A continuación, creamos dos visuales en nuestro lienzo:</p>



<p>1.- Una tabla con el campo “Fecha” de la dimensión calendario y la medida Ventas que acabamos de crear.</p>



<p>2.- Un filtro con el campo “FechaFiltro” de nuestra dimensión calendario (el que es de tipo texto).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-7.png"><img loading="lazy" decoding="async" width="692" height="391" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-7.png" alt="" class="wp-image-3117" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-7.png 692w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-7-300x170.png 300w" sizes="auto, (max-width: 692px) 100vw, 692px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si en el segmentador de FechaFiltro vamos a buscar la fecha de la venta máxima (10/11/2024) vemos que nos aparece el texto “Fecha Máxima”:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-8.png"><img loading="lazy" decoding="async" width="696" height="399" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-8.png" alt="" class="wp-image-3118" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-8.png 696w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-8-300x172.png 300w" sizes="auto, (max-width: 696px) 100vw, 696px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Y si lo seleccionamos, vemos como nos filtra correctamente la fecha del 10/11/2024 en el visual de tabla:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-9-1.png"><img loading="lazy" decoding="async" width="678" height="328" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-9-1.png" alt="" class="wp-image-3121" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-9-1.png 678w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-9-1-300x145.png 300w" sizes="auto, (max-width: 678px) 100vw, 678px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p></p>



<p>Lo bueno de esto es que, en futuras actualizaciones, el filtro de “Fecha Máxima” se irá moviendo en función de la última venta que haya en nuestra tabla de hechos, y nos aparecerá filtrada por defecto esa nueva fecha.</p>



<p>Otro requisito habitual es tener filtrado por defecto el día actual (el día de hoy en modo dinámico).&nbsp;</p>



<p>Para ello, la técnica es la misma, solo que en el paso donde creábamos la consulta “FechaMax” para quedarnos con el valor de la fecha máxima en la que había habido venta, ahora buscaríamos conseguir el valor de la fecha de “hoy” de forma dinámica, lo que conseguiríamos con el siguiente código M en la barra de fórmulas de la consulta:</p>



<p>= Date.From(DateTime.LocalNow())</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-10.png"><img loading="lazy" decoding="async" width="567" height="61" src="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-10.png" alt="" class="wp-image-3120" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-10.png 567w, https://reportingfinanciero.es/wp-content/uploads/2024/12/Imagen-10-300x32.png 300w" sizes="auto, (max-width: 567px) 100vw, 567px" /></a><figcaption class="wp-element-caption"><em><strong>El 17/12/2024 es la fecha en la que se preparó el material de este post</strong></em>.</figcaption></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El resto de pasos serían idénticos a lo ya explicado anteriormente.</p>



<p>Cada vez que se actualizase el informe, se recalcularía la fecha actual y se modificaría el filtro seleccionado.</p>



<p>Te dejo en el siguiente enlace de descarga el pbix para que puedas revisar el paso a paso:</p>



<div class="wp-block-kadence-advancedbtn kb-buttons-wrap kb-btns3108_c5c540-5e"><a class="kb-button kt-button button kb-btn3108_734cc9-8e kt-btn-size-standard kt-btn-width-type-auto kb-btn-global-inherit kt-btn-has-text-true kt-btn-has-svg-false  wp-block-button__link wp-block-kadence-singlebtn" href="https://reportingfinanciero.es/wp-content/uploads/2024/12/Filtro-fecha-dinamico-fecha-maxima.pbix"><span class="kt-btn-inner-text">Descargar</span></a></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Espero que te haya resultado útil y puedas rescatarlo si se te plantea este requisito en el futuro!!!</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Ffiltro-de-fecha-dinamico%2F&amp;linkname=Filtro%20de%20fecha%20din%C3%A1mico" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Ffiltro-de-fecha-dinamico%2F&amp;linkname=Filtro%20de%20fecha%20din%C3%A1mico" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Ffiltro-de-fecha-dinamico%2F&amp;linkname=Filtro%20de%20fecha%20din%C3%A1mico" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Ffiltro-de-fecha-dinamico%2F&amp;linkname=Filtro%20de%20fecha%20din%C3%A1mico" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Ffiltro-de-fecha-dinamico%2F&amp;linkname=Filtro%20de%20fecha%20din%C3%A1mico" title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Ffiltro-de-fecha-dinamico%2F&amp;linkname=Filtro%20de%20fecha%20din%C3%A1mico" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Ffiltro-de-fecha-dinamico%2F&amp;linkname=Filtro%20de%20fecha%20din%C3%A1mico" title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/filtro-de-fecha-dinamico/">Filtro de fecha dinámico</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cómo formatear de golpe todas las medidas DAX de tu modelo</title>
		<link>https://reportingfinanciero.es/como-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo/</link>
		
		<dc:creator><![CDATA[antonio@gestion23.com]]></dc:creator>
		<pubDate>Tue, 19 Nov 2024 16:11:29 +0000</pubDate>
				<category><![CDATA[DAX]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3093</guid>

					<description><![CDATA[<p>¿A ti también te pasa como a mí?. Confieso que cuando escribo fórmulas DAX las escribo en plan “churro”, todo seguido 😥​ Cuando luego me da por querer formatear las medidas, hasta ahora tiraba de la web www.daxformatter.com y las iba “arreglando” una a una&#8230; Si te pasa lo mismo, hoy te vengo con un ... </p>
<p class="read-more-container"><a title="Cómo formatear de golpe todas las medidas DAX de tu modelo" class="read-more button" href="https://reportingfinanciero.es/como-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo/#more-3093" aria-label="Leer más sobre Cómo formatear de golpe todas las medidas DAX de tu modelo">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/como-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo/">Cómo formatear de golpe todas las medidas DAX de tu modelo</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>¿A ti también te pasa como a mí?. Confieso que cuando escribo fórmulas DAX las escribo en plan “churro”, todo seguido 😥​</p>



<p>Cuando luego me da por querer formatear las medidas, hasta ahora tiraba de la web <a href="http://www.daxformatter.com">www.daxformatter.com</a> y las iba “arreglando” una a una&#8230;</p>



<p>Si te pasa lo mismo, hoy te vengo con un truco que aprendí el pasado 25 de octubre en los Power BI Days de Santiago de Compostela dentro del fabuloso workshop de optimización de DAX que impartió el maestro José Manuel Pomares 👨🏻‍💻​.</p>



<p>Voy a explicarte paso a paso cómo utilizar la vista de consultas DAX de Power BI para formatear de golpe todas las medidas que tengas en tu modelo.</p>



<p>1.- Partimos de un modelo con una serie de medidas y, como ves, están escritas sin respetar ningún tipo de formato, a texto corrido:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-1.png"><img loading="lazy" decoding="async" width="1024" height="324" src="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-1-1024x324.png" alt="" class="wp-image-3096" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-1-1024x324.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-1-300x95.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-1-768x243.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-1-1536x487.png 1536w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-1-1320x418.png 1320w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-1.png 1708w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con el resto de medidas ocurre exactamente lo mismo.</p>



<p>2.- Nos vamos a la vista de consultas DAX, después pulsamos click derecho sobre cualquiera de nuestras medidas, pulsamos sobre “Consultas rápidas” y, por último, sobre “Definir todas las medidas de este modelo”:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-2.png"><img loading="lazy" decoding="async" width="1024" height="371" src="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-2-1024x371.png" alt="" class="wp-image-3097" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-2-1024x371.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-2-300x109.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-2-768x278.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-2-1536x556.png 1536w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-2-1320x478.png 1320w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-2.png 1917w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>3.- Nos aparecerá la siguiente pantalla en la que veremos cómo al principio de la expresión nos aparecen tras el “DEFINE” todas las medidas de nuestro modelo escritas tal y como las teníamos, con texto corrido:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-3.png"><img loading="lazy" decoding="async" width="1024" height="432" src="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-3-1024x432.png" alt="" class="wp-image-3098" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-3-1024x432.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-3-300x126.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-3-768x324.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-3-1536x647.png 1536w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-3-1320x556.png 1320w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-3.png 1649w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>4.- Para formatear todas las medidas, pulsamos sobre el botón “Dar formato a la consulta” de la parte superior:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-4.png"><img loading="lazy" decoding="async" width="1024" height="432" src="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-4-1024x432.png" alt="" class="wp-image-3099" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-4-1024x432.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-4-300x127.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-4-768x324.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-4-1536x648.png 1536w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-4-1320x557.png 1320w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-4.png 1641w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>5.- Una vez pulsado el botón, vemos cómo las medidas que lo necesitan nos aparecen perfectamente formateadas:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-5.png"><img loading="lazy" decoding="async" width="1024" height="542" src="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-5-1024x542.png" alt="" class="wp-image-3100" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-5-1024x542.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-5-300x159.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-5-768x407.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-5-1536x814.png 1536w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-5-1320x699.png 1320w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-5.png 1631w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>6.- Una vez comprobado, pulsamos sobre el botón “Actualizar modelo con cambios”, pulsamos sobre “Actualizar modelo” en el mensaje de advertencia que nos sale posteriormente y automáticamente se hace la magia… 🧙‍♂️:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-6.png"><img loading="lazy" decoding="async" width="840" height="382" src="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-6.png" alt="" class="wp-image-3101" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-6.png 840w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-6-300x136.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-6-768x349.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-7.png"><img loading="lazy" decoding="async" width="329" height="182" src="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-7.png" alt="" class="wp-image-3102" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-7.png 329w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-7-300x166.png 300w" sizes="auto, (max-width: 329px) 100vw, 329px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si volvemos a la vista de informe y pulsamos sobre cualquiera de nuestras medidas ya la tendremos perfectamente formateada:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-8.png"><img loading="lazy" decoding="async" width="1024" height="318" src="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-8-1024x318.png" alt="" class="wp-image-3103" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-8-1024x318.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-8-300x93.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-8-768x239.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-8-1536x477.png 1536w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-8-1320x410.png 1320w, https://reportingfinanciero.es/wp-content/uploads/2024/11/Imagen-8.png 1715w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Realmente útil, ¿verdad?&#8230;. 😉​</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p></p>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo%2F&amp;linkname=C%C3%B3mo%20formatear%20de%20golpe%20todas%20las%20medidas%20DAX%20de%20tu%20modelo" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo%2F&amp;linkname=C%C3%B3mo%20formatear%20de%20golpe%20todas%20las%20medidas%20DAX%20de%20tu%20modelo" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo%2F&amp;linkname=C%C3%B3mo%20formatear%20de%20golpe%20todas%20las%20medidas%20DAX%20de%20tu%20modelo" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo%2F&amp;linkname=C%C3%B3mo%20formatear%20de%20golpe%20todas%20las%20medidas%20DAX%20de%20tu%20modelo" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo%2F&amp;linkname=C%C3%B3mo%20formatear%20de%20golpe%20todas%20las%20medidas%20DAX%20de%20tu%20modelo" title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo%2F&amp;linkname=C%C3%B3mo%20formatear%20de%20golpe%20todas%20las%20medidas%20DAX%20de%20tu%20modelo" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo%2F&amp;linkname=C%C3%B3mo%20formatear%20de%20golpe%20todas%20las%20medidas%20DAX%20de%20tu%20modelo" title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/como-formatear-de-golpe-todas-las-medidas-dax-de-tu-modelo/">Cómo formatear de golpe todas las medidas DAX de tu modelo</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cómo representar en un gráfico de líneas una proyección de cuenta de resultados.</title>
		<link>https://reportingfinanciero.es/como-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas/</link>
		
		<dc:creator><![CDATA[antonio@gestion23.com]]></dc:creator>
		<pubDate>Fri, 18 Oct 2024 07:35:08 +0000</pubDate>
				<category><![CDATA[DAX]]></category>
		<category><![CDATA[Finanzas]]></category>
		<category><![CDATA[Visualizaciones]]></category>
		<guid isPermaLink="false">https://reportingfinanciero.es/?p=3018</guid>

					<description><![CDATA[<p>👨🏻‍💻​ Recientemente impartí un taller de PowerBI aplicado a las finanzas en el que vimos cómo crear una cuenta de pérdidas y ganancias desde el libro diario de varias empresas y cómo compararlo contra el presupuesto. 💡 ​Dentro del taller, Esteban Nardi lanzó una pregunta muy interesante sobre cómo podríamos representar en un gráfico de ... </p>
<p class="read-more-container"><a title="Cómo representar en un gráfico de líneas una proyección de cuenta de resultados." class="read-more button" href="https://reportingfinanciero.es/como-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas/#more-3018" aria-label="Leer más sobre Cómo representar en un gráfico de líneas una proyección de cuenta de resultados.">Leer más</a></p>
<p>La entrada <a href="https://reportingfinanciero.es/como-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas/">Cómo representar en un gráfico de líneas una proyección de cuenta de resultados.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>👨🏻‍💻​ Recientemente impartí un taller de PowerBI aplicado a las finanzas en el que vimos cómo crear una cuenta de pérdidas y ganancias desde el libro diario de varias empresas y cómo compararlo contra el presupuesto. <br><br>💡 ​Dentro del taller, <a href="https://www.linkedin.com/in/esteban-nardi/">Esteban Nardi</a> lanzó una pregunta muy interesante sobre cómo podríamos representar en un gráfico de líneas por un lado la contabilidad cerrada y por otro lado el presupuesto hasta el cierre del ejercicio.</p>



<p>El resultado sería similar al de la siguiente imagen:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-kadence-image kb-image3018_c48cf3-0b"><figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-0-1024x576.png" class="kb-advanced-image-link"><img loading="lazy" decoding="async" width="1024" height="576" src="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-0-1024x576.png" alt="" class="kb-img wp-image-3024" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-0-1024x576.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-0-300x169.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-0-768x432.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-0.png 1052w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>🖊️ ​En el post de hoy vengo a contarte el detalle de cómo conseguirlo, así que si te mueves en el mundo de las finanzas empresariales y el tema te parece interesante….allá vamos:</p>



<p>Antes de nada, sobra comentar que para aplicar esta solución tendremos que tener montado un modelo financiero en el que elaboremos nuestras medidas.</p>



<p>En nuestro modelo teníamos 2 tablas de hechos, una con los libros diarios de la contabilidad real de las empresas, y otra con los presupuestos.</p>



<p>Tendremos que incorporar a nuestro modelo la fecha del cierre contable que tenemos revisado, que será nuestra fecha de corte para pintar la contabilidad real hasta esa fecha y el presupuesto a partir de la misma.</p>



<p>En el taller, incorporé una consulta desde la opción de “Especificar datos” de Power Query, pero tú puedes incorporarlo desde la fuente que consideres.&nbsp; Lo que sí es importante es que sea una fuente que pueda modificar únicamente el controller, el director financiero o la persona que sea la encargada de dar el OK definitivo a la revisión de los cierres contables.</p>



<p>La consulta tiene simplemente una columna con un único registro, que es la fecha de cierre revisado. A la columna le asigno el tipo de dato “Fecha”.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/10/1.jpg"><img loading="lazy" decoding="async" width="545" height="417" src="https://reportingfinanciero.es/wp-content/uploads/2024/10/1.jpg" alt="" class="wp-image-3047" style="width:596px;height:auto" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/10/1.jpg 545w, https://reportingfinanciero.es/wp-content/uploads/2024/10/1-300x230.jpg 300w" sizes="auto, (max-width: 545px) 100vw, 545px" /></a></figure>
</div>


<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A la consulta le doy el nombre de “Revision Cierre” y a la columna “Ultima Revision”.</p>



<p>Dentro de mi informe, tendré que tener calculadas unas medidas para calcular el resultado de PyG de la contabilidad real (a la que llamaré [PyG] ) y de Presupuesto (a la que llamaré [Presupuesto]).</p>



<p>Posteriormente, realizaré la siguiente medida para calcular la fecha de cierre revisado:</p>



<p>Fecha Cierre Revisado = MAX(&#8216;Revision Cierre'[Ultima Revision])</p>



<p>Mi medida DAX para calcular la PyG Proyectada será la siguiente (Nos basamos en la medida [PyG] para calcular el resultado cuando la fecha sea menor o igual a la fecha de cierre revisado y en la medida [Presupuesto] para calcular el resultado cuando la fecha sea mayor a la fecha de cierre revisado):</p>



<p>PyG Proyectada =</p>



<p>CALCULATE (</p>



<p>&nbsp; &nbsp; [PyG],</p>



<p>&nbsp; &nbsp; FILTER ( dimCalendario, dimCalendario[Fecha] &lt;= [Fecha Cierre Revisado] )</p>



<p>)</p>



<p>&nbsp; &nbsp; + CALCULATE (</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; [Presupuesto],</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; FILTER ( dimCalendario, dimCalendario[Fecha] &gt; [Fecha Cierre Revisado] )</p>



<p>&nbsp; &nbsp; )</p>



<p>Si metemos esa medida en un gráfico de líneas, y filtramos por el año 2023, tendremos el siguiente resultado:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-1-1024x569.png"><img loading="lazy" decoding="async" width="1024" height="569" src="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-1-1024x569.png" alt="" class="wp-image-3019" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-1-1024x569.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-1-300x167.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-1-768x427.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-1.png 1230w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Refleja el resultado real hasta el mes de octubre (la fecha de cierre revisado es el 31/10/2023) y el valor presupuestado para los meses de noviembre y diciembre.</p>



<p>Sin embargo, nos aparece toda la línea continua y no distinguimos en la propia línea hasta dónde llega el dato real y dónde empieza el presupuestado.</p>



<p>Para conseguir ese efecto, vamos a realizar dos nuevas medidas DAX para pintar cada uno de los 2 tramos que queremos conseguir:</p>



<p><strong><u>Medida 1:</u></strong></p>



<p>PyG Proyectada Real =</p>



<p>IF (</p>



<p>&nbsp; &nbsp; MAX ( dimCalendario[Fecha] ) &lt;= [Fecha Cierre Revisado],</p>



<p>&nbsp; &nbsp; [PyG]</p>



<p>)</p>



<p>Esta medida nos reflejará el resultado de PyG únicamente cuando el valor de las fechas sea menor o igual a la fecha de cierre revisado.</p>



<p>Si la llevamos a un gráfico de líneas quedaría así:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-2-1024x569.png"><img loading="lazy" decoding="async" width="1024" height="569" src="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-2-1024x569.png" alt="" class="wp-image-3020" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-2-1024x569.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-2-300x167.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-2-768x427.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-2.png 1236w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como puede observarse, a pesar de tener filtrado todo el ejercicio 2023, únicamente se representan valores hasta el mes de Octubre, que es donde llega la fecha de cierre revisado.</p>



<p><strong><u>Medida2:</u></strong></p>



<p>PyG Proyectada Presupuesto =</p>



<p>SWITCH (</p>



<p>&nbsp; &nbsp; TRUE (),</p>



<p>&nbsp; &nbsp; MAX ( dimCalendario[Fecha] ) = [Fecha Cierre Revisado], [PyG],</p>



<p>&nbsp; &nbsp; MAX ( dimCalendario[Fecha] ) &gt; [Fecha Cierre Revisado], [PyG Proyectada],</p>



<p>&nbsp; &nbsp; BLANK ()</p>



<p>)</p>



<p>Se nos mostraría de la siguiente forma en un gráfico de líneas:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-3-1024x573.png"><img loading="lazy" decoding="async" width="1024" height="573" src="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-3-1024x573.png" alt="" class="wp-image-3021" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-3-1024x573.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-3-300x168.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-3-768x430.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-3.png 1232w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora vemos cómo teniendo filtrado todo el ejercicio 2023 se nos representan valores únicamente desde la fecha de cierre. Destacar que para el valor de Octubre, el dato es el real del PyG de la contabilidad, según indicamos en la primera salida del TRUE().</p>



<p>Esto lo hacemos así para que no haya un salto entre las líneas de real y presupuesto cuando juntemos ambas en un mismo gráfico de líneas.&nbsp; Al final del post os mostraré lo que ocurriría si obviamos esa primera salida del TRUE y dejamos únicamente valores para las fechas que sean superiores a la fecha de cierre revisado.</p>



<p>Ahora que ya tenemos las 2 medidas preparadas, vamos a juntarlas en un mismo gráfico de líneas para ver el resultado:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-4-1024x458.png"><img loading="lazy" decoding="async" width="1024" height="458" src="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-4-1024x458.png" alt="" class="wp-image-3022" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-4-1024x458.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-4-300x134.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-4-768x343.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-4-1536x687.png 1536w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-4-1320x590.png 1320w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-4.png 1554w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como vemos, a partir de Octubre cambia el color de la línea, al pasar de representar el dato real de la contabilidad al dato del presupuesto.</p>



<p>Ahora, para que destaque más, simplemente vamos a dar formato discontinuo a la línea de la medida “PyG Proyectada Presupuesto” para que nos muestre el resultado que estábamos buscando:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="737" height="354" src="https://reportingfinanciero.es/wp-content/uploads/2024/10/55.png" alt="" class="wp-image-3054" style="width:762px;height:auto" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/10/55.png 737w, https://reportingfinanciero.es/wp-content/uploads/2024/10/55-300x144.png 300w" sizes="auto, (max-width: 737px) 100vw, 737px" /></figure>
</div>


<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una vez conseguido el resultado y, como lo prometido es deuda, simplemente quiero mostrarte lo que pasaría si en la medida 2 “PyG Proyectada Presupuesto” quitásemos la primera salida del TRUE y dejásemos la medida de la siguiente forma:</p>



<p>PyG Proyectada Presupuesto =</p>



<p>SWITCH (</p>



<p>&nbsp; &nbsp; TRUE (),</p>



<p>&nbsp; &nbsp; MAX ( dimCalendario[Fecha] ) &gt; [Fecha Cierre Revisado], [PyG Proyectada],</p>



<p>&nbsp; &nbsp; BLANK ()</p>



<p>)</p>



<p>El gráfico quedaría así:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-5-1024x569.png"><img loading="lazy" decoding="async" width="1024" height="569" src="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-5-1024x569.png" alt="" class="wp-image-3023" srcset="https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-5-1024x569.png 1024w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-5-300x167.png 300w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-5-768x427.png 768w, https://reportingfinanciero.es/wp-content/uploads/2024/10/Imagen-5.png 1052w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como puedes observar, al no darle ningún valor a la medida para el caso en que la fecha sea igual a la fecha de cierre revisado, no conseguimos que la línea del presupuesto parta desde el cierre del mes de Octubre, con lo que nos quedaría un salto entre ambas líneas que evitamos gracias a la primera salida del TRUE que incorporamos a la medida (revisar la <strong><u>Medida 2</u></strong>), y que está basada en la contabilidad real con la medida [PyG].</p>



<p>Espero que te haya parecido interesante la entrada y que puedas aplicar esta técnica en tus próximos proyectos 😉​</p>



<p>Seguimos!!! 👊</p>



<p></p>
<p><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas%2F&amp;linkname=C%C3%B3mo%20representar%20en%20un%20gr%C3%A1fico%20de%20l%C3%ADneas%20una%20proyecci%C3%B3n%20de%20cuenta%20de%20resultados." title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas%2F&amp;linkname=C%C3%B3mo%20representar%20en%20un%20gr%C3%A1fico%20de%20l%C3%ADneas%20una%20proyecci%C3%B3n%20de%20cuenta%20de%20resultados." title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas%2F&amp;linkname=C%C3%B3mo%20representar%20en%20un%20gr%C3%A1fico%20de%20l%C3%ADneas%20una%20proyecci%C3%B3n%20de%20cuenta%20de%20resultados." title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas%2F&amp;linkname=C%C3%B3mo%20representar%20en%20un%20gr%C3%A1fico%20de%20l%C3%ADneas%20una%20proyecci%C3%B3n%20de%20cuenta%20de%20resultados." title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas%2F&amp;linkname=C%C3%B3mo%20representar%20en%20un%20gr%C3%A1fico%20de%20l%C3%ADneas%20una%20proyecci%C3%B3n%20de%20cuenta%20de%20resultados." title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas%2F&amp;linkname=C%C3%B3mo%20representar%20en%20un%20gr%C3%A1fico%20de%20l%C3%ADneas%20una%20proyecci%C3%B3n%20de%20cuenta%20de%20resultados." title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Freportingfinanciero.es%2Fcomo-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas%2F&amp;linkname=C%C3%B3mo%20representar%20en%20un%20gr%C3%A1fico%20de%20l%C3%ADneas%20una%20proyecci%C3%B3n%20de%20cuenta%20de%20resultados." title="Skype" rel="nofollow noopener" target="_blank"></a></p><p>La entrada <a href="https://reportingfinanciero.es/como-representar-proyeccion-de-cuenta-de-resultados-en-grafico-de-lineas/">Cómo representar en un gráfico de líneas una proyección de cuenta de resultados.</a> se publicó primero en <a href="https://reportingfinanciero.es">reportingfinanciero.es</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
