Visualizzare i dati delle matrici nelle schede adattive
Le schede adattive sono uno strumento versatile utilizzato per creare conversazioni interattive e coinvolgenti in Copilot Studio e possono essere utilizzate per visualizzare una serie di elementi. In questo articolo, per semplicità, usiamo un esempio codificato direttamente. Tuttavia, è probabile che i dati vengano ottenuti da un'origine più dinamica, ad esempio un elenco SharePoint, utilizzando Power Automate.
Inizializzare una variabile con l'elenco delle attività
In questo scenario, si dispone di un elenco di attività in un array e si desidera visualizzare l'elenco delle attività nell'agente.
Seleziona Aggiungi nodo (+) per aggiungere un nodo, quindi seleziona Gestione variabili>Imposta un valore variabile.
Seleziona la casella in Imposta variabile, quindi seleziona Crea nuovo.
Seleziona la nuova variabile (ad esempio,
Var1
) per visualizzare il pannello Proprietà della variabile.Assegna un nome significativo alla variabile, ad esempio
EmployeeTaskList
.Incolla il seguente JSON nel campo A valore:
{ "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 consente di convertire la stringa JSON in una tabella che può essere usata successivamente nella scheda adattiva.
Seleziona Aggiungi nodo (+) e Gestione delle variabili>Analizza il valore.
In Analizza valore seleziona la variabile
EmployeeTaskList
creata nella sezione precedente.In Tipo di dati seleziona Dati di esempio.
Seleziona </> Ottieni schema da codice JSON di esempio, quindi copia e incolla lo stesso codice 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.
In Salva come, seleziona Crea una nuova variabile.
Seleziona la nuova variabile e modifica Nome variabile in
TaskTable
.
Visualizza i dati in una scheda adattiva
Per visualizzare i dati in una scheda adattiva, utilizza un nodo Messaggio.
Seleziona Aggiungi e Scheda adattiva dal menu a discesa.
Seleziona la sezione Supporti per mostrare il pannello Proprietà della scheda adattiva.
Nel pannello Proprietà della scheda adattiva a destra, seleziona il menu a discesa </> Modifica JSON e modificalo in Formula.
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 } ) } ] }
Ora possiamo fare riferimento alle proprietà del record JSON utilizzando espressioni come
Topic.TaskTable.employeeName
.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
}
)
}
]
}