Delen via


Een Power Query-sjabloonconnector maken

Belangrijk

Een gedeelte van of alle functionaliteit is beschikbaar als onderdeel van een preview-release. De inhoud en functionaliteit zijn aan verandering onderhevig.

Dit artikel laat partners zien hoe ze een Power Query-sjabloonconnector kunnen maken voor Microsoft Sustainability Manager. Om met succes een Power Query-sjabloonconnector te bouwen, moet u enige basiskennis hebben van de ontwikkeling van oplossingen voor Dynamics 365 en weten hoe u een Power Query-sjabloon kunt bouwen in Sustainability Manager.

Als u een Power Automate-connector wilt bouwen, gaat u naar Een Power Automate-connector bouwen.

Stap 1: Een omgeving maken

In deze stap maakt u een oplossing die moet worden gedistribueerd naar Sustainability Manager-gebruikers die gegevens moeten importeren met uw connector.

  1. Maak een nieuwe onbeheerde oplossing in Power Apps door de instructies te volgen in Een oplossing maken.

  2. Installeer Sustainability Manager in die omgeving.

Stap 2: Een Power Query-sjabloon maken

Om de Power Query-sjabloon voor uw connector te maken, volgt u de instructies in Een Power Query-sjabloon ontwerpen.

Stap 3: Uw oplossing voorbereiden

Nu u een omgeving met Sustainability Manager hebt geïnstalleerd en een Power Query-sjabloon hebt gemaakt, kunt u de Power Query-sjabloon in een connectoroplossing verpakken.

De volgende mapstructuur in uw uitgepakte oplossing moet minimaal het volgende bevatten:

  • Map Activa
    • Bestand: msdyn_dataconnectors.xml
    • Bestand: msdyn_dataflowtemplates.xml
  • Map: Andere
    • Bestand: Customizations.xml
    • Bestand: Solution.xml
  • Bestand: <solution>.cdsproj

De bestanden onder Activa bevatten de benodigde informatie voor het onderbrengen van uw Power Query-sjabloonconnector. Het bestand msdyn_dataconnectors.xml bevat belangrijke metagegevens over uw connector. Nadat het is geïnstalleerd, bepaalt het hoe uw connector wordt weergegeven in Sustainability Manager. Het bestand msdyn_dataflowtemplates.xml bevat informatie over uw Power Query-sjabloon, inclusief alle transformaties die uw Power Query-sjabloon bevat. U kunt deze bestanden gebruiken om een of meer connectoren binnen één oplossing te maken.

Volg de instructies in deze sectie om elk bestand te maken.

Het bestand msdyn_dataconnectors.xml maken

  1. Maak in de teksteditor van uw voorkeur een nieuw bestand met de naam msdyn_dataconnectors.xml.

  2. Kopieer en wijzig de volgende XML zodat deze bij uw gegevens past:

    <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></msdyn_dataflowtemplateid>
      </msdyn_dataflowtemplateid>
      </msdyn_dataconnector>
    </msdyn_dataconnectors>
    
    Parameter DETAILS
    msdyn_dataconnectorid Genereer een nieuwe GUID om uw connector te identificeren volgens de GUID-indeling. In ons voorbeeld gebruiken we GUID = bc9e9b1e-45fa-4d6e-b799-9dcb49aaf981. Uw GUID is uw connector-id die u in latere stappen nodig hebt.
    msdyn_connectorstatus Laat deze waarde op 700610001 staan. Deze waarde vertegenwoordigt een gepubliceerde connector.
    msdyn_connectortype Laat deze waarde op 700610007 staan. Deze waarde vertegenwoordigt het type connector. In dit geval is dit de waarde voor een Power Query-sjabloonconnector.
    msdyn_beschrijving Voeg een korte beschrijving voor uw connector toe.
    msdyn_supportlinkurl Vervang de tekst door de URL waarmee uw gebruikers contact kunnen opnemen als de verbinding mislukt. Ga voor informatie over het testen van mislukte verbindingen naar Testen voor foutafhandeling. Zonder deze URL wordt uw connector niet weergegeven in Sustainability Manager.
    msdyn_logo_tekst Gebruik een coderingsprogramma naar keuze om uw logoafbeelding te coderen en op te slaan in Base 64. De afbeelding moet 36 x 36 px zijn. Plak de Base 64-codering in deze parameter.
    msdyn_naam
    msdyn_titel
    Wijzig Demo Power Query-sjablonenconnector in de naam van uw connector.
    msdyn_dataflowtemplate-id Wijzig deze waarde in die van uw Power Query-sjabloon. Deze waarde is een GUID die u ook gebruikt in het bestand msdyn_dataflowtemplates.xml.

Het bestand msdyn_dataflowtemplates.xml maken

  1. Maak in de teksteditor van uw voorkeur een nieuw bestand met de naam msdyn_dataflowtemplates.xml.

  2. Kopieer en wijzig de volgende XML zodat deze bij uw gegevens past:

    <msdyn_dataflowtemplates>
      <msdyn_dataflowtemplate msdyn_dataflowtemplateid="">
        <msdyn_uniquename>msm_sustainabilitySamplePQTemplate</msdyn_uniquename>
        <msdyn_category>msdyn_sustainability</msdyn_category>
        <msdyn_configuration>{\"msdyn_sustainability\":{\"dataDefinitions\":\", , , \",\"dataDefinitionNames\":\"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\":\"aaaa0000-bb11-2222-33cc-444444dddddd\",\"biz trav types\":\"bbbb1111-cc22-3333-44dd-555555eeeeee\",\"orgs\":\"cccc2222-dd33-4444-55ee-666666ffffff\",\"facilities\":\"dddd3333-ee44-5555-66ff-777777aaaaaa\"}}}</msdyn_configuration>
        <msdyn_description>Demo Power Query template connector</msdyn_description>
        <msdyn_mashupdocument>{\"hostContext\":{\"type\":\"SustainabilityCloud\",\"details\":{\"EnvironmentId\":\"\"}},\"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\":\"\",\"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>
    
    Parameter DETAILS
    msdyn_dataflowtemplate-id Genereer een nieuwe GUID om uw sjabloon te identificeren volgens de GUID-indeling.
    msdyn_uniekenaam Voer een unieke naam in voor uw sjabloonrecord.
    msdyn_categorie De categorie van uw sjabloonrecord. Laat deze waarde staan.
    msdyn_configuratie Wijzig dit in de JSON die de toewijzingsconfiguratie van uw sjabloon vertegenwoordigt voor de gegevenscategorieën die worden ondersteund in Sustainability Manager. Instructies voor het verkrijgen van deze JSON vindt u na deze tabel.
    msdyn_beschrijving Voor een beschrijving voor uw Power Query-sjabloon in.
    msdyn_mashupdocument Deze parameter is een tekstweergave van alle transformaties in uw connector. Instructies voor het verkrijgen van deze tekst vindt u na deze tabel.
    msdyn_sjabloonnaam Voor een naam voor uw sjabloon in.
    msdyn_templateversie Voer het versienummer van uw sjabloon in.

    Om de informatie te extraheren die u wilt gebruiken in de parameters msdyn_configuratie en msdyn_mashupdocument, kopieert en plakt u de volgende tekst in uw browser. Vervang <uw organisatie> door de naam van de omgeving van uw organisatie.

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

    Er wordt een JSON weergegeven met al uw msdyn_dataflowtemplates-records, waar u de sjabloon kunt vinden die u wilt verplaatsen. Kopieer en plak de velden in uw msdyn_dataflowtemplates.xml-bestand.

    Schermopname met de waarden voor velden in het bestand msdyn_dataflowtemplates.xml.

Volgende stap