建立儀表板
發行︰ 2017年1月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
組織擁有的儀表板可以使用 Microsoft Dynamics 365 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'>" & _
"<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)
如需完整的範例,請參閱:範例:建立、擷取、更新和刪除儀表板。 如需建立使用者擁有的儀表板並將它指派給其他使用者的範例,請參閱 範例:指派使用者擁有的儀表版給其他使用者。
透過自訂實體表單建立組織擁有的儀表板
和未受管理的解決方案一起匯出的 customizations.xml 檔案包含實體表單和儀表板的定義。 您可以新增或修改 customizations.xml 檔案來新增或更新儀表板。
透過自訂實體表單建立儀表板
登入 Microsoft Dynamics 365。
匯出解決方案。 如需此步驟的相關說明,請參閱 匯出,準備編輯,然後匯入功能區。
尋找匯出解決方案資料夾中的 customizations.xml 檔案,並開啟進行編輯。
透過搜尋此標籤 </Dashboards> 前往儀表板在 customizations.xml 檔案中結束的位置
在 </Dashboards> 標籤之前,請新增下列向路來定義新儀表板:
<Dashboard> <LocalizedNames> <LocalizedName description="Dashboard_Name" languagecode="1033" /> </LocalizedNames> <IsCustomizable>1</IsCustomizable> <IsDefault>0</IsDefault> <FormXml> <forms type="dashboard"> *** Dashboard definition goes here.** * // See “Sample Dashboards” topic for the FormXML content to be used here. </forms> </FormXml> </Dashboard>
儲存 customizations.xml 檔案。
在 Microsoft Dynamics 365 中匯入 .zip 檔案做為解決方案。其他資訊:匯出,準備編輯,然後匯入功能區。
限制:使用 SDK 或透過表單自訂建立儀表板
某些儀表板是由使用 Microsoft Dynamics 365 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
儀表板上的動作
範例儀表板
範例:建立、擷取、更新和刪除儀表板
自訂實體表單
Microsoft Dynamics 365
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權