{"id":2660,"date":"2025-10-11T19:55:24","date_gmt":"2025-10-11T17:55:24","guid":{"rendered":"https:\/\/edukia.org\/?post_type=avada_portfolio&#038;p=2660"},"modified":"2025-10-11T19:57:03","modified_gmt":"2025-10-11T17:57:03","slug":"dax-function-guide","status":"publish","type":"avada_portfolio","link":"https:\/\/edukia.org\/en\/resources\/dax-function-guide\/","title":{"rendered":"DAX Function Guide"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:10px;--awb-border-radius-top-right:10px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-padding-top:30px;--awb-padding-bottom:30px;--awb-background-color:#eaeaea;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1310.4px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><h1><\/h1>\n<h2><span class=\"selected\">\u00a1Convi\u00e9rtete en el Mago de los Datos! \ud83d\ude80<\/span><\/h2>\n<p><span class=\"selected\">\u00bfCansado de la frustraci\u00f3n al escribir medidas en Power BI? \u00a1Se acab\u00f3 la b\u00fasqueda interminable en Google!<\/span><\/p>\n<p><span class=\"selected\">Aqu\u00ed tienes la <\/span><strong><span class=\"selected\">Gu\u00eda de funciones DAX<\/span><\/strong><span class=\"selected\"> m\u00e1s r\u00e1pida y amigable de la galaxia. Olv\u00eddate de la teor\u00eda densa y ve directo a lo que importa.<\/span><\/p>\n<p><strong><span class=\"selected\">\u00bfC\u00f3mo funciona?<\/span><\/strong><\/p>\n<ol>\n<li><strong><span class=\"selected\">Selecciona<\/span><\/strong><span class=\"selected\"> esa funci\u00f3n DAX que te trae de cabeza (s\u00ed, incluso el temido CALCULATE).<\/span><\/li>\n<li><strong><span class=\"selected\">Entiende<\/span><\/strong><span class=\"selected\"> su descripci\u00f3n y mira su sintaxis.<\/span><\/li>\n<li><strong><span class=\"selected\">Copia<\/span><\/strong><span class=\"selected\"> el ejemplo de uso y ad\u00e1ptalo a tu modelo.<\/span><\/li>\n<\/ol>\n<p><span class=\"selected\">\u00a1Simple, directo y dise\u00f1ado para que domines DAX en tiempo r\u00e9cord! \u00a1A modelar sin miedo!<\/span><\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-background-color:#eaeaea;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!DOCTYPE html>\n<html lang=\"es\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Gu\u00eda de Funciones DAX<\/title>\n    <!-- Incluir Tailwind CSS desde CDN -->\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;700&display=swap\">\n    <style>\n        body {\n            font-family: 'Inter', sans-serif;\n            background-color: #f3f4f6;\n            color: #1f2937;\n        }\n    <\/style>\n<\/head>\n<body class=\"flex items-center justify-center min-h-screen p-4\">\n    <!-- \n        El uso de las clases \"flex items-center justify-center min-h-screen\" \n        en el body garantiza que el contenido (el div principal) \n        est\u00e9 siempre centrado vertical y horizontalmente en la pantalla.\n    -->\n    <div class=\"bg-white p-6 md:p-8 rounded-lg shadow-xl max-w-xl w-full\">\n        \n        <!-- Gu\u00eda R\u00e1pida de la aplicaci\u00f3n -->\n        <div class=\"mb-6 p-4 bg-indigo-50 rounded-lg border border-indigo-200\">\n            <h1 class=\"text-xl font-semibold mb-2 text-indigo-700 md:text-2xl\">Gu\u00eda R\u00e1pida de Referencia DAX<\/h1>\n            <ul class=\"list-disc list-inside text-gray-700 text-sm space-y-1\">\n                <li>Utiliza el **desplegable** para navegar por categor\u00edas de funciones.<\/li>\n                <li>Selecciona cualquier funci\u00f3n DAX (ej., **CALCULATE** o **SUMX**).<\/li>\n                <li>Aparecer\u00e1n inmediatamente la **Descripci\u00f3n**, **Sintaxis** y un **Ejemplo** de uso.<\/li>\n            <\/ul>\n        <\/div>\n        <!-- Fin Gu\u00eda R\u00e1pida -->\n\n        <div class=\"mb-6\">\n            <label for=\"dax-functions\" class=\"block text-gray-700 font-semibold mb-2\">Selecciona una funci\u00f3n:<\/label>\n            <select id=\"dax-functions\" class=\"w-full p-3 border border-gray-300 rounded-lg shadow-sm focus:outline-none focus:ring-2 focus:ring-indigo-500 transition duration-200 ease-in-out\">\n                <option value=\"\" disabled selected>-- Elige una funci\u00f3n --<\/option>\n            <\/select>\n        <\/div>\n\n        <div id=\"function-details\" class=\"bg-gray-100 p-4 rounded-lg border border-gray-200 hidden\">\n            <h2 class=\"text-2xl font-bold mb-2 text-indigo-700\" id=\"function-title\"><\/h2>\n            <div class=\"mb-2\">\n                <h3 class=\"font-semibold text-lg text-gray-800\">Descripci\u00f3n:<\/h3>\n                <p id=\"function-description\" class=\"bg-white p-3 rounded-md text-sm\"><\/p>\n            <\/div>\n            <div class=\"mb-4\">\n                <h3 class=\"font-semibold text-lg text-gray-800\">Sintaxis:<\/h3>\n                <pre id=\"function-syntax\" class=\"bg-gray-200 text-gray-800 p-3 rounded-md overflow-x-auto text-sm\"><\/pre>\n            <\/div>\n            <div>\n                <h3 class=\"font-semibold text-lg text-gray-800\">Ejemplo:<\/h3>\n                <p id=\"function-example\" class=\"bg-white p-3 rounded-md text-sm\"><\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        \/\/ Array con los datos de las funciones DAX, organizados por categor\u00eda\n        const daxFunctions = [\n            {\n                category: \"Funciones de Agregaci\u00f3n e Iteraci\u00f3n\",\n                functions: [\n                    {\n                        name: \"SUM\",\n                        description: \"Suma todos los n\u00fameros en una columna.\",\n                        syntax: \"SUM(<column>)\",\n                        example: \"Ventas Totales = SUM(Ventas[Cantidad])\"\n                    },\n                    {\n                        name: \"SUMX\",\n                        description: \"Suma los resultados de una expresi\u00f3n evaluada fila por fila para cada fila de una tabla. Crucial para c\u00e1lculos complejos.\",\n                        syntax: \"SUMX(<table>, <expression>)\",\n                        example: \"Total de Venta Neta = SUMX(Ventas, Ventas[Precio] * Ventas[Cantidad])\"\n                    },\n                    {\n                        name: \"AVERAGE\",\n                        description: \"Calcula el promedio (media aritm\u00e9tica) de los n\u00fameros en una columna.\",\n                        syntax: \"AVERAGE(<column>)\",\n                        example: \"Promedio de Ventas = AVERAGE(Ventas[Cantidad])\"\n                    },\n                    {\n                        name: \"MAXX\",\n                        description: \"Eval\u00faa una expresi\u00f3n para cada fila de una tabla y devuelve el valor m\u00e1ximo.\",\n                        syntax: \"MAXX(<table>, <expression>)\",\n                        example: \"Venta M\u00e1xima por Cliente = MAXX(Clientes, [Ventas Totales])\"\n                    },\n                    {\n                        name: \"MINX\",\n                        description: \"Eval\u00faa una expresi\u00f3n para cada fila de una tabla y devuelve el valor m\u00ednimo.\",\n                        syntax: \"MINX(<table>, <expression>)\",\n                        example: \"Venta M\u00ednima por Cliente = MINX(Clientes, [Ventas Totales])\"\n                    }\n                ]\n            },\n            {\n                category: \"Funciones de Filtro y Contexto\",\n                functions: [\n                    {\n                        name: \"CALCULATE\",\n                        description: \"Eval\u00faa una expresi\u00f3n en un contexto de filtro modificado. Es la funci\u00f3n m\u00e1s importante de DAX.\",\n                        syntax: \"CALCULATE(<expression>, <filter1>, [<filter2>], ...)\",\n                        example: \"Ventas de California = CALCULATE([Ventas Totales], Geograf\u00eda[Estado] = \\\"California\\\")\"\n                    },\n                    {\n                        name: \"ALL\",\n                        description: \"Devuelve todas las filas de una tabla, o todos los valores de una o varias columnas, ignorando cualquier filtro que se haya aplicado.\",\n                        syntax: \"ALL([<table>] | <column>[, <column>[, ...]])\",\n                        example: \"Ventas de todos los productos = CALCULATE([Ventas Totales], ALL(Producto[Nombre]))\"\n                    },\n                    {\n                        name: \"ALLSELECTED\",\n                        description: \"Devuelve todos los datos visibles en el contexto actual del objeto visual, ignorando los filtros internos pero conservando los filtros externos.\",\n                        syntax: \"ALLSELECTED([<tableName> | <columnName>])\",\n                        example: \"Total Visible = CALCULATE([Ventas Totales], ALLSELECTED())\"\n                    },\n                    {\n                        name: \"FILTER\",\n                        description: \"Devuelve una tabla filtrada por la expresi\u00f3n de filtro proporcionada.\",\n                        syntax: \"FILTER(<table>, <filter>)\",\n                        example: \"Filtrar por Vendedores = FILTER(Ventas, Ventas[Vendedor] = \\\"Juan\\\")\"\n                    },\n                    {\n                        name: \"KEEPFILTERS\",\n                        description: \"Modifica c\u00f3mo se combinan los filtros en CALCULATE. Mantiene los filtros existentes en lugar de sobrescribirlos con los nuevos filtros.\",\n                        syntax: \"KEEPFILTERS(<expression>)\",\n                        example: \"Ventas Espec\u00edficas = CALCULATE([Ventas Totales], KEEPFILTERS(Productos[Color] = \\\"Rojo\\\"))\"\n                    },\n                    {\n                        name: \"VALUES\",\n                        description: \"Devuelve una tabla de una sola columna que contiene los valores \u00fanicos de la columna especificada (o los valores visibles en el contexto de filtro).\",\n                        syntax: \"VALUES(<column>)\",\n                        example: \"Medida de Clientes \u00danicos = COUNTROWS(VALUES(Clientes[ID Cliente]))\"\n                    }\n                ]\n            },\n            {\n                category: \"Funciones de Fecha y Hora\",\n                functions: [\n                    {\n                        name: \"CALENDAR\",\n                        description: \"Devuelve una tabla con una columna de fechas entre una fecha de inicio y una fecha de finalizaci\u00f3n especificadas.\",\n                        syntax: \"CALENDAR(<start_date>, <end_date>)\",\n                        example: \"Tabla Fecha = CALENDAR(DATE(2024, 1, 1), DATE(2024, 12, 31))\"\n                    },\n                    {\n                        name: \"TODAY\",\n                        description: \"Devuelve la fecha actual, sin la hora.\",\n                        syntax: \"TODAY()\",\n                        example: \"Fecha de Hoy = TODAY()\"\n                    },\n                    {\n                        name: \"YEAR\",\n                        description: \"Devuelve el a\u00f1o de una fecha.\",\n                        syntax: \"YEAR(<date>)\",\n                        example: \"A\u00f1o de Pedido = YEAR('Pedidos'[Fecha de Pedido])\"\n                    },\n                    {\n                        name: \"MONTH\",\n                        description: \"Devuelve el n\u00famero de mes de una fecha, del 1 al 12.\",\n                        syntax: \"MONTH(<date>)\",\n                        example: \"N\u00famero de Mes = MONTH('Pedidos'[Fecha de Pedido])\"\n                    },\n                    {\n                        name: \"DATE\",\n                        description: \"Devuelve la fecha especificada a partir de un a\u00f1o, mes y d\u00eda.\",\n                        syntax: \"DATE(<year>, <month>, <day>)\",\n                        example: \"Fecha de Inicio = DATE(2023, 1, 1)\"\n                    },\n                    {\n                        name: \"EOMONTH\",\n                        description: \"Devuelve el \u00faltimo d\u00eda del mes en el que se encuentra la fecha especificada.\",\n                        syntax: \"EOMONTH(<start_date>, <months>)\",\n                        example: \"Fin del Mes Actual = EOMONTH(TODAY(), 0)\"\n                    }\n                ]\n            },\n            {\n                category: \"Funciones de Inteligencia de Tiempo\",\n                functions: [\n                    {\n                        name: \"TOTALYTD\",\n                        description: \"Calcula el total anual hasta la fecha en el contexto actual.\",\n                        syntax: \"TOTALYTD(<expression>, <dates>[, <filter>])\",\n                        example: \"Ventas YTD = TOTALYTD(SUM(Ventas[Monto]), 'Fecha'[Fecha])\"\n                    },\n                    {\n                        name: \"SAMEPERIODLASTYEAR\",\n                        description: \"Devuelve una tabla que contiene un conjunto de fechas que est\u00e1n en el mismo per\u00edodo, pero un a\u00f1o antes.\",\n                        syntax: \"SAMEPERIODLASTYEAR(<dates>)\",\n                        example: \"Ventas A\u00f1o Anterior = CALCULATE([Ventas Totales], SAMEPERIODLASTYEAR('Fecha'[Fecha]))\"\n                    },\n                    {\n                        name: \"DATEADD\",\n                        description: \"Devuelve una tabla que contiene una columna de fechas, desplazadas hacia adelante o hacia atr\u00e1s en el tiempo.\",\n                        syntax: \"DATEADD(<dates>, <number_of_intervals>, <interval>)\",\n                        example: \"Ventas \u00daltimos 3 Meses = CALCULATE([Ventas Totales], DATEADD('Fecha'[Fecha], -3, MONTH))\"\n                    }\n                ]\n            },\n            {\n                category: \"Funciones Matem\u00e1ticas y Estad\u00edsticas\",\n                functions: [\n                    {\n                        name: \"DIVIDE\",\n                        description: \"Realiza la divisi\u00f3n de forma segura y gestiona la divisi\u00f3n por cero, devolviendo un resultado alternativo (generalmente 0 o BLANK).\",\n                        syntax: \"DIVIDE(<numerator>, <denominator>[, <alternateresult>])\",\n                        example: \"Ratio = DIVIDE([Beneficio], [Ventas], 0)\"\n                    },\n                    {\n                        name: \"ROUND\",\n                        description: \"Redondea un n\u00famero al n\u00famero especificado de d\u00edgitos.\",\n                        syntax: \"ROUND(<number>, <num_digits>)\",\n                        example: \"Valor Redondeado = ROUND(Ventas[Precio Unitario], 2)\"\n                    },\n                    {\n                        name: \"RANKX\",\n                        description: \"Calcula el ranking de una expresi\u00f3n evaluada en el contexto de filtro actual de una tabla (ideal para clasificaciones din\u00e1micas).\",\n                        syntax: \"RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])\",\n                        example: \"Ranking de Ventas = RANKX(ALL(Productos[Nombre]), [Ventas Totales], , DESC)\"\n                    }\n                ]\n            },\n            {\n                category: \"Funciones de Relaci\u00f3n\",\n                functions: [\n                    {\n                        name: \"RELATED\",\n                        description: \"Devuelve un valor de una columna de una tabla relacionada (de muchos a uno).\",\n                        syntax: \"RELATED(<column>)\",\n                        example: \"Categor\u00eda de Producto = RELATED(Productos[Categor\u00eda])\"\n                    },\n                    {\n                        name: \"RELATEDTABLE\",\n                        description: \"Eval\u00faa una expresi\u00f3n de tabla en el contexto de la fila actual (de uno a muchos) y la devuelve como una tabla.\",\n                        syntax: \"RELATEDTABLE(<table>)\",\n                        example: \"Pedidos del Cliente = COUNTROWS(RELATEDTABLE('Pedidos'))\"\n                    },\n                    {\n                        name: \"USERELATIONSHIP\",\n                        description: \"Especifica la relaci\u00f3n inactiva que se debe usar en un c\u00e1lculo para sobrescribir temporalmente la relaci\u00f3n activa.\",\n                        syntax: \"USERELATIONSHIP(<column1>, <column2>)\",\n                        example: \"Ventas por Fecha de Env\u00edo = CALCULATE([Ventas Totales], USERELATIONSHIP('Fecha'[Fecha], Ventas[Fecha de Env\u00edo]))\"\n                    }\n                ]\n            },\n            {\n                category: \"Funciones de Texto y Conversi\u00f3n\",\n                functions: [\n                    {\n                        name: \"FORMAT\",\n                        description: \"Convierte un valor (n\u00famero o fecha) a texto con el formato especificado.\",\n                        syntax: \"FORMAT(<value>, <format_string>)\",\n                        example: \"Mes con Nombre = FORMAT('Fecha'[Fecha], \\\"MMMM\\\")\"\n                    },\n                    {\n                        name: \"CONCATENATE\",\n                        description: \"Une dos cadenas de texto en una sola.\",\n                        syntax: \"CONCATENATE(<text1>, <text2>)\",\n                        example: \"Nombre Completo = CONCATENATE('Empleados'[Nombre], \\\" \\\" & 'Empleados'[Apellido])\"\n                    },\n                    {\n                        name: \"TRIM\",\n                        description: \"Elimina los espacios en blanco del principio y el final de una cadena de texto.\",\n                        syntax: \"TRIM(<text>)\",\n                        example: \"Nombre sin espacios = TRIM(Clientes[Nombre de Cliente])\"\n                    }\n                ]\n            },\n            {\n                category: \"Funciones de Tabla\",\n                functions: [\n                    {\n                        name: \"ADDCOLUMNS\",\n                        description: \"Devuelve una tabla con nuevas columnas calculadas a\u00f1adidas a partir de la expresi\u00f3n de una tabla de origen.\",\n                        syntax: \"ADDCOLUMNS(<table>, <name1>, <expression1>[, <name2>, <expression2>]...)\",\n                        example: \"Clientes con Ventas = ADDCOLUMNS(Clientes, \\\"Ventas Totales\\\", [Ventas Totales])\"\n                    },\n                    {\n                        name: \"UNION\",\n                        description: \"Une dos o m\u00e1s tablas compatibles (mismo n\u00famero y tipo de columnas) en una sola tabla.\",\n                        syntax: \"UNION(<table1>, <table2>[, <table3>...])\",\n                        example: \"Tabla Unificada = UNION('Ventas 2023', 'Ventas 2024')\"\n                    },\n                    {\n                        name: \"SUMMARIZE\",\n                        description: \"Devuelve una tabla de resumen con agregaciones sobre los grupos solicitados.\",\n                        syntax: \"SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]...[, <name>, <expression>]...)\",\n                        example: \"Resumen de Ventas = SUMMARIZE(Ventas, Ventas[Producto], \\\"Ventas Totales\\\", SUM(Ventas[Cantidad]))\"\n                    }\n                ]\n            },\n            {\n                category: \"Funciones de Informaci\u00f3n y L\u00f3gica\",\n                functions: [\n                    {\n                        name: \"IF\",\n                        description: \"Comprueba una condici\u00f3n y devuelve un valor si es verdadera y otro si es falsa.\",\n                        syntax: \"IF(<logical_test>, <value_if_true>[, <value_if_false>])\",\n                        example: \"Estado de Venta = IF(Ventas[Cantidad] > 100, \\\"Grande\\\", \\\"Peque\u00f1a\\\")\"\n                    },\n                    {\n                        name: \"HASONEVALUE\",\n                        description: \"Devuelve TRUE cuando el contexto de filtro para una columna contiene un solo valor \u00fanico.\",\n                        syntax: \"HASONEVALUE(<column>)\",\n                        example: \"Es un Total = IF(HASONEVALUE(Producto[Categor\u00eda]), \\\"Producto\\\", \\\"Total\\\")\"\n                    },\n                    {\n                        name: \"ISBLANK\",\n                        description: \"Comprueba si un valor est\u00e1 en blanco y devuelve TRUE o FALSE.\",\n                        syntax: \"ISBLANK(<value>)\",\n                        example: \"Es Nulo = ISBLANK('Pedidos'[Fecha de Env\u00edo])\"\n                    },\n                    {\n                        name: \"SWITCH\",\n                        description: \"Eval\u00faa una expresi\u00f3n y devuelve uno de varios resultados posibles de forma m\u00e1s legible que anidar IFs.\",\n                        syntax: \"SWITCH(<expression>, <value1>, <result1>[, <value2>, <result2>]...[, <else>])\",\n                        example: \"Tipo de Producto = SWITCH(TRUE(), [Categor\u00eda] = \\\"A\\\", \\\"Tipo 1\\\", [Categor\u00eda] = \\\"B\\\", \\\"Tipo 2\\\", \\\"Otros\\\")\"\n                    }\n                ]\n            }\n        ];\n\n        \/\/ Obtener referencias a los elementos del DOM\n        const selectElement = document.getElementById('dax-functions');\n        const detailsContainer = document.getElementById('function-details');\n        const titleElement = document.getElementById('function-title');\n        const descriptionElement = document.getElementById('function-description');\n        const syntaxElement = document.getElementById('function-syntax');\n        const exampleElement = document.getElementById('function-example');\n\n        \/\/ Funci\u00f3n para poblar el men\u00fa desplegable con categor\u00edas\n        function populateDropdown() {\n            daxFunctions.forEach(category => {\n                const optgroup = document.createElement('optgroup');\n                optgroup.label = category.category;\n                \n                category.functions.forEach(func => {\n                    const option = document.createElement('option');\n                    option.value = func.name;\n                    option.textContent = func.name;\n                    optgroup.appendChild(option);\n                });\n                selectElement.appendChild(optgroup);\n            });\n        }\n\n        \/\/ Funci\u00f3n para encontrar una funci\u00f3n por su nombre en el array anidado\n        function findFunctionByName(functionName) {\n            for (const category of daxFunctions) {\n                const found = category.functions.find(func => func.name === functionName);\n                if (found) return found;\n            }\n            return null;\n        }\n\n        \/\/ Funci\u00f3n para mostrar los detalles de la funci\u00f3n seleccionada\n        function displayFunctionDetails(functionName) {\n            const selectedFunction = findFunctionByName(functionName);\n            \n            if (selectedFunction) {\n                \/\/ Mostrar el contenedor y rellenar los datos\n                detailsContainer.classList.remove('hidden');\n                titleElement.textContent = selectedFunction.name;\n                descriptionElement.textContent = selectedFunction.description;\n                syntaxElement.textContent = selectedFunction.syntax;\n                exampleElement.textContent = selectedFunction.example;\n            } else {\n                \/\/ Ocultar si no hay una funci\u00f3n seleccionada\n                detailsContainer.classList.add('hidden');\n            }\n        }\n\n        \/\/ Manejar el evento de cambio del men\u00fa desplegable\n        selectElement.addEventListener('change', (event) => {\n            const selectedValue = event.target.value;\n            displayFunctionDetails(selectedValue);\n        });\n\n        \/\/ Poblar el men\u00fa desplegable al cargar la p\u00e1gina\n        populateDropdown();\n\n    <\/script>\n<\/body>\n<\/html><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Utiliza nuestro explorador de inteligencias artificiales para mantenerte al d\u00eda. \u00a1Actualizamos constantemente esta fant\u00e1stica lista!<\/p>","protected":false},"author":1,"featured_media":2662,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"portfolio_category":[61,53],"portfolio_skills":[],"portfolio_tags":[59,58],"class_list":["post-2660","avada_portfolio","type-avada_portfolio","status-publish","format-standard","has-post-thumbnail","hentry","portfolio_category-analisis-de-datos","portfolio_category-utilidades","portfolio_tags-marketing","portfolio_tags-utilidades-seo"],"acf":[],"_links":{"self":[{"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/avada_portfolio\/2660","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/avada_portfolio"}],"about":[{"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/types\/avada_portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/comments?post=2660"}],"version-history":[{"count":2,"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/avada_portfolio\/2660\/revisions"}],"predecessor-version":[{"id":2663,"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/avada_portfolio\/2660\/revisions\/2663"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/media\/2662"}],"wp:attachment":[{"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/media?parent=2660"}],"wp:term":[{"taxonomy":"portfolio_category","embeddable":true,"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/portfolio_category?post=2660"},{"taxonomy":"portfolio_skills","embeddable":true,"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/portfolio_skills?post=2660"},{"taxonomy":"portfolio_tags","embeddable":true,"href":"https:\/\/edukia.org\/en\/wp-json\/wp\/v2\/portfolio_tags?post=2660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}