इसके माध्यम से साझा किया गया


अनुकूली कार्ड में सरणियों से डेटा प्रदर्शित करें

अनुकूली कार्ड एक बहुमुखी उपकरण है जिसका उपयोग इंटरैक्टिव और आकर्षक बातचीत बनाने के लिए किया जा सकता है। Copilot Studio इस दस्तावेज़ में, आप सीखते हैं कि एडेप्टिव कार्ड में सरणी आइटम कैसे प्रदर्शित करें। Copilot Studio हम सरलता के लिए एक हार्ड-कोडेड उदाहरण का उपयोग करते हैं, लेकिन वास्तविक जीवन के परिदृश्य में, आप संभवतः अधिक गतिशील स्रोत जैसे SharePoint सूची आदि का उपयोग करके डेटा प्राप्त करेंगे। Power Automate

मान लें कि आपके पास सरणी में कार्यों की एक सूची है, और आप बॉट में कार्यों की सूची दिखाना चाहते हैं।

अंतिम आउटपुट

कार्य सूची के साथ एक चर प्रारंभ करें

  1. नोड जोड़ने के लिए नोड जोड़ें (+) का चयन करें, और फिर चर प्रबंधन-एक चर मान सेट करें का चयन करें>

  2. चर सेट करें के अंतर्गतबॉक्स का चयन करें और फिर नया बनाएँ का चयन करें.

  3. परिवर्तनीय गुण पैनल दिखाने के लिए नए चर (जैसे Var1) का चयन करें।

  4. अपने चर को कुछ सार्थक नाम दें, जैसे EmployeeTaskList

  5. निम्न JSON को To मान मेंचिपकाएँ:

    {
        "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"
            }
        ]
    }
    

JSON डेटा को एक तालिका में पार्स करें

  1. Add node (+) and Variable management-parse value चुनें>. इसका उपयोग JSON स्ट्रिंग को तालिका में बदलने के लिए किया जाता है जिसका उपयोग बाद में अनुकूली कार्ड में किया जा सकता है।
  2. पार्स मान के अंतर्गत, उस चर का चयन करें जिसे आपने ऊपर बनाया है। जैसे . EmployeeTaskList.
  3. डेटा प्रकार के अंतर्गत , नमूना डेटा से का चयन करें .
  4. नमूना JSON से स्कीमा चुनें </> प्राप्त करें, और उसी JSON को डेटा प्रकारसेटिंग्स के नमूना डेटा अनुभाग से कॉपी और पेस्ट करें नमूना डेटा स्वचालित रूप से स्कीमा और डेटाटाइप जनरेट करता है. पुष्टि करें चुनें.
  5. इस रूप में सहेजें के अंतर्गत, एक नया चर बनाएँ चुनें. नए चर का चयन करें, और चर नाम को होने के TaskTableलिए बदलें।

कार्य तालिका

डेटा को अनुकूली कार्ड में प्रदर्शित करें

  1. किसी अनुकूली कार्ड में डेटा प्रदर्शित करने के लिए, कोई संदेश नोड भेजें जोड़ें.

  2. + जोड़ें चुनें, और ड्रॉपडाउन से अनुकूली कार्ड चुनें

  3. अनुकूली कार्ड गुण पैनल दिखाने के लिए मीडिया अनुभाग का चयन करें।

  4. दाईं ओर अनुकूली कार्ड गुण पैनल के अंदर , JSON <ड्रॉपडाउन का चयन करें> / संपादित करें और इसे फॉर्मूला मेंबदलें।

  5. निम्न कोड चिपकाएँ।

    {
      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
              }
          )
        }
      ]
    }
    
    1. अब हम जैसे एक्सप्रेशन का उपयोग करके JSON रिकॉर्ड प्रॉपर्टीज को रेफर कर सकते हैं Topic.TaskTable.employeeName

    2. एडेप्टिव कार्ड में सरणी आइटम प्रदर्शित करने के लिए, आइटम प्रॉपर्टी के साथ कंटेनर तत्व का उपयोग करें।

      आइटम संपत्ति तत्वों की एक सरणी को इसके मूल्य के रूप में स्वीकार करती है। सरणी में प्रत्येक तत्व अनुकूली कार्ड में प्रदर्शित होता है, ' ForAll' फ़ंक्शन का उपयोग करके। सरणी का Topic.TaskTable.employeeTasks संदर्भ लें, क्योंकि यह इसके प्रत्येक गुण तक पहुंच की अनुमति देता है।

    यदि आप इन निर्देशों का पालन किए बिना विषय बनाना चाहते हैं, तो आप ऊपरी दाएं आदेश पट्टी से कोड संपादक खोलें का चयन कर सकते हैं और कोड संपादक दृश्य में निम्न YAML कोड चिपका सकते हैं.

    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
                            }
                        )
                      }
                    ]
                  }