{"id":1731,"date":"2020-12-04T08:15:00","date_gmt":"2020-12-04T07:15:00","guid":{"rendered":"https:\/\/bicontrolling.com\/?p=1731"},"modified":"2020-12-04T09:34:53","modified_gmt":"2020-12-04T08:34:53","slug":"clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query","status":"publish","type":"post","link":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/","title":{"rendered":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Introducci\u00f3n<\/h4>\n\n\n\n<p>Cuando se construye un modelo de datos en Power BI,  suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser pre-calculados y materializados de forma est\u00e1tica en el modelo y la l\u00f3gica de negocio a implementar deriva del resto de columnas, es casi siempre <strong>preferible utilizar Power Query<\/strong> para definirlas, principalmente porque obtendremos un mayor nivel de compresi\u00f3n que usando columnas calculadas en DAX, y una columna con mejor compresi\u00f3n ocupar\u00e1 menos en memoria y normalmente nos proporcionar\u00e1 <strong>mejores niveles de rendimiento.<\/strong><\/p>\n\n\n\n<p>Un caso com\u00fan, corresponde a la creaci\u00f3n de columnas que nos ayuden a clasificar valores num\u00e9ricos de manera que podamos <strong>discretizar esa variable <\/strong>y entender de forma clara la distribuci\u00f3n de estos valores en nuestro modelo. Esta situaci\u00f3n surge en multitud de escenarios, por ejemplo, cuando necesitamos clasificar facturas en funci\u00f3n de la fecha de vencimiento, productos por precio de venta, empresas por cifra de negocios o empleados por grupos de edad. En este art\u00edculo vamos a ver <strong>distintas opciones para crear estas columnas con Power Query<\/strong>.<\/p>\n\n\n\n<!--more-->\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Utilizando una columna condicional<\/h4>\n\n\n\n<p>Probablemente, la primero que nos venga a la mente sea el utilizar la funcionalidad de columna condicional en el editor de consultas. Imaginemos que queremos crear una columna para <strong>clasificar las horas del d\u00eda<\/strong> en un restaurante para poder agruparlas en periodos distintos y utilizar estos valores para segmentar nuestras medidas. Disponemos de una dimensi\u00f3n horaria, siendo estas algunas de sus columnas:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" width=\"1470\" height=\"658\" src=\"https:\/\/i1.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?fit=629%2C281&amp;ssl=1\" alt=\"\" class=\"wp-image-1745\" srcset=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?w=1470&amp;ssl=1 1470w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?resize=300%2C134&amp;ssl=1 300w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?resize=1024%2C458&amp;ssl=1 1024w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?resize=768%2C344&amp;ssl=1 768w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?resize=900%2C403&amp;ssl=1 900w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?resize=1280%2C573&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Podemos utilizar la columna <code>HoraNumero<\/code> para, mediante una columna condicional, comprobar para cada fila de la tabla en que rango se encuentra el valor y <strong>asignarle la clasificaci\u00f3n correspondiente<\/strong>:<br> <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-20.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"629\" height=\"350\" src=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-20.png?resize=629%2C350&#038;ssl=1\" alt=\"\" class=\"wp-image-1746\" srcset=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-20.png?w=916&amp;ssl=1 916w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-20.png?resize=300%2C167&amp;ssl=1 300w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-20.png?resize=768%2C428&amp;ssl=1 768w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-20.png?resize=900%2C501&amp;ssl=1 900w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>As\u00ed, podemos agrupar los valores num\u00e9ricos como nos interese en cada caso y  obtendr\u00edamos el resultado deseado, poder <strong>segmentar nuestras medidas<\/strong> en funci\u00f3n de los valores de nuestra columna de clasificaci\u00f3n: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-19.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" width=\"1085\" height=\"561\" src=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-19.png?fit=629%2C325&amp;ssl=1\" alt=\"\" class=\"wp-image-1747\" srcset=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-19.png?w=1085&amp;ssl=1 1085w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-19.png?resize=300%2C155&amp;ssl=1 300w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-19.png?resize=1024%2C529&amp;ssl=1 1024w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-19.png?resize=768%2C397&amp;ssl=1 768w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-19.png?resize=900%2C465&amp;ssl=1 900w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>En este caso, el n\u00famero de valores de clasificaci\u00f3n es relativamente peque\u00f1o, pero <strong>la tarea se volver\u00eda tediosa y muy poco eficiente<\/strong> en cuanto el n\u00famero de estos valores creciera un poco. A continuaci\u00f3n, vamos a ver c\u00f3mo podemos crear una <strong>funci\u00f3n personalizada en Power Query<\/strong> que permita realizar la clasificaci\u00f3n de una manera m\u00e1s simple y que a la vez nos sirva de plantilla que podamos reutilizar, modific\u00e1ndola para adaptarla a cualquier necesidad de agrupaci\u00f3n. <\/p>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Funci\u00f3n personalizada con Power Query<\/h4>\n\n\n\n<p>Para el escenario anterior, podr\u00edamos crear la siguiente funci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">(Input) =&gt; <br>     let <br>       ClasificacionPeriodo = <br>         { <br>             {(x)=&gt;x&lt;3, \"Madrugada\"},<br>             {(x)=&gt;x&lt;10, \"Cerrado\"}, <br>             {(x)=&gt;x&lt;12, \"Ma\u00f1ana\"}, <br>             {(x)=&gt;x&lt;16, \"Mediodia\"}, <br>             {(x)=&gt;x&lt;20, \"Tarde\"},  <br>             {(x)=&gt;true, \"Noche\"} <br>         }, <br>       Resultado = List.First(List.Select(ClasificacionPeriodo, each _{0}(Input))){1} <br>     in <br>       Resultado<\/pre>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Donde la variable <code>ClasificacionPeriodo<\/code> contiene una lista de listas, porque <strong>cada elemento de la lista principal contiene una funci\u00f3n<\/strong> que nos va a devolver un valor de true o false, un booleano, y un valor de texto que va a ser al final el resultado que vamos a tener en la columna que vamos a crear para agrupar los valores num\u00e9ricos. <\/p>\n\n\n\n<p>Finalmente, el paso <code>Resultado<\/code>, que ser\u00e1 el <strong>output de nuestra consulta<\/strong>,  comprueba la variable <code>Input<\/code>, que ser\u00e1 nuestra columna <code>HoraNumero<\/code>, con la lista y devuelve la coincidencia correcta o el valor de la cl\u00e1usula \u00abelse\u00bb si no se encuentra ninguna coincidencia (\u00abNoche\u00bb en el caso con el que estamos trabajando).<\/p>\n\n\n\n<p>Para invocar la funci\u00f3n nos ir\u00edamos a nuestra dimensi\u00f3n horaria y, desde la pesta\u00f1a agregar columna seleccionar\u00edamos \u00ab<strong>Invocar funci\u00f3n personalizada<\/strong>\u00bb y posteriormenete, introducir\u00edamos los par\u00e1metros necesarios:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-21.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"629\" height=\"417\" src=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-21.png?resize=629%2C417&#038;ssl=1\" alt=\"\" class=\"wp-image-1755\" srcset=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-21.png?w=848&amp;ssl=1 848w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-21.png?resize=300%2C199&amp;ssl=1 300w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-21.png?resize=768%2C509&amp;ssl=1 768w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Y ya tendr\u00edamos nuestra columna creada. <\/p>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Utilizar una tabla con los rangos de clasificaci\u00f3n<\/h4>\n\n\n\n<p>Por \u00faltimo, vamos a ver c\u00f3mo podemos pasar a la funci\u00f3n <strong>los valores de los rangos de clasificaci\u00f3n en una tabla<\/strong>, que nos ser\u00e1 muy \u00fatil si estos valores son din\u00e1micos en el origen, o si queremos darle al usuario la capacidad de modificarlos sin la necesidad de que alguien manipule el c\u00f3digo M.  <\/p>\n\n\n\n<p>Para seguir con el mismo ejemplo del art\u00edculo, imaginemos que tenemos la siguiente tabla con los valores a usar para crear los rangos y las distintas clasificaciones:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-25.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"355\" height=\"240\" src=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-25.png?resize=355%2C240&#038;ssl=1\" alt=\"\" class=\"wp-image-1758\" srcset=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-25.png?w=355&amp;ssl=1 355w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-25.png?resize=300%2C203&amp;ssl=1 300w\" sizes=\"auto, (max-width: 355px) 100vw, 355px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Veamos el c\u00f3digo de la funci\u00f3n y luego lo comentamos:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">let\n     Clasificar = (tabla as table, numero as number) =&gt; \n         let \n             Listas =  Table.ToRows(tabla),\n             Seleccionados = List.Select(Listas, each {0}<em> &lt;= <\/em>numero<em>),             <\/em>SeleccionadosOrdenados = List.Sort(Seleccionados,{each {0},Order.Ascending}),\n             Resultado = List.Last(SeleccionadosOrdenados){1} \n         in \n             Resultado\n in\n     Clasificar<\/pre>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>En primer lugar, guardamos la <strong>declaraci\u00f3n de la funci\u00f3n<\/strong> en la variable <code>Clasificar<\/code>. Esta funci\u00f3n tendr\u00e1 dos par\u00e1metros, la tabla con las clasificaciones a utilizar y el n\u00famero que clasificaremos, que ser\u00e1 nuestra columna <code>HoraNumero<\/code> de la dimensi\u00f3n horaria del modelo.<\/p>\n\n\n\n<p>A continuaci\u00f3n, en el bloque de instrucciones de la funci\u00f3n utilizaremos <code>Table.ToRows<\/code> para <strong>convertir la tabla en una lista anidada de filas<\/strong>, de manera que cada fila se convierta en un elemento de una lista y a su vez los campos de cada fila se conviertan en una lista. Posteriormente utilizamos la funci\u00f3n <code>List.Select<\/code> para quedarnos solamente con los valores de la tabla de rangos que son menores o iguales que el valor del campo que queremos clasificar. <\/p>\n\n\n\n<p>M\u00e1s tarde, como queremos <strong>que el algoritmo funcione aunque los valores de la columna con los limites no est\u00e9n ordenados<\/strong> de menor a mayor, vamos a utilizar la funci\u00f3n <code>List.Sort<\/code> para ordenar los valores dentro de nuestra lista resultante de forma ascendente, para, posteriormente, utilizar la funci\u00f3n <code>List.Last<\/code> que  devuelve el \u00faltimo elemento de la lista, en este caso, el correspondiente al elemento que contiene los datos del registro de la tabla de clasificaci\u00f3n que corresponde al valor num\u00e9rico a clasificar.<\/p>\n\n\n\n<p>Ya solo nos quedar\u00eda invocar esta nueva funci\u00f3n personalizada desde nuestra dimensi\u00f3n horaria de la siguiente forma:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-26.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"629\" height=\"315\" src=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-26.png?resize=629%2C315&#038;ssl=1\" alt=\"\" class=\"wp-image-1759\" srcset=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-26.png?w=692&amp;ssl=1 692w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-26.png?resize=300%2C150&amp;ssl=1 300w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/a><\/figure>\n\n\n\n<p>Y obtendr\u00edamos el resultado deseado, que en este caso coincide con lo obtenido usando los otros 2 m\u00e9todos que hemos visto anteriormente en este art\u00edculo.<\/p>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Conclusi\u00f3n<\/h4>\n\n\n\n<p>En este art\u00edculo hemos visto <strong>distintas formas de crear columnas de agrupaci\u00f3n de valores num\u00e9ricos<\/strong>, siendo la mejor de ellas, desde el punto de vista de la eficiencia y la reutilizaci\u00f3n del c\u00f3digo, la opci\u00f3n de crear una <strong>funci\u00f3n personalizada en Power Query<\/strong>, optando por pasar a dicha funci\u00f3n una tabla externa que contenga los valores para cada grupo en el caso de que estos puedan ser modificados en el origen en el futuro. <\/p>\n\n\n\n<p>El disponer de una funci\u00f3n de este tipo a la que poder recurrir, nos ser\u00e1 <strong>\u00fatil en multitud de escenarios distintos<\/strong> donde necesitemos discretizar valores num\u00e9ricos. En cuanto a la visualizaci\u00f3n, podemos servirnos de estas nuevas columnas para crear, por ejemplo, <strong>histogramas <\/strong>como el siguiente sin necesidad de utilizar visualizaciones personalizadas:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"610\" src=\"https:\/\/i2.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-22.png?fit=629%2C337&amp;ssl=1\" alt=\"\" class=\"wp-image-1760\" srcset=\"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-22.png?w=1140&amp;ssl=1 1140w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-22.png?resize=300%2C161&amp;ssl=1 300w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-22.png?resize=1024%2C548&amp;ssl=1 1024w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-22.png?resize=768%2C411&amp;ssl=1 768w, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-22.png?resize=900%2C482&amp;ssl=1 900w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/figure>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2,6],"tags":[27,33,10,29,44,45,12,14,18,39,32],"post_series":[],"class_list":["post-1731","post","type-post","status-publish","format-standard","hentry","category-arquitectura-de-datos","category-m-power-query","tag-bi","tag-bism","tag-editor-de-consultas","tag-etl","tag-funciones-m","tag-histogramas","tag-m","tag-power-bi","tag-power-query","tag-transformaciones","tag-visualizacion-de-datos"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Introducci\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Admin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Business Intelligence Controlling | La nueva generaci\u00f3n del reporting econ\u00f3mico-financiero y el control de gesti\u00f3n empresarial\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query | Business Intelligence Controlling\" \/>\n\t\t<meta property=\"og:description\" content=\"Introducci\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-12-04T07:15:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-12-04T08:34:53+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query | Business Intelligence Controlling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Introducci\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#article\",\"name\":\"Clasificar valores num\\u00e9ricos mediante una funci\\u00f3n personalizada en Power Query | Business Intelligence Controlling\",\"headline\":\"Clasificar valores num\\u00e9ricos mediante una funci\\u00f3n personalizada en Power Query\",\"author\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/author\\\/vlozanoluque_sg8t8mat\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i1.wp.com\\\/bicontrolling.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Imagen-17.png?fit=629%2C281&amp;ssl=1\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#articleImage\"},\"datePublished\":\"2020-12-04T08:15:00+01:00\",\"dateModified\":\"2020-12-04T09:34:53+01:00\",\"inLanguage\":\"es-ES\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#webpage\"},\"articleSection\":\"Arquitectura de datos, M (Power Query), BI, BISM, Editor de consultas, ETL, Funciones M, Histogramas, M, Power BI, Power Query, Transformaciones, Visualizaci\\u00f3n de datos\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/#listItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/bicontrolling.com\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/category\\\/arquitectura-de-datos\\\/#listItem\",\"name\":\"Arquitectura de datos\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/category\\\/arquitectura-de-datos\\\/#listItem\",\"position\":2,\"name\":\"Arquitectura de datos\",\"item\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/category\\\/arquitectura-de-datos\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#listItem\",\"name\":\"Clasificar valores num\\u00e9ricos mediante una funci\\u00f3n personalizada en Power Query\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/#listItem\",\"name\":\"Inicio\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#listItem\",\"position\":3,\"name\":\"Clasificar valores num\\u00e9ricos mediante una funci\\u00f3n personalizada en Power Query\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/category\\\/arquitectura-de-datos\\\/#listItem\",\"name\":\"Arquitectura de datos\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/#organization\",\"name\":\"Business Intelligence Controlling\",\"description\":\"La nueva generaci\\u00f3n del reporting econ\\u00f3mico-financiero y el control de gesti\\u00f3n empresarial\",\"url\":\"https:\\\/\\\/bicontrolling.com\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/author\\\/vlozanoluque_sg8t8mat\\\/#author\",\"url\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/author\\\/vlozanoluque_sg8t8mat\\\/\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/00c17f691e05a0999c7ea23a9ae4aa6e7ae25f55cd91ae9629fe81a02ae98278?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Admin\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#webpage\",\"url\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/\",\"name\":\"Clasificar valores num\\u00e9ricos mediante una funci\\u00f3n personalizada en Power Query | Business Intelligence Controlling\",\"description\":\"Introducci\\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser\",\"inLanguage\":\"es-ES\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/2020\\\/12\\\/04\\\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/author\\\/vlozanoluque_sg8t8mat\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/index.php\\\/author\\\/vlozanoluque_sg8t8mat\\\/#author\"},\"datePublished\":\"2020-12-04T08:15:00+01:00\",\"dateModified\":\"2020-12-04T09:34:53+01:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/#website\",\"url\":\"https:\\\/\\\/bicontrolling.com\\\/\",\"name\":\"Business Intelligence Controlling\",\"description\":\"La nueva generaci\\u00f3n del reporting econ\\u00f3mico-financiero y el control de gesti\\u00f3n empresarial\",\"inLanguage\":\"es-ES\",\"publisher\":{\"@id\":\"https:\\\/\\\/bicontrolling.com\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query | Business Intelligence Controlling","description":"Introducci\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser","canonical_url":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#article","name":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query | Business Intelligence Controlling","headline":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query","author":{"@id":"https:\/\/bicontrolling.com\/index.php\/author\/vlozanoluque_sg8t8mat\/#author"},"publisher":{"@id":"https:\/\/bicontrolling.com\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/i1.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/12\/Imagen-17.png?fit=629%2C281&amp;ssl=1","@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#articleImage"},"datePublished":"2020-12-04T08:15:00+01:00","dateModified":"2020-12-04T09:34:53+01:00","inLanguage":"es-ES","mainEntityOfPage":{"@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#webpage"},"isPartOf":{"@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#webpage"},"articleSection":"Arquitectura de datos, M (Power Query), BI, BISM, Editor de consultas, ETL, Funciones M, Histogramas, M, Power BI, Power Query, Transformaciones, Visualizaci\u00f3n de datos"},{"@type":"BreadcrumbList","@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/bicontrolling.com\/#listItem","position":1,"name":"Inicio","item":"https:\/\/bicontrolling.com\/","nextItem":{"@type":"ListItem","@id":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/#listItem","name":"Arquitectura de datos"}},{"@type":"ListItem","@id":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/#listItem","position":2,"name":"Arquitectura de datos","item":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/","nextItem":{"@type":"ListItem","@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#listItem","name":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query"},"previousItem":{"@type":"ListItem","@id":"https:\/\/bicontrolling.com\/#listItem","name":"Inicio"}},{"@type":"ListItem","@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#listItem","position":3,"name":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query","previousItem":{"@type":"ListItem","@id":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/#listItem","name":"Arquitectura de datos"}}]},{"@type":"Organization","@id":"https:\/\/bicontrolling.com\/#organization","name":"Business Intelligence Controlling","description":"La nueva generaci\u00f3n del reporting econ\u00f3mico-financiero y el control de gesti\u00f3n empresarial","url":"https:\/\/bicontrolling.com\/"},{"@type":"Person","@id":"https:\/\/bicontrolling.com\/index.php\/author\/vlozanoluque_sg8t8mat\/#author","url":"https:\/\/bicontrolling.com\/index.php\/author\/vlozanoluque_sg8t8mat\/","name":"Admin","image":{"@type":"ImageObject","@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/00c17f691e05a0999c7ea23a9ae4aa6e7ae25f55cd91ae9629fe81a02ae98278?s=96&d=mm&r=g","width":96,"height":96,"caption":"Admin"}},{"@type":"WebPage","@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#webpage","url":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/","name":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query | Business Intelligence Controlling","description":"Introducci\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser","inLanguage":"es-ES","isPartOf":{"@id":"https:\/\/bicontrolling.com\/#website"},"breadcrumb":{"@id":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/#breadcrumblist"},"author":{"@id":"https:\/\/bicontrolling.com\/index.php\/author\/vlozanoluque_sg8t8mat\/#author"},"creator":{"@id":"https:\/\/bicontrolling.com\/index.php\/author\/vlozanoluque_sg8t8mat\/#author"},"datePublished":"2020-12-04T08:15:00+01:00","dateModified":"2020-12-04T09:34:53+01:00"},{"@type":"WebSite","@id":"https:\/\/bicontrolling.com\/#website","url":"https:\/\/bicontrolling.com\/","name":"Business Intelligence Controlling","description":"La nueva generaci\u00f3n del reporting econ\u00f3mico-financiero y el control de gesti\u00f3n empresarial","inLanguage":"es-ES","publisher":{"@id":"https:\/\/bicontrolling.com\/#organization"}}]},"og:locale":"es_ES","og:site_name":"Business Intelligence Controlling | La nueva generaci\u00f3n del reporting econ\u00f3mico-financiero y el control de gesti\u00f3n empresarial","og:type":"article","og:title":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query | Business Intelligence Controlling","og:description":"Introducci\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser","og:url":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/","article:published_time":"2020-12-04T07:15:00+00:00","article:modified_time":"2020-12-04T08:34:53+00:00","twitter:card":"summary","twitter:title":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query | Business Intelligence Controlling","twitter:description":"Introducci\u00f3n Cuando se construye un modelo de datos en Power BI, suele ser com\u00fan la necesidad de ampliar una tabla procedente de un origen de datos con columnas adicionales, cuyo contenido se derive de los datos existentes en dicha tabla. En estos casos en los que los valores de las nuevas columnas van a ser"},"aioseo_meta_data":{"post_id":"1731","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[],"defaultGraph":"","defaultPostTypeGraph":""},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-31 11:36:59","updated":"2025-06-04 12:10:00","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/bicontrolling.com\/\" title=\"Inicio\">Inicio<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/\" title=\"Arquitectura de datos\">Arquitectura de datos<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tClasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Inicio","link":"https:\/\/bicontrolling.com\/"},{"label":"Arquitectura de datos","link":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/"},{"label":"Clasificar valores num\u00e9ricos mediante una funci\u00f3n personalizada en Power Query","link":"https:\/\/bicontrolling.com\/index.php\/2020\/12\/04\/clasificar-valores-numericos-mediante-una-funcion-personalizada-en-power-query\/"}],"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1509,"url":"https:\/\/bicontrolling.com\/index.php\/2020\/01\/28\/dinamizar-mas-de-un-valor-en-power-query\/","url_meta":{"origin":1731,"position":0},"title":"Dinamizar sobre m\u00e1s de un valor en Power Query","author":"Admin","date":"28 enero, 2020","format":false,"excerpt":"La funci\u00f3n Table.Pivot() del lenguaje M nos ofrece la capacidad de obtener como resultado una tabla que contiene un valor agregado para cada valor \u00fanico de una columna. Cuando usamos esta funci\u00f3n, Power Query agrupa cada valor mediante la agregaci\u00f3n que seleccionemos y rota (pivota) los datos de la columna\u2026","rel":"","context":"En \u00abArquitectura de datos\u00bb","block_context":{"text":"Arquitectura de datos","link":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2019\/12\/Combinada.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2019\/12\/Combinada.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2019\/12\/Combinada.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2019\/12\/Combinada.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1568,"url":"https:\/\/bicontrolling.com\/index.php\/2020\/04\/19\/mostrar-la-ultima-fecha-de-actualizacion-en-power-bi\/","url_meta":{"origin":1731,"position":1},"title":"Mostrar la \u00faltima fecha de actualizaci\u00f3n en Power BI","author":"Admin","date":"19 abril, 2020","format":false,"excerpt":"Introducci\u00f3n En numerosas ocasiones, la primera pregunta que nos hace un usuario de un informe en Power BI es \u00bfest\u00e1n los datos actualizados? En un Panel del Servicio podemos configurar en cualquiera de las visualizaciones ancladas en el mismo, la capacidad de mostrar la hora de \u00faltima actualizaci\u00f3n de los\u2026","rel":"","context":"En \u00abArquitectura de datos\u00bb","block_context":{"text":"Arquitectura de datos","link":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-1.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1582,"url":"https:\/\/bicontrolling.com\/index.php\/2019\/08\/29\/eliminar-y-transformar-columnas-de-forma-segura-en-power-query\/","url_meta":{"origin":1731,"position":2},"title":"Eliminar y transformar columnas de forma segura en Power Query","author":"Admin","date":"29 agosto, 2019","format":false,"excerpt":"Introducci\u00f3n El editor de consultas de Power Query nos proporciona un interfaz gr\u00e1fico de usuario que facilita enormemente una gran parte de nuestras tareas de limpieza y optimizaci\u00f3n estructural de los datos, traduciendo los pasos que vamos realizando sobre una vista previa, a un flujo de instrucciones program\u00e1ticas en lenguaje\u2026","rel":"","context":"En \u00abArquitectura de datos\u00bb","block_context":{"text":"Arquitectura de datos","link":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-7.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-7.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-7.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":464,"url":"https:\/\/bicontrolling.com\/index.php\/2017\/12\/10\/tablas-de-medidas-en-power-bi-desktop\/","url_meta":{"origin":1731,"position":3},"title":"Grupos de medidas en Power BI Desktop","author":"Admin","date":"10 diciembre, 2017","format":false,"excerpt":"En numerosas ocasiones, cuando estamos trabajando con modelos de datos complejos, con muchas tablas y relaciones, y que requieren un n\u00famero considerable de medidas, es importante tener en cuenta el lugar de almacenamiento de las mismas. Por ejemplo, es probable que tras cargar al modelo de datos todas las consultas\u2026","rel":"","context":"En \u00abArquitectura de datos\u00bb","block_context":{"text":"Arquitectura de datos","link":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2018\/04\/image-9-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2018\/04\/image-9-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2018\/04\/image-9-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2018\/04\/image-9-1.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2018\/04\/image-9-1.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":1612,"url":"https:\/\/bicontrolling.com\/index.php\/2019\/09\/16\/imitar-el-comportamiento-del-argumento-missingfield-ignore-en-table-transformcolumntypes\/","url_meta":{"origin":1731,"position":4},"title":"Imitar el comportamiento del argumento MissingField.Ignore en Table.TransformColumnTypes","author":"Admin","date":"16 septiembre, 2019","format":false,"excerpt":"Introducci\u00f3n En el anterior art\u00edculo estuvimos hablando del reto de crear consultas robustas que sean resistentes a los cambios en la estructura de los datos en el origen, y que no fallen en la actualizaci\u00f3n por culpa de estas modificaciones. Vimos c\u00f3mo, probablemente, el catalizador m\u00e1s com\u00fan de este tipo\u2026","rel":"","context":"En \u00abArquitectura de datos\u00bb","block_context":{"text":"Arquitectura de datos","link":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-12.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-12.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-12.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/bicontrolling.com\/wp-content\/uploads\/2020\/04\/Imagen-12.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1938,"url":"https:\/\/bicontrolling.com\/index.php\/2021\/11\/26\/hasta-el-ultimo-segundo-en-power-bi\/","url_meta":{"origin":1731,"position":5},"title":"Hasta el \u00faltimo segundo en Power BI","author":"Admin","date":"26 noviembre, 2021","format":false,"excerpt":"Video de mi participaci\u00f3n en Power Platform Madrid, con una sesi\u00f3n sobre la creaci\u00f3n y el uso de una dimensi\u00f3n horaria que nos permita analizar nuestros hechos a granularidades inferiores al d\u00eda. https:\/\/www.youtube.com\/watch?v=UViZ3lzLxrE","rel":"","context":"En \u00abArquitectura de datos\u00bb","block_context":{"text":"Arquitectura de datos","link":"https:\/\/bicontrolling.com\/index.php\/category\/arquitectura-de-datos\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/img.youtube.com\/vi\/UViZ3lzLxrE\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/posts\/1731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/comments?post=1731"}],"version-history":[{"count":18,"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/posts\/1731\/revisions"}],"predecessor-version":[{"id":1784,"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/posts\/1731\/revisions\/1784"}],"wp:attachment":[{"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/media?parent=1731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/categories?post=1731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/tags?post=1731"},{"taxonomy":"post_series","embeddable":true,"href":"https:\/\/bicontrolling.com\/index.php\/wp-json\/wp\/v2\/post_series?post=1731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}