Condividi tramite


Visualizzare i dati delle matrici nelle schede adattive

Schede adattive è uno strumento versatile utilizzato per creare conversazioni interattive e coinvolgenti in Copilot Studio e può essere utilizzato per visualizzare una serie di elementi. In questo articolo, per semplicità, utilizziamo un esempio hard-coded. Tuttavia, è probabile che otterrai i dati da una fonte più dinamica, come un elenco, utilizzando SharePoint . Power Automate

Inizializzare una variabile con l'elenco delle attività

In questo scenario, hai un elenco di attività in un array e vuoi visualizzare l'elenco delle attività in agente.

  1. Seleziona Aggiungi nodo (+) per aggiungere un nodo, quindi Seleziona Gestione delle variabili>Imposta un valore di variabile.

  2. Seleziona la casella in Imposta variabile, quindi seleziona Crea nuovo.

  3. Seleziona la nuova variabile (ad esempio, Var1) per visualizzare il pannello Proprietà della variabile .

  4. Assegna un nome significativo alla variabile, ad esempio EmployeeTaskList.

  5. Incolla il seguente codice JSON nel campo Valore a :

    {
        "employeeName": "Alice",
        "employeeID": "E12345",
        "employeeDepartment": "HR",
        "employeeTasks": [
            {
                "taskID": "T001",
                "taskDescription": "Review employee benefits",
                "dueDate": "2023-10-15"
            },
            {
                "taskID": "T002",
                "taskDescription": "Conduct new hire orientation",
                "dueDate": "2023-09-30"
            },
            {
                "taskID": "T003",
                "taskDescription": "Update HR policies",
                "dueDate": "2023-11-05"
            }
        ]
    }
    

Analizza i dati JSON in una tabella

Questo nodo di gestione delle variabili viene utilizzato per convertire la stringa JSON in una tabella che può essere utilizzata in seguito nell'Adaptive scheda.

  1. Seleziona Aggiungi nodo (+) e Gestione variabili>Analizza valore.

  2. In Analizza valore, Seleziona la EmployeeTaskList variabile creata nella sezione precedente.

  3. In Tipo di dati seleziona Dati di esempio.

  4. Seleziona </> Ottieni lo schema dal JSON di esempio, quindi copia e incolla lo stesso JSON nella sezione Dai dati di esempio delle impostazioni Tipo di dati . I dati di esempio generano automaticamente lo schema e il tipo di dati. Seleziona Conferma.

  5. In Salva con nome, Seleziona Crea una nuova variabile.

  6. Seleziona la nuova variabile e modifica il Nome della variabile in TaskTable.

Screenshot del nodo Analizza valore.

Visualizza i dati in una scheda adattiva

Per visualizzare i dati in un scheda adattivo, utilizzare un nodo Messaggio.

  1. Selezionare + Aggiungi e seleziona Scheda adattiva dal menu a discesa.

  2. Seleziona la sezione Supporti per mostrare il pannello Proprietà della scheda adattiva.

  3. Nel pannello Proprietà della scheda adattiva a destra, seleziona il menu a discesa </> Modifica JSON e modificalo in Formula.

  4. Incolla il codice seguente.

    {
      type: "AdaptiveCard",
      version: "1.5",
      body: [
        {
          type: "TextBlock",
          text: "Employee Information",
          weight: "bolder",
          size: "large"
        },
        {
          type: "TextBlock",
          text: "Employee Name: " & Topic.TaskTable.employeeName,
          separator: true
        },
        {
          type: "TextBlock",
          text: "Employee ID: " & Topic.TaskTable.employeeID,
          separator: true
        },
        {
          type: "TextBlock",
          text: "Department: " & Topic.TaskTable.employeeDepartment,
          separator: true
        },
        {
          type: "TextBlock",
          text: "Tasks",
          weight: "bolder",
          size: "medium",
          separator: true
        },
        {
          type: "Container",
          items: 
            ForAll(Topic.TaskTable.employeeTasks,
              {
                type: "TextBlock",
                text: "- Task ID: " & taskID & ",  Description: " & taskDescription & ", Due Date: " & dueDate ,
                wrap: true
              }
          )
        }
      ]
    }
    
  5. Ora possiamo fare riferimento alle proprietà del record JSON utilizzando espressioni come Topic.TaskTable.employeeName.

  6. Per visualizzare gli elementi della matrice in una scheda adattiva, utilizza l'elemento Contenitore con la proprietà delle voci.

La proprietà delle voci accetta una matrice di elementi come valore. Ogni elemento della matrice viene visualizzato nella scheda adattiva, utilizzando la funzione "ForAll". Fai riferimento alla matrice Topic.TaskTable.employeeTasks, poiché consente l'accesso a ciascuna delle sue proprietà.

Se desideri creare argomento senza seguire queste istruzioni, puoi selezionare Apri editor di codice dalla barra dei comandi in alto a destra e incollare il seguente codice YAML nella visualizzazione dell'editor di codice.

kind: AdaptiveDialog
beginDialog:
  kind: OnRecognizedIntent
  id: main
  intent:
    displayName: Untitled
    triggerQueries:
      - array

  actions:
    - kind: SetVariable
      id: setVariable_uFs69M
      variable: Topic.EmployeeTaskList
      value: "{     \"employeeName\": \"Alice\",     \"employeeID\": \"E12345\",     \"employeeDepartment\": \"HR\",     \"employeeTasks\": [         {             \"taskID\": \"T001\",             \"taskDescription\": \"Review employee benefits\",             \"dueDate\": \"2023-10-15\"         },         {             \"taskID\": \"T002\",             \"taskDescription\": \"Conduct new hire orientation\",             \"dueDate\": \"2023-09-30\"         },         {             \"taskID\": \"T003\",             \"taskDescription\": \"Update HR policies\",             \"dueDate\": \"2023-11-05\"         }     ] }"

    - kind: ParseValue
      id: 58zKdp
      variable: Topic.TaskTable
      valueType:
        kind: Record
        properties:
          employeeDepartment: String
          employeeID: String
          employeeName: String
          employeeTasks:
            type:
              kind: Table
              properties:
                dueDate: String
                taskDescription: String
                taskID: String

      value: =Topic.EmployeeTaskList

    - kind: SendActivity
      id: sendActivity_oNXY1r
      activity:
        attachments:
          - kind: AdaptiveCardTemplate
            cardContent: |-
              ={
                type: "AdaptiveCard",
                version: "1.5",
                body: [
                  {
                    type: "TextBlock",
                    text: "Employee Information",
                    weight: "bolder",
                    size: "large"
                  },
                  {
                    type: "TextBlock",
                    text: "Employee Name: " & Topic.TaskTable.employeeName,
                    separator: true
                  },
                  {
                    type: "TextBlock",
                    text: "Employee ID: " & Topic.TaskTable.employeeID,
                    separator: true
                  },
                  {
                    type: "TextBlock",
                    text: "Department: " & Topic.TaskTable.employeeDepartment,
                    separator: true
                  },
                  {
                    type: "TextBlock",
                    text: "Tasks",
                    weight: "bolder",
                    size: "medium",
                    separator: true
                  },
                  {
                    type: "Container",
                    items: 
                      ForAll(Topic.TaskTable.employeeTasks,
                        {
                          type: "TextBlock",
                          text: "- Task ID: " & taskID & ",  Description: " & taskDescription & ", Due Date: " & dueDate ,
                          wrap: true
                        }
                    )
                  }
                ]
              }