Compartir vía


Crear un conector de plantilla de Power Query

Icono de Microsoft Cloud for Sustainability. Microsoft Cloud for Sustainability

Importante

Algunas o todas estas funciones están disponibles como parte de una versión preliminar. El contenido y la funcionalidad están sujetos a cambios.

Este artículo muestra a los socios cómo crear un conector de plantilla de Power Query para Microsoft Sustainability Manager. Para crear con éxito un conector de plantilla de Power Query debe conocer el desarrollo básico de soluciones para Dynamics 365 y cómo compilar una plantilla de Power Query en Sustainability Manager.

Si necesita crear un conector de Power Automate, vaya a Crear un conector de Power Automate.

Paso 1: crear un entorno

En este paso, creará una solución para distribuirla a los usuarios de Sustainability Manager que necesitan importar datos con su conector.

  1. Cree una nueva solución no administrada en Power Apps siguiendo las instrucciones de Crear una solución.

  2. Instale Sustainability Manager en ese entorno.

Paso 2: Crear una plantilla de Power Query

Para crear la plantilla de Power Query para su conector, siga las instrucciones en Diseñar una plantilla de Power Query.

Paso 3: prepare su solución

Ahora que tiene un entorno con Sustainability Manager instalado y ha creado una plantilla de Power Query, puede empaquetar la plantilla de Power Query en una solución de conector.

Como mínimo, la siguiente estructura de carpetas en su solución descomprimida debe contener:

  • Carpeta: Assets
    • Archivo: msdyn_dataconnectors.xml
    • Archivo: msdyn_dataflowtemplates.xml
  • Carpeta: Otro
    • Archivo: Customizations.xml
    • Archivo: Solution.xml
  • Archivo: <solution>.cdsproj

Los archivos en Assets contienen la información necesaria para hospedar su conector de plantilla de Power Query. El archivo msdyn_dataconnectors.xml contiene metadatos importantes sobre su conector. Una vez instalado, determina cómo aparece su conector en Sustainability Manager. El archivo msdyn_dataflowtemplates.xml contiene información sobre su plantilla de Power Query, incluidas todas las transformaciones que contiene su plantilla de Power Query. Puede utilizar estos archivos para crear uno o más conectores en una única solución.

Siga las instrucciones de esta sección para crear cada archivo.

Crear el archivo msdyn_dataconnectors.xml

  1. En su editor de texto preferido, cree un nuevo archivo llamado msdyn_dataconnectors.xml.

  2. Copie y modifique el siguiente XML para que se ajuste a sus datos:

    <msdyn_dataconnectors>
      <msdyn_dataconnector msdyn_dataconnectorid="bc9e9b1e-45fa-4d6e-b799-9dcb49aaf981">
      <msdyn_connectorstatus>700610001</msdyn_connectorstatus>
      <msdyn_connectortype>700610007</msdyn_connectortype>
      <msdyn_description>Demo Power Query templates connector</msdyn_description>
      <msdyn_supportlinkurl>https://www.microsoft.com</msdyn_supportlinkurl>
      <msdyn_logo_text>
      </msdyn_logo_text>
      <msdyn_name>Demo Power Query templates connector</msdyn_name>
      <msdyn_title>Demo Power Query templates connector</msdyn_title>
      <msdyn_dataflowtemplateid>
        <msdyn_dataflowtemplateid>fb6ee8dd-b84c-4599-adb6-1812b3878052</msdyn_dataflowtemplateid>
      </msdyn_dataflowtemplateid>
      </msdyn_dataconnector>
    </msdyn_dataconnectors>
    
    Parámetro Details
    msdyn_dataconnectorid Genere un nuevo GUID para identificar su conector, respetando el formato GUID. En nuestro ejemplo usaremos GUID = bc9e9b1e-45fa-4d6e-b799-9dcb49aaf981. Su GUID es el identificador del conector, que necesitará en pasos posteriores.
    msdyn_connectorstatus Deje este valor en 700610001. Este valor representa un conector publicado.
    msdyn_connectortype Deje este valor en 700610007. Este valor representa el tipo de conector. En este caso, es el valor de un conector de plantilla de Power Query.
    msdyn_description Agregue una breve descripción para su conector.
    msdyn_supportlinkurl Reemplace el texto con la URL con la que desea que sus usuarios se comuniquen si falla la conexión. Para obtener información sobre cómo probar conexiones fallidas, vaya a Prueba de control de errores. Su conector no aparecerá en Sustainability Manager sin esta URL.
    msdyn_logo_text Utilice un codificador de su elección para codificar y guardar la imagen de su logotipo en Base 64. La imagen debe tener 36 x 36 px. Pegue la codificación de base 64 en este parámetro.
    msdyn_name
    msdyn_title
    Cambie Conector de plantillas de Power Query de demostración por el nombre de su conector.
    msdyn_dataflowtemplateid Cambie este valor por el de la plantilla de Power Query. Este valor es un GUID que también utiliza en el archivo msdyn_dataflowtemplates.xml.

Crear el archivo msdyn_dataflowtemplates.xml

  1. En su editor de texto preferido, cree un nuevo archivo llamado msdyn_dataflowtemplates.xml.

  2. Copie y modifique el siguiente XML para que se ajuste a sus datos:

    <msdyn_dataflowtemplates>
      <msdyn_dataflowtemplate msdyn_dataflowtemplateid="fb6ee8dd-b84c-4599-adb6-1812b3878052">
        <msdyn_uniquename>msm_sustainabilitySamplePQTemplate</msdyn_uniquename>
        <msdyn_category>msdyn_sustainability</msdyn_category>
        <msdyn_configuration>{\"msdyn_sustainability\":{\"dataDefintions\":\"bd182f7f-1b7b-4360-9c02-2d0b7cd75b97, 4b1faadb-0ee4-42c8-a3fc-e3afa3987172, c4f9c6f5-dc68-49ca-8297-acbb29fece79, 6c36ce29-f121-47d6-b146-9eece7e869ec\",\"dataDefintionNames\":\"6. Business travel, Facilities, Organizational units, Business travel types\",\"map\":{\"Business Travel\":\"{\\\"fields\\\":[{\\\"destinationField\\\":\\\"msdyn_businesstraveltypeid\\\",\\\"sourceField\\\":\\\"Business Travel Type\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_consumptionstartdate\\\",\\\"sourceField\\\":\\\"Consumption Start Date\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_consumptionenddate\\\",\\\"sourceField\\\":\\\"Consumption End Date\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_name\\\",\\\"sourceField\\\":\\\"Name\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_description\\\",\\\"sourceField\\\":\\\"Description\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_facilityid\\\",\\\"sourceField\\\":\\\"Facility\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_cost\\\",\\\"sourceField\\\":\\\"Cost\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_costunit\\\",\\\"sourceField\\\":\\\"Cost Unit\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_distance\\\",\\\"sourceField\\\":\\\"Distance\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_distanceunit\\\",\\\"sourceField\\\":\\\"Distance Unit\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_organizationalunitid\\\",\\\"sourceField\\\":\\\"Organizational unt\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_dataqualitytype\\\",\\\"sourceField\\\":\\\"Data Quality\\\",\\\"isCustomDimension\\\":false},{\\\"sourceField\\\":\\\"Production value\\\",\\\"destinationField\\\":\\\"Production Amplifier\\\",\\\"isCustomDimension\\\":true}]}\",\"biz trav types\":\"{\\\"fields\\\":[{\\\"destinationField\\\":\\\"msdyn_name\\\",\\\"sourceField\\\":\\\"Name\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_description\\\",\\\"sourceField\\\":\\\"Description\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_origincorrelationid\\\",\\\"sourceField\\\":\\\"Origin correlation id\\\",\\\"isCustomDimension\\\":false}]}\",\"orgs\":\"{\\\"fields\\\":[{\\\"destinationField\\\":\\\"msdyn_name\\\",\\\"sourceField\\\":\\\"Name\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_organizationalunittype\\\",\\\"sourceField\\\":\\\"Organizational unit type\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_addressstreet1\\\",\\\"sourceField\\\":\\\"Address\\\",\\\"isCustomDimension\\\":false}]}\",\"facilities\":\"{\\\"fields\\\":[{\\\"destinationField\\\":\\\"msdyn_name\\\",\\\"sourceField\\\":\\\"Name\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_addresscity\\\",\\\"sourceField\\\":\\\"City\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_addresscountryisocode\\\",\\\"sourceField\\\":\\\"Country/Region\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_addresszippostalcode\\\",\\\"sourceField\\\":\\\"Zip/Postal\\\",\\\"isCustomDimension\\\":false},{\\\"destinationField\\\":\\\"msdyn_addressstreet1\\\",\\\"sourceField\\\":\\\"Address \\\",\\\"isCustomDimension\\\":false}]}\"},\"mapSdds\":{\"Business Travel\":\"bd182f7f-1b7b-4360-9c02-2d0b7cd75b97\",\"biz trav types\":\"4b1faadb-0ee4-42c8-a3fc-e3afa3987172\",\"orgs\":\"c4f9c6f5-dc68-49ca-8297-acbb29fece79\",\"facilities\":\"6c36ce29-f121-47d6-b146-9eece7e869ec\"}}}</msdyn_configuration>
        <msdyn_description>Demo Power Query template connector</msdyn_description>
        <msdyn_mashupdocument>{\"hostContext\":{\"type\":\"SustainabilityCloud\",\"details\":{\"EnvironmentId\":\"b9fd4065-c444-e187-a1b1-5ddeb9c39a1a\"}},\"mashupName\":\"Sustainability--04000419112812547\",\"mashupDocument\":\"section Section1;\\r\\nshared #\\\"Business Travel\\\" = let\\n  Source = Excel.Workbook(Web.Contents(\\\"contoso/Documents/Apps/Microsoft Power Query/Uploaded Files/business travel 9.xlsx\\\"), null, true),\\n  #\\\"Navigation 1\\\" = Source{[Item = \\\"Business Travel\\\", Kind = \\\"Sheet\\\"]}[Data],\\n  #\\\"Promoted headers\\\" = Table.PromoteHeaders(#\\\"Navigation 1\\\", [PromoteAllScalars = true]),\\n  #\\\"Changed column type\\\" = Table.TransformColumnTypes(#\\\"Promoted headers\\\", {{\\\"Business Travel Type\\\", type text}, {\\\"Consumption Start Date\\\", type datetime}, {\\\"Consumption End Date\\\", type datetime}, {\\\"Data Quality\\\", type text}, {\\\"Name\\\", type text}, {\\\"Organizational unt\\\", type text}, {\\\"Description\\\", type text}, {\\\"Facility\\\", type text}, {\\\"Cost\\\", Int64.Type}, {\\\"Cost Unit\\\", type text}, {\\\"Distance\\\", Int64.Type}, {\\\"Distance Unit\\\", type text}, {\\\"Traveler\\\", type text}, {\\\"Is Good use of money\\\", type text}, {\\\"Budget\\\", Int64.Type}, {\\\"Had Fun\\\", type text}, {\\\"Personal Note\\\", type text}, {\\\"Production value\\\", Int64.Type}}),\\n  #\\\"Filtered rows\\\" = Table.SelectRows(#\\\"Changed column type\\\", each ([Traveler] = FullName))\\nin\\n  #\\\"Filtered rows\\\";\\r\\nshared #\\\"biz trav types\\\" = let\\r\\n  Source = Excel.Workbook(Web.Contents(\\\"contoso/Documents/Apps/Microsoft Power Query/Uploaded Files/business travel 9.xlsx\\\"), null, true),\\r\\n  #\\\"Navigation 1\\\" = Source{[Item = \\\"biz trav types\\\", Kind = \\\"Sheet\\\"]}[Data],\\r\\n  #\\\"Changed column type\\\" = Table.TransformColumnTypes(#\\\"Navigation 1\\\", {{\\\"Column1\\\", type text}, {\\\"Column2\\\", type text}, {\\\"Column3\\\", type text}}),\\r\\n  #\\\"Promoted headers\\\" = Table.PromoteHeaders(#\\\"Changed column type\\\", [PromoteAllScalars = true])\\r\\nin\\r\\n  #\\\"Promoted headers\\\";\\r\\nshared orgs = let\\r\\n  Source = Excel.Workbook(Web.Contents(\\\"https://contoso/Documents/Apps/Microsoft Power Query/Uploaded Files/business travel 9.xlsx\\\"), null, true),\\r\\n  #\\\"Navigation 1\\\" = Source{[Item = \\\"orgs\\\", Kind = \\\"Sheet\\\"]}[Data],\\r\\n  #\\\"Changed column type\\\" = Table.TransformColumnTypes(#\\\"Navigation 1\\\", {{\\\"Column1\\\", type text}, {\\\"Column2\\\", type text}, {\\\"Column3\\\", type text}}),\\r\\n  #\\\"Promoted headers\\\" = Table.PromoteHeaders(#\\\"Changed column type\\\", [PromoteAllScalars = true])\\r\\nin\\r\\n  #\\\"Promoted headers\\\";\\r\\nshared facilities = let\\r\\n  Source = Excel.Workbook(Web.Contents(\\\"https://contoso/Documents/Apps/Microsoft Power Query/Uploaded Files/business travel 9.xlsx\\\"), null, true),\\r\\n  #\\\"Navigation 1\\\" = Source{[Item = \\\"facilities\\\", Kind = \\\"Sheet\\\"]}[Data],\\r\\n  #\\\"Promoted headers\\\" = Table.PromoteHeaders(#\\\"Navigation 1\\\", [PromoteAllScalars = true]),\\r\\n  #\\\"Changed column type\\\" = Table.TransformColumnTypes(#\\\"Promoted headers\\\", {{\\\"Name\\\", type text}, {\\\"Address \\\", type text}, {\\\"City\\\", type text}, {\\\"Country/Region\\\", type text}, {\\\"Zip/Postal\\\", Int64.Type}, {\\\"IsLeased\\\", type text}}),\\r\\n  #\\\"Renamed columns\\\" = Table.RenameColumns(#\\\"Changed column type\\\", {{\\\"Address \\\", \\\"Address\\\"}})\\r\\nin\\r\\n  #\\\"Renamed columns\\\";\\r\\n[Description = \\\"first name last name of the user doing the business travel\\\"]\\r\\nshared FullName = \\\"Stanko Gutalj\\\" meta [IsParameterQuery = true, IsParameterQueryRequired = true, Type = type any];\\r\\n\",\"queryGroups\":[],\"documentLocale\":\"en-US\",\"gatewayObjectId\":null,\"queriesMetadata\":{\"Business Travel\":{\"queryId\":\"c7b76ec4-8e29-42d1-b63d-7710f85a7d4b\",\"queryName\":\"Business Travel\",\"queryGroupId\":null,\"entityName\":null,\"lastKnownIsCalculatedEntity\":false,\"lastKnownIsLinkedEntity\":false,\"lastKnownIsParameter\":false,\"isHidden\":false,\"lastKnownResultTypeName\":\"table\",\"loadEnabled\":true,\"fieldsMetadata\":{},\"deleteExistingDataOnLoad\":false,\"hostProperties\":{},\"jsonOutputDestinations\":null,\"bindToDefaultOutputDestination\":null,\"jsonIncrementalRefreshSettings\":null,\"stagingDefinition\":null},\"biz trav types\":{\"queryId\":\"0c8434c7-29c6-4f7b-a5f5-b5791604061d\",\"queryName\":\"biz trav types\",\"queryGroupId\":null,\"entityName\":null,\"lastKnownIsCalculatedEntity\":false,\"lastKnownIsLinkedEntity\":false,\"lastKnownIsParameter\":false,\"isHidden\":false,\"lastKnownResultTypeName\":\"table\",\"loadEnabled\":true,\"fieldsMetadata\":{},\"deleteExistingDataOnLoad\":false,\"hostProperties\":{},\"jsonOutputDestinations\":null,\"bindToDefaultOutputDestination\":null,\"jsonIncrementalRefreshSettings\":null,\"stagingDefinition\":null},\"orgs\":{\"queryId\":\"94756842-bfc6-4459-9703-627d2f95594a\",\"queryName\":\"orgs\",\"queryGroupId\":null,\"entityName\":null,\"lastKnownIsCalculatedEntity\":false,\"lastKnownIsLinkedEntity\":false,\"lastKnownIsParameter\":false,\"isHidden\":false,\"lastKnownResultTypeName\":\"table\",\"loadEnabled\":true,\"fieldsMetadata\":{},\"deleteExistingDataOnLoad\":false,\"hostProperties\":{},\"jsonOutputDestinations\":null,\"bindToDefaultOutputDestination\":null,\"jsonIncrementalRefreshSettings\":null,\"stagingDefinition\":null},\"facilities\":{\"queryId\":\"87485e4a-ecdb-4617-9c8c-a7c96a2092f7\",\"queryName\":\"facilities\",\"queryGroupId\":null,\"entityName\":null,\"lastKnownIsCalculatedEntity\":false,\"lastKnownIsLinkedEntity\":false,\"lastKnownIsParameter\":false,\"isHidden\":false,\"lastKnownResultTypeName\":\"table\",\"loadEnabled\":true,\"fieldsMetadata\":{},\"deleteExistingDataOnLoad\":false,\"hostProperties\":{},\"jsonOutputDestinations\":null,\"bindToDefaultOutputDestination\":null,\"jsonIncrementalRefreshSettings\":null,\"stagingDefinition\":null},\"FullName\":{\"queryId\":\"488f10a8-9f01-4674-a004-c8a6493785a6\",\"queryName\":\"FullName\",\"queryGroupId\":null,\"entityName\":null,\"lastKnownIsCalculatedEntity\":false,\"lastKnownIsLinkedEntity\":false,\"lastKnownIsParameter\":true,\"isHidden\":false,\"lastKnownResultTypeName\":\"text\",\"loadEnabled\":false,\"fieldsMetadata\":{},\"deleteExistingDataOnLoad\":false,\"hostProperties\":{},\"jsonOutputDestinations\":null,\"bindToDefaultOutputDestination\":null,\"jsonIncrementalRefreshSettings\":null,\"stagingDefinition\":null}},\"connectionOverrides\":[{\"path\":\"https://contoso/Documents/Apps/Microsoft Power Query/Uploaded Files/business travel 9.xlsx\",\"kind\":\"Web\",\"provider\":\"PowerApps\",\"environmentName\":\"b9fd4065-c444-e187-a1b1-5ddeb9c39a1a\",\"apiName\":\"webcontents\",\"connectionName\":\"926cadb147e044fa9da7cffce4f70e82\",\"credentialDetails\":{},\"connectionParameters\":{}}],\"trustedConnections\":null,\"useHostConnectionProvider\":false,\"fastCombine\":false,\"allowNativeQueries\":false,\"allowedModules\":null,\"skipAutomaticTypeAndHeaderDetection\":false,\"disableAutoAnonymousConnectionUpsert\":false,\"hostProperties\":null,\"defaultOutputDestinationConfiguration\":null,\"stagingDefinition\":null}</msdyn_mashupdocument>
        <msdyn_templatename>Demo Power Query template connector</msdyn_templatename>
        <msdyn_templateversion>1.0</msdyn_templateversion>
      </msdyn_dataflowtemplate>
    </msdyn_dataflowtemplates>
    
    Parámetro Details
    msdyn_dataflowtemplateid Genere un nuevo GUID para identificar su plantilla, respetando el formato GUID. En nuestro ejemplo usaremos GUID = fb6ee8dd-b84c-4599-adb6-1812b3878052.
    msdyn_uniquename Introduzca un nombre único para su registro de plantilla.
    msdyn_category La categoría de su registro de plantilla. Deje este valor como está.
    msdyn_configuration Cambie esto al JSON que representa la configuración de asignación de su plantilla a las categorías de datos admitidas en Sustainability Manager. Después de esta tabla se proporcionan instrucciones para obtener este JSON.
    msdyn_description Escriba una descripción para la plantilla de Power Query.
    msdyn_mashupdocument Este parámetro es una representación de texto de todas las transformaciones en su conector. Después de esta tabla se proporcionan instrucciones para obtener este texto.
    msdyn_templatename Escriba un nombre para la plantilla.
    msdyn_templateversion Introduzca el número de versión de la plantilla.

    Para extraer la información que desea utilizar en los parámetros msdyn_configuration y msdyn_mashupdocument, copie y pegue el siguiente texto en su navegador. Reemplace <your_organization> con el nombre del entorno de su organización.

    https://<your_organization>.crm10.dynamics.com/api/data/v9.0/msdyn_dataflowtemplates
    

    Se muestra un JSON con todos sus registros de msdyn_dataflowtemplates, donde podrá encontrar la plantilla que desea mover. Copie y pegue los campos en su archivo msdyn_dataflowtemplates.xml.

    Captura de pantalla que muestra los valores de los campos en el archivo msdyn_dataflowtemplates.xml.

Consulte también

Icono de Microsoft Cloud for Sustainability.Página de productoIcono de Registro.Prueba gratuitaIcono de la comunidad.Community