分享方式:


建立儀表板

 

發佈日期: 2016年11月

適用對象: Dynamics CRM 2015

組織擁有的儀表板可以使用 Microsoft Dynamics CRM SDK 或透過編輯 customizations.xml 檔案來自訂 Microsoft Dynamics 365 中的實體表單來建立。

備註

某些儀表板是由使用 SDK 或透過自訂實體表單 (Web 應用程式的儀表板設計工具不支援) 所建立。 如需詳細資訊,請於稍後參閱本主題的 限制:使用 SDK 或透過表單自訂建立儀表板。

在建立儀表板之前,請考慮下列步驟:

  • 儀表板類型:如果您希望儀表板可以在組織中使用,且不希望管理存取層級如果您要讓儀表板提供跨組織,不要管理更細節的存取層級的話,您也許會希望建立一個組織擁有的儀表板。 不過,如果您在意的儀表板的存取權限與資訊安全,請考慮建立使用者擁有的儀表板,且您可以控制可以存取的人員。

    若要建立組織擁有的儀表板,您必須具有「系統管理員」或「系統自訂員」安全性角色。

  • 儀表板配置:建立儀表板時,你必須使用 FormXML 來定義儀表板元件和格式。 如需使用 FormXML 定義儀表板的資訊,請參閱 儀表板元件與 FormXML 元素。 如需特定不同類型儀表板的 FormXML 範例,請參閱 範例儀表板

本主題內容

透過 SDK 建立儀表板

透過自訂實體表單建立組織擁有的儀表板

限制:使用 SDK 或透過表單自訂建立儀表板

透過 SDK 建立儀表板

若要建立儀表板,請建立一個組織擁有的儀表板的 SystemForm 執行個體,或 UserForm 使用者擁有的儀表板。 下列範例示範如何建立組織擁有的儀表板。


//This is the language code for U.S. English. If you are running this code
//in a different locale, you will need to modify this value.
int languageCode = 1033;

//We set up our dashboard and specify the FormXml. Refer to the
//FormXml schema in the Microsoft Dynamics CRM SDK for more information.
SystemForm dashboard = new SystemForm
{
    Name = "Sample Dashboard",
    Description = "Sample organization-owned dashboard.",
    FormXml = String.Format(@"<form>
            <tabs>
                <tab name='Test Dashboard' verticallayout='true'>
                    <labels>
                        <label description='Sample Dashboard' languagecode='{0}' />
                    </labels>
                    <columns>
                        <column width='100%'>
                            <sections>
                                <section name='Information Section'
                                    showlabel='false' showbar='false'
                                    columns='111'>
                                    <labels>
                                        <label description='Information Section'
                                            languagecode='{0}' />
                                    </labels>
                                    <rows>
                                        <row>
                                            <cell colspan='1' rowspan='10' 
                                                showlabel='false'>
                                                <labels>
                                                    <label description='Top Opportunitiess - 1'
                                                    languagecode='{0}' />
                                                </labels>
                                                <control id='TopOpportunities'
                                                    classid='{{E7A81278-8635-4d9e-8D4D-59480B391C5B}}'>
                                                    <parameters>
                                                        <ViewId>{1}</ViewId>
                                                        <IsUserView>false</IsUserView>
                                                        <RelationshipName />
                                                        <TargetEntityType>opportunity</TargetEntityType>
                                                        <AutoExpand>Fixed</AutoExpand>
                                                        <EnableQuickFind>false</EnableQuickFind>
                                                        <EnableViewPicker>false</EnableViewPicker>
                                                        <EnableJumpBar>false</EnableJumpBar>
                                                        <ChartGridMode>Chart</ChartGridMode>
                                                        <VisualizationId>{2}</VisualizationId>
                                                        <EnableChartPicker>false</EnableChartPicker>
                                                        <RecordsPerPage>10</RecordsPerPage>
                                                    </parameters>
                                                </control>
                                            </cell>
                                            <cell colspan='1' rowspan='10' 
                                                showlabel='false'>
                                                <labels>
                                                    <label description='Top Opportunities - 2'
                                                    languagecode='{0}' />
                                                </labels>
                                                <control id='TopOpportunities2'
                                                    classid='{{E7A81278-8635-4d9e-8D4D-59480B391C5B}}'>
                                                    <parameters>
                                                        <ViewId>{1}</ViewId>
                                                        <IsUserView>false</IsUserView>
                                                        <RelationshipName />
                                                        <TargetEntityType>opportunity</TargetEntityType>
                                                        <AutoExpand>Fixed</AutoExpand>
                                                        <EnableQuickFind>false</EnableQuickFind>
                                                        <EnableViewPicker>false</EnableViewPicker>
                                                        <EnableJumpBar>false</EnableJumpBar>
                                                        <ChartGridMode>Grid</ChartGridMode>
                                                        <VisualizationId>{2}</VisualizationId>
                                                        <EnableChartPicker>false</EnableChartPicker>
                                                        <RecordsPerPage>10</RecordsPerPage>
                                                    </parameters>
                                                </control>
                                            </cell>
                                        </row>
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                    </rows>
                                </section>
                            </sections>
                        </column>
                    </columns>
                </tab>
            </tabs>
        </form>",
    languageCode,
    defaultOpportunityQuery.SavedQueryId.Value.ToString("B"),
    visualization.SavedQueryVisualizationId.Value.ToString("B")),
    IsDefault = false
};
_dashboardId = _serviceProxy.Create(dashboard);

'This is the language code for U.S. English. If you are running this code
'in a different locale, you will need to modify this value.
Dim languageCode As Integer = 1033

'We set up our dashboard and specify the FormXml. Refer to the
'FormXml schema in the Microsoft Dynamics CRM SDK for more information.
Dim dashboard As SystemForm =
 New SystemForm With {
  .Name = "Sample Dashboard",
  .Description = "Sample organization-owned dashboard.",
  .FormXml = String.Format("<form><tabs><tab name='Test Dashboard' verticallayout='true'>" &amp; _
                           "<labels><label description='Sample Dashboard' languagecode='{0}' />" &amp; _
                           "</labels><columns><column width='100%'><sections>" &amp; _
                           "<section name='Information Section' showlabel='false' showbar='false' columns='111'>" &amp; _
                           "<labels><label description='Information Section' languagecode='{0}' />" &amp; _
                           "</labels><rows><row><cell colspan='1' rowspan='10' showlabel='false'><labels>" &amp; _
                           "<label description='Top Opportunitiess - 1' languagecode='{0}' /></labels>" &amp; _
                           "<control id='TopOpportunities' classid='{{E7A81278-8635-4d9e-8D4D-59480B391C5B}}'>" &amp; _
                           "<parameters><ViewId>{1}</ViewId><IsUserView>false</IsUserView><RelationshipName />" &amp; _
                           "<TargetEntityType>opportunity</TargetEntityType><AutoExpand>Fixed</AutoExpand>" &amp; _
                           "<EnableQuickFind>false</EnableQuickFind><EnableViewPicker>false</EnableViewPicker>" &amp; _
                           "<EnableJumpBar>false</EnableJumpBar><ChartGridMode>Chart</ChartGridMode>" &amp; _
                           "<VisualizationId>{2}</VisualizationId><EnableChartPicker>false</EnableChartPicker>" &amp; _
                           "<RecordsPerPage>10</RecordsPerPage></parameters></control></cell>" &amp; _
                           "<cell colspan='1' rowspan='10' showlabel='false'><labels>" &amp; _
                           "<label description='Top Opportunities - 2' languagecode='{0}' /></labels>" &amp; _
                           "<control id='TopOpportunities2' classid='{{E7A81278-8635-4d9e-8D4D-59480B391C5B}}'>" &amp; _
                           "<parameters><ViewId>{1}</ViewId><IsUserView>false</IsUserView><RelationshipName />" &amp; _
                           "<TargetEntityType>opportunity</TargetEntityType><AutoExpand>Fixed</AutoExpand>" &amp; _
                           "<EnableQuickFind>false</EnableQuickFind><EnableViewPicker>false</EnableViewPicker>" &amp; _
                           "<EnableJumpBar>false</EnableJumpBar><ChartGridMode>Grid</ChartGridMode>" &amp; _
                           "<VisualizationId>{2}</VisualizationId><EnableChartPicker>false</EnableChartPicker>" &amp; _
                           "<RecordsPerPage>10</RecordsPerPage></parameters></control></cell></row><row /><row />" &amp; _
                           "<row /><row /><row /><row /><row /><row /><row /></rows></section></sections></column>" &amp; _
                           "</columns></tab></tabs></form>",
                           languageCode,
                           defaultOpportunityQuery.SavedQueryId.Value.ToString("B"),
                           visualization.SavedQueryVisualizationId.Value.ToString("B")),
  .IsDefault = False
 }
_dashboardId = _serviceProxy.Create(dashboard)

如需完整的範例,請參閱:範例:建立、擷取、更新和刪除儀表板。 如需建立使用者擁有的儀表板並將它指派給其他使用者的範例,請參閱 範例:指派使用者擁有的儀表版給其他使用者

透過自訂實體表單建立組織擁有的儀表板

和未受管理的解決方案一起匯出的 customizations.xml 檔案包含實體表單和儀表板的定義。 您可以新增或修改 customizations.xml 檔案來新增或更新儀表板。

透過自訂實體表單建立儀表板

  1. 登入 Microsoft Dynamics 365。

  2. 匯出解決方案。 如需此步驟的相關說明,請參閱 匯出,準備編輯,然後匯入功能區

  3. 尋找匯出解決方案資料夾中的 customizations.xml 檔案,並開啟進行編輯。

  4. 透過搜尋此標籤 </Dashboards> 前往儀表板在 customizations.xml 檔案中結束的位置

  5. 在 </Dashboards> 標籤之前,請新增下列向路來定義新儀表板:

    <Dashboard>   <LocalizedNames>      <LocalizedName description="<Dashboard_Name>" languagecode="1033" />   </LocalizedNames>      <IsCustomizable>1</IsCustomizable>   <IsDefault>0</IsDefault>   <FormXml>      <forms type="dashboard">         *** Dashboard definition goes here. *** </forms>   </FormXml></Dashboard>
    
  6. 儲存 customizations.xml 檔案。

  7. 在 Microsoft Dynamics 365 中匯入 .zip 檔案做為解決方案。其他資訊:匯出,準備編輯,然後匯入功能區

限制:使用 SDK 或透過表單自訂建立儀表板

某些儀表板是由使用 Microsoft Dynamics CRM SDK 建立或修改,或透過表單自訂 (Web 應用程式的儀表板設計工具不支援)。 在使用 SDK 或透過表單自訂建立或修改儀表板時,請避免以下狀況。

一般

  • 問題:您可以建立包含索引標籤,不定義的任何區段的 FormXML 儀表板。

    解決方法:確定您在 FormXML 中建立儀表板時用了至少一個區段定義每個索引標籤。

  • 問題:您可以建立儀表板,該區段的 <row> (FormXml) 元素數量不必要相同,如同指定 FormXML 中區段的 <cell> (FormXml) 元素的 rowspan 屬性。 在理想狀況下,rowspan 屬性值 <cell> (FormXml) 的元素屬性值以及單區段中的 <row> (FormXml) 元素數量必須相同。

    解決方法:確認您建立儀表板,而該區段的 <row> (FormXml) 元素數量為相同,如同指定區段的 <cell> (FormXml) 元素的 rowspan 屬性。

格線

問題:您可以建立儀表板,其中包含使用 <AutoExpand> (FormXml) 參數值的格線,針對格線將值設定為 Auto

解決方法:確定您在建立儀表板時,為 FormXML 格線指定 <AutoExpand> (FormXml) 參數值為 Fixed

IFRAME

問題:您可以建立包含 IFRAME 的儀表板。 這會在你尚未對 <Url> (FormXml) 參數 (屬 FormXML 的 IFRAME 控制項) 指定任何值的情況下發生。

解決方法:請確定你在 FormXML 中建立一組 IFRAME 時,為 <Url> (FormXml) 參數指定一個值。

另請參閱

使用儀表板分析資料
了解儀表板:儀表板元件和 FormXML
儀表板上的動作
範例儀表板
範例:建立、擷取、更新和刪除儀表板
自訂實體表單

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權