{"id":82210,"date":"2022-10-14T01:40:16","date_gmt":"2022-10-13T23:40:16","guid":{"rendered":"https:\/\/rmarketingdigital.com\/power-bi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/"},"modified":"2020-09-16T14:46:59","modified_gmt":"2020-09-16T17:46:59","slug":"python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json","status":"publish","type":"post","link":"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/","title":{"rendered":"python as an &quot;external tool&quot; in Power BI Desktop: Part 2: Create a PBITool.json file"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#Definir-un-archivo-JSON-PBITool-basico\" >Definir un archivo JSON PBITool b\u00e1sico<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#Agrega-tu-toolpbitooljson-archivo-a-la-carpeta-correcta\" >Agrega tu [tool].pbitool.json archivo a la carpeta correcta<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#Crea-tu-secuencia-de-comandos-de-python\" >Crea tu secuencia de comandos de python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#Proximamente-en-la-Parte-3-NET-python-%E2%80%93-Conexion-al-modelo-de-objetos-tabulares-TOM\" >Pr\u00f3ximamente en la Parte 3: .NET + python &#8211; Conexi\u00f3n al modelo de objetos tabulares (TOM)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#Me-gusta-esto\" >Me gusta esto:<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<div> <span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tiempo de leer: <\/span> <span class=\"rt-time\">4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span><\/p>\n<p>En la Parte 1, present\u00e9 algunos escenarios posibles para usar python con Power BI fuera de las funciones integradas de python visual y script de python.  Esta publicaci\u00f3n se centra en la configuraci\u00f3n de un archivo de herramienta externo b\u00e1sico que pasa la conexi\u00f3n del modelo de datos de Power BI para su uso en scripts de python.  Va a ser un <em>muy<\/em> escenario b\u00e1sico, pero sienta las bases para, con suerte, mejores cosas por venir, como se describe en la Parte 1.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Definir-un-archivo-JSON-PBITool-basico\"><\/span>Definir un archivo JSON PBITool b\u00e1sico<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Para ver una nueva herramienta en la cinta de Power BI Desktop, debe definir un archivo JSON y colocarlo en una carpeta espec\u00edfica en su estaci\u00f3n de trabajo.  los <em>Destacados<\/em> Las herramientas externas Tabular Editor, DAX Studio y ALM Toolkit tienen instaladores que se encargan de este paso.  Dado que no tiene un instalador dedicado para colocar este archivo en el directorio requerido, <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/docs.microsoft.com\/en-us\/power-bi\/create-reports\/desktop-external-tools\" aria-label=\"you need to manually define your own (opens in a new tab)\">necesitas definir manualmente el tuyo<\/a>.<\/p>\n<p>Siempre que el \u00abformato de metadatos mejorado\u00bb para el modelo de datos est\u00e9 habilitado y el JSON en su archivo sea preciso, deber\u00eda ver su nueva herramienta en la cinta despu\u00e9s de volver a abrir Power BI Desktop.<\/p>\n<p>Definamos una herramienta externa llamada \u00abConexi\u00f3n de escritorio de Power BI\u00bb que muestra el logotipo de python en la cinta y muestra la informaci\u00f3n de conexi\u00f3n de Power BI actual cuando hace clic en ella.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" data-attachment-id=\"8623\" data-permalink=\"https:\/\/dataveld.com\/2020\/07\/21\/python-as-an-external-tool-in-power-bi-desktop-part-2-create-a-pbitool-json-file\/image-6-4\/\" data-orig-file=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?fit=825%2C333&amp;ssl=1\" data-orig-size=\"825,333\" data-comments-opened=\"1\" data-image-meta='{\"aperture\":\"0\",\"credit\":\"\",\"camera\":\"\",\"caption\":\"\",\"created_timestamp\":\"0\",\"copyright\":\"\",\"focal_length\":\"0\",\"iso\":\"0\",\"shutter_speed\":\"0\",\"title\":\"\",\"orientation\":\"0\"}' data-image-title=\"image-6\" data-image-description=\"\" data-medium-file=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?fit=300%2C121&amp;ssl=1\" data-large-file=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?fit=640%2C258&amp;ssl=1\" src=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?w=640&amp;ssl=1\" alt=\"\" class=\"wp-image-8623 jetpack-lazy-image\" data-recalc-dims=\"1\" data-lazy-srcset=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?w=825&amp;ssl=1 825w, https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?resize=300%2C121&amp;ssl=1 300w, https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?resize=768%2C310&amp;ssl=1 768w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" data-lazy-src=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?w=640&amp;is-pending-load=1#038;ssl=1\" srcset=\"https:\/\/dataveld.com\/data:image\/gif;base64,https:\/\/dataveld.com\/R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"><noscript><img decoding=\"async\" data-attachment-id=\"8623\" data-permalink=\"https:\/\/dataveld.com\/2020\/07\/21\/python-as-an-external-tool-in-power-bi-desktop-part-2-create-a-pbitool-json-file\/image-6-4\/\" data-orig-file=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?fit=825%2C333&amp;ssl=1\" data-orig-size=\"825,333\" data-comments-opened=\"1\" data-image-meta='{\"aperture\":\"0\",\"credit\":\"\",\"camera\":\"\",\"caption\":\"\",\"created_timestamp\":\"0\",\"copyright\":\"\",\"focal_length\":\"0\",\"iso\":\"0\",\"shutter_speed\":\"0\",\"title\":\"\",\"orientation\":\"0\"}' data-image-title=\"image-6\" data-image-description=\"\" data-medium-file=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?fit=300%2C121&amp;ssl=1\" data-large-file=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?fit=640%2C258&amp;ssl=1\" src=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?w=640&amp;ssl=1\" alt=\"\" class=\"wp-image-8623\" srcset=\"https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?w=825&amp;ssl=1 825w, https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?resize=300%2C121&amp;ssl=1 300w, https:\/\/i1.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-6.png?resize=768%2C310&amp;ssl=1 768w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\"><\/noscript><\/figure>\n<p>Para comenzar, copie y pegue el siguiente JSON en un editor de texto (<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/gist.github.com\/deldersveld\/f4d808d1a530045e12af22b58414792b\" aria-label=\"gist (opens in a new tab)\">esencia<\/a>).<\/p>\n<pre class=\"wp-block-preformatted\">{<br>\u00a0\u00a0\"version\":\u00a0\"1.0\",<br>\u00a0\u00a0\"name\":\u00a0\"<strong>[Tool Name]<\/strong>\",<br>\u00a0\u00a0\"description\":\u00a0\"<strong>[Tool Description]<\/strong>\",<br>\u00a0\u00a0\"path\":\u00a0\"C:\\<strong>[PATH TO PYTHON EXECUTABLE]<\/strong>\\python.exe\",<br>\u00a0\u00a0\"arguments\":\u00a0\"C:\/<strong>[PATH TO PYTHON SCRIPT]<\/strong>.py\u00a0\"%server%\"\u00a0\"%database%\"\",<br>\u00a0\u00a0\"iconData\":\u00a0\"data:image\/png;base64,<strong>[YOUR BASE64 IMAGE CONTENT]<\/strong>\"<br>}<\/pre>\n<p>Aqu\u00ed hay un ejemplo que complet\u00e9 para mi herramienta de muestra b\u00e1sica para mostrar la conexi\u00f3n actual de Power BI Desktop.  Estoy usando <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" aria-label=\"Anaconda (opens in a new tab)\" href=\"https:\/\/www.anaconda.com\/products\/individual\">Anaconda<\/a>, por eso ves python.exe desde la ubicaci\u00f3n predeterminada de Anaconda en mi ruta.<\/p>\n<pre class=\"wp-block-preformatted\"> {\n\u00a0\u00a0\"version\":\u00a0\"1.0\",\n\u00a0\u00a0\"name\":\u00a0\"Power\u00a0BI\u00a0Desktop\u00a0Connection\",\n\u00a0\u00a0\"description\":\u00a0\"Use\u00a0python\",\n\u00a0\u00a0\"path\":\u00a0\"C:\\ProgramData\\Anaconda3\\<strong>python.exe<\/strong>\",\n\u00a0\u00a0\"arguments\":\u00a0\"C:\/Users\/DavidEldersveld\/Documents\/python\/<strong>PowerBIConnectionString.py<\/strong>\u00a0\"<strong>%server%<\/strong>\"\u00a0\"<strong>%database%<\/strong>\"\",\n\u00a0\u00a0\"iconData\":\u00a0\"\"\n}<\/pre>\n<p>Desglosando el contenido:<br \/>&#8211; <strong>versi\u00f3n:<\/strong> no cambies esto<br \/>&#8211; <strong>nombre:<\/strong> nombre para mostrar en la cinta de Power BI Desktop <br \/>&#8211; <strong>descripci\u00f3n:<\/strong> descripci\u00f3n de la herramienta externa (pensar\u00eda que esto aparecer\u00eda como texto alternativo cuando se desplaza, pero solo el <em>nombre<\/em> se muestra al pasar el mouse)<br \/>&#8211; <strong>camino:<\/strong> camino a tu <strong>python.exe<\/strong> expediente<br \/>&#8211; <strong>argumentos: <\/strong>argumentos de l\u00ednea de comando pasados \u200b\u200ba su ejecutable<br \/>&#8211; <strong>iconData: <\/strong>imagen base64 utilizada para el icono de cinta<\/p>\n<p>Si miras el [tool].pbitool.json para otra herramienta como Tabular Editor, ver\u00e1 el <strong>servidor<\/strong> y <strong>base de datos<\/strong> pasado como los dos \u00fanicos argumentos.  Para usar con python, esos pueden permanecer, pero su primer argumento deber\u00e1 ser un script de python .py en este caso.<\/p>\n<p>Para adaptar este archivo al suyo, determine los valores apropiados y reempl\u00e1celos seg\u00fan sea necesario.<\/p>\n<pre class=\"wp-block-preformatted\"> {\n\u00a0\u00a0\"version\":\u00a0\"1.0\",\n\u00a0\u00a0\"name\":\u00a0\"<strong>[Tool Name]<\/strong>\",\n\u00a0\u00a0\"description\":\u00a0\"<strong>[Tool Description]<\/strong>\",\n\u00a0\u00a0\"path\":\u00a0\"C:\\<strong>[PATH TO PYTHON EXECUTABLE]<\/strong>\\python.exe\",\n\u00a0\u00a0\"arguments\":\u00a0\"C:\/<strong>[PATH TO PYTHON SCRIPT]<\/strong>.py\u00a0\"%server%\"\u00a0\"%database%\"\",\n\u00a0\u00a0\"iconData\":\u00a0\"data:image\/png;base64,<strong>[YOUR BASE64 IMAGE CONTENT]<\/strong>\"\n}<\/pre>\n<p>Los dos m\u00e1s importantes ser\u00e1n los <em>ruta correcta a su python.exe<\/em> y el primer valor de argumento con el <em>ruta correcta a su secuencia de comandos de python<\/em>.<\/p>\n<p>S\u00e9 que hay una forma de usar c\u00f3digo para convertir im\u00e1genes a base64, pero siempre termino usando un sitio web como este por conveniencia: <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.base64-image.de\/\">https:\/\/www.base64-image.de\/<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Agrega-tu-toolpbitooljson-archivo-a-la-carpeta-correcta\"><\/span>Agrega tu [tool].pbitool.json archivo a la carpeta correcta<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Agregue su nuevo archivo a su <strong>C:  Archivos de programa (x86)  Archivos comunes  Microsoft Shared  Power BI Desktop  Herramientas externas<\/strong> carpeta.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" data-attachment-id=\"8625\" data-permalink=\"https:\/\/dataveld.com\/2020\/07\/21\/python-as-an-external-tool-in-power-bi-desktop-part-2-create-a-pbitool-json-file\/image-7-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?fit=1022%2C182&amp;ssl=1\" data-orig-size=\"1022,182\" data-comments-opened=\"1\" data-image-meta='{\"aperture\":\"0\",\"credit\":\"\",\"camera\":\"\",\"caption\":\"\",\"created_timestamp\":\"0\",\"copyright\":\"\",\"focal_length\":\"0\",\"iso\":\"0\",\"shutter_speed\":\"0\",\"title\":\"\",\"orientation\":\"0\"}' data-image-title=\"image-7\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?fit=300%2C53&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?fit=640%2C114&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?w=640&amp;ssl=1\" alt=\"\" class=\"wp-image-8625 jetpack-lazy-image\" data-recalc-dims=\"1\" data-lazy-srcset=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?w=1022&amp;ssl=1 1022w, https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?resize=300%2C53&amp;ssl=1 300w, https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?resize=768%2C137&amp;ssl=1 768w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" data-lazy-src=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?w=640&amp;is-pending-load=1#038;ssl=1\" srcset=\"https:\/\/dataveld.com\/data:image\/gif;base64,https:\/\/dataveld.com\/R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"><noscript><img decoding=\"async\" data-attachment-id=\"8625\" data-permalink=\"https:\/\/dataveld.com\/2020\/07\/21\/python-as-an-external-tool-in-power-bi-desktop-part-2-create-a-pbitool-json-file\/image-7-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?fit=1022%2C182&amp;ssl=1\" data-orig-size=\"1022,182\" data-comments-opened=\"1\" data-image-meta='{\"aperture\":\"0\",\"credit\":\"\",\"camera\":\"\",\"caption\":\"\",\"created_timestamp\":\"0\",\"copyright\":\"\",\"focal_length\":\"0\",\"iso\":\"0\",\"shutter_speed\":\"0\",\"title\":\"\",\"orientation\":\"0\"}' data-image-title=\"image-7\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?fit=300%2C53&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?fit=640%2C114&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?w=640&amp;ssl=1\" alt=\"\" class=\"wp-image-8625\" srcset=\"https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?w=1022&amp;ssl=1 1022w, https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?resize=300%2C53&amp;ssl=1 300w, https:\/\/i0.wp.com\/dataveld.com\/wp-content\/uploads\/2020\/07\/image-7.png?resize=768%2C137&amp;ssl=1 768w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\"><\/noscript><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Crea-tu-secuencia-de-comandos-de-python\"><\/span>Crea tu secuencia de comandos de python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>los [tool]El archivo .pbitool.json utiliz\u00f3 un archivo .py como primer argumento.  De donde vino eso?  \u00a1Viene de ti!  Coloque el c\u00f3digo que desee ejecutar en ese archivo y gu\u00e1rdelo en la ubicaci\u00f3n que proporcion\u00f3 en el [tool]Archivo .pbitool.json.<\/p>\n<p>Para mi ejemplo de Conexi\u00f3n de escritorio de Power BI, mi script de muestra (<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/gist.github.com\/deldersveld\/fbf7955bb51b23d677c4643c14d95940\" aria-label=\"gist (opens in a new tab)\">esencia<\/a>) est\u00e1 a continuaci\u00f3n, que guard\u00e9 como PowerBIConnectionString.py en la ruta descrita anteriormente [tool]Archivo .pbitool.json.  El script simplemente imprime los argumentos del servidor y de la base de datos que se le pasan, luego concatena e imprime una cadena de conexi\u00f3n que podr\u00eda usarse para conectarse a ese modelo de datos en particular.<\/p>\n<pre class=\"wp-block-preformatted\">import\u00a0sys\n\nprint('Power\u00a0BI\u00a0Desktop\u00a0Connection')\nprint(str(sys.argv[1]))\nprint(str(sys.argv[2]))\n\nprint('')\nconn\u00a0=\u00a0\"Provider=MSOLAP;Data\u00a0Source=\"\u00a0+\u00a0str(sys.argv[1])\u00a0+\u00a0\";Initial\u00a0Catalog='';\"\nprint(conn)\n\ninput() <\/pre>\n<p><strong>sys.argv[1] <\/strong>es el argumento correspondiente al servidor y <strong>sys.argv[2]<\/strong>  es el GUID de la base de datos.  python comienza en 0, que es el valor del argumento asociado con la secuencia de comandos actual.<\/p>\n<p>Si finalmente ampl\u00eda las herramientas externas con sus propios scripts de python y pasa la conexi\u00f3n de Power BI Desktop, confiar\u00e1 en <strong>sys.argv[1]<\/strong>.<\/p>\n<p>El GUID de la base de datos entrar\u00e1 en juego en futuros scripts, pero no es necesario para este escenario inicial.  Solo sepa que localmente, la cadena de conexi\u00f3n solo necesitar\u00e1 servidor: puerto.<\/p>\n<p>Si tanto el script .py como [tool]El archivo .pbitool.json est\u00e1 en la ubicaci\u00f3n correcta y, suponiendo que el script funcione, puede abrir Power BI Desktop.  Marque la cinta Herramientas externas para ejecutar el script.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Proximamente-en-la-Parte-3-NET-python-%E2%80%93-Conexion-al-modelo-de-objetos-tabulares-TOM\"><\/span>Pr\u00f3ximamente en la Parte 3: .NET + python &#8211; Conexi\u00f3n al modelo de objetos tabulares (TOM)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Si bien este script b\u00e1sico funciona como est\u00e1, hay un problema con esta configuraci\u00f3n que cubrir\u00e9 en la pr\u00f3xima publicaci\u00f3n.  python.exe se ejecuta de forma independiente fuera de un entorno, por lo que los paquetes cargados en la base o en un entorno virtual alternativo no est\u00e1n disponibles para el script.<\/p>\n<p>Para conectarnos al modelo de objetos tabulares de python, necesitaremos un poco de ayuda de .NET y algunos paquetes en mi entorno conda.  La parte 3 contiene los ajustes al [tool]Archivo .pbitool.json que me permite usar un entorno virtual de python espec\u00edfico.<\/p>\n<div class=\"sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded\" id=\"like-post-wrapper-143031883-8619-5f623bece2655\" data-src=\"https:\/\/widgets.wp.com\/likes\/#blog_id=143031883&amp;post_id=8619&amp;origin=dataveld.com&amp;obj_id=143031883-8619-5f623bece2655\" data-name=\"like-post-frame-143031883-8619-5f623bece2655\">\n<h3 class=\"sd-title\"><span class=\"ez-toc-section\" id=\"Me-gusta-esto\"><\/span>Me gusta esto:<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span class=\"button\"><span>Me gusta<\/span><\/span> <span class=\"loading\">Cargando&#8230;<\/span><\/p>\n<p><span class=\"sd-text-color\"><\/span><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" class=\"sd-link-color\"><\/a><\/div>\n<p>  Enlaces de pago<br \/><iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=qf_sp_asin_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1509306978&amp;asins=1509306978&amp;linkId=c966845d10380cc9612286c837e1eff6&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1735365203&amp;asins=1735365203&amp;linkId=f2b51a4f4352636df9b673b9286bd3f0&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1484234766&amp;asins=1484234766&amp;linkId=ec6c4c0205700fa545c561ec57479338&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1484248961&amp;asins=1484248961&amp;linkId=757de989158c946046e0fc289f1f1903&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1119282713&amp;asins=1119282713&amp;linkId=9de1fe1bb787374f663182180ceda158&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1119621496&amp;asins=1119621496&amp;linkId=7c73662f1ea5bb1d72f4a4d3bda385be&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=0470944889&amp;asins=0470944889&amp;linkId=837be67d6641ba75ceebebabf32411ad&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1119483891&amp;asins=1119483891&amp;linkId=a7160da414bc55941972f5ba598d26c1&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1119510775&amp;asins=1119510775&amp;linkId=1ed00bb353fb0348080863212320e053&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"https:\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=dataveld-20&amp;marketplace=amazon&amp;region=US&amp;placement=1452128332&amp;asins=1452128332&amp;linkId=ff06fe30a769389f66db2c293ba02930&amp;show_border=false&amp;link_opens_in_new_window=true&amp;price_color=333333&amp;title_color=0066c0&amp;bg_color=ffffff\"> <\/iframe> <br \/>Como asociado de Amazon, gano con las compras que califican.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Reading time: 4 minutes In Part 1, I presented some possible scenarios for using python with Power BI outside of the built-in visual python and script functions of\u2026<\/p>","protected":false},"author":1,"featured_media":82061,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1359],"tags":[],"class_list":["post-82210","post","type-post","status-publish","format-standard","has-post-thumbnail","category-powerbi"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v28.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>python como una &quot;herramienta externa&quot; en Power BI Desktop: Parte 2: Crear un archivo PBITool.json - R Marketing Digital<\/title>\n<meta name=\"description\" content=\"Tiempo de leer: 4 minutosEn la Parte 1, present\u00e9 algunos escenarios posibles para usar python con Power BI fuera de las funciones integradas de python\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"python como una &quot;herramienta externa&quot; en Power BI Desktop: Parte 2: Crear un archivo PBITool.json\" \/>\n<meta property=\"og:description\" content=\"Tiempo de leer: 4 minutosEn la Parte 1, present\u00e9 algunos escenarios posibles para usar python con Power BI fuera de las funciones integradas de python\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/\" \/>\n<meta property=\"og:site_name\" content=\"R Marketing Digital\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-13T23:40:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/image-6-8338584.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"333\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"R Marketing Digital\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/\"},\"author\":{\"name\":\"R Marketing Digital\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\"},\"headline\":\"python como una \u00abherramienta externa\u00bb en Power BI Desktop: Parte 2: Crear un archivo PBITool.json\",\"datePublished\":\"2022-10-13T23:40:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/\"},\"wordCount\":944,\"image\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/image-6-8338584.png\",\"articleSection\":[\"Power BI\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/\",\"name\":\"python como una \\\"herramienta externa\\\" en Power BI Desktop: Parte 2: Crear un archivo PBITool.json - R Marketing Digital\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/image-6-8338584.png\",\"datePublished\":\"2022-10-13T23:40:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\"},\"description\":\"Tiempo de leer: 4 minutosEn la Parte 1, present\u00e9 algunos escenarios posibles para usar python con Power BI fuera de las funciones integradas de python\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/powerbi\\\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\\\/#primaryimage\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/image-6-8338584.png\",\"contentUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/image-6-8338584.png\",\"width\":825,\"height\":333,\"caption\":\"image-6-8338584-3193274-png\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#website\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/\",\"name\":\"R Marketing Digital\",\"description\":\"Agencia SEO | Publicidad redes sociales | Community Management\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/rmarketingdigital.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\",\"name\":\"R Marketing Digital\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"caption\":\"R Marketing Digital\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"python como una \"herramienta externa\" en Power BI Desktop: Parte 2: Crear un archivo PBITool.json - R Marketing Digital","description":"Time to read: 4 minutes In Part 1, I presented some possible scenarios for using python with Power BI outside of python&#039;s built-in functions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/","og_locale":"en_US","og_type":"article","og_title":"python como una \"herramienta externa\" en Power BI Desktop: Parte 2: Crear un archivo PBITool.json","og_description":"Tiempo de leer: 4 minutosEn la Parte 1, present\u00e9 algunos escenarios posibles para usar python con Power BI fuera de las funciones integradas de python","og_url":"https:\/\/rmarketingdigital.com\/en\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/","og_site_name":"R Marketing Digital","article_published_time":"2022-10-13T23:40:16+00:00","og_image":[{"width":825,"height":333,"url":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/image-6-8338584.png","type":"image\/png"}],"author":"R Marketing Digital","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#article","isPartOf":{"@id":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/"},"author":{"name":"R Marketing Digital","@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e"},"headline":"python como una \u00abherramienta externa\u00bb en Power BI Desktop: Parte 2: Crear un archivo PBITool.json","datePublished":"2022-10-13T23:40:16+00:00","mainEntityOfPage":{"@id":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/"},"wordCount":944,"image":{"@id":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#primaryimage"},"thumbnailUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/image-6-8338584.png","articleSection":["Power BI"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/","url":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/","name":"python como una \"herramienta externa\" en Power BI Desktop: Parte 2: Crear un archivo PBITool.json - R Marketing Digital","isPartOf":{"@id":"https:\/\/rmarketingdigital.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#primaryimage"},"image":{"@id":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#primaryimage"},"thumbnailUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/image-6-8338584.png","datePublished":"2022-10-13T23:40:16+00:00","author":{"@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e"},"description":"Time to read: 4 minutes In Part 1, I presented some possible scenarios for using python with Power BI outside of python&#039;s built-in functions","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rmarketingdigital.com\/powerbi\/python-como-una-herramienta-externa-en-power-bi-desktop-parte-2-crear-un-archivo-pbitool-json\/#primaryimage","url":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/image-6-8338584.png","contentUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/image-6-8338584.png","width":825,"height":333,"caption":"image-6-8338584-3193274-png"},{"@type":"WebSite","@id":"https:\/\/rmarketingdigital.com\/#website","url":"https:\/\/rmarketingdigital.com\/","name":"R Digital Marketing","description":"SEO Agency | Advertising social networks | Community Management","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rmarketingdigital.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e","name":"R Digital Marketing","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","caption":"R Marketing Digital"}}]}},"_links":{"self":[{"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/posts\/82210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/comments?post=82210"}],"version-history":[{"count":0,"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/posts\/82210\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/media\/82061"}],"wp:attachment":[{"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/media?parent=82210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/categories?post=82210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rmarketingdigital.com\/en\/wp-json\/wp\/v2\/tags?post=82210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}