다음을 통해 공유


대시보드 만들기

 

게시 날짜: 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를 사용하거나 엔터티 양식을 사용자 지정하여 만든 일부 대시보드는 웹 응용 프로그램의 대시보드 디자이너에서 지원되지 않습니다. 자세한 내용은 이 항목의 뒷부분에 있는 제한 사항: 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.** * // See “Sample Dashboards” topic for the FormXML content to be used here.
          </forms>
       </FormXml>
    </Dashboard>
    
  6. customizations.xml 파일을 저장합니다.

  7. .zip 파일을 Microsoft Dynamics 365에서 솔루션으로 가져옵니다.추가 정보:리본 내보내기, 편집 준비 및 가져오기.

제한 사항: SDK를 사용하거나 양식 사용자 지정을 통해 대시보드 만들기

Microsoft Dynamics 365 SDK를 사용하거나 양식 사용자 지정을 통해 만들거나 수정한 특정 대시보드는 웹 응용 프로그램의 대시보드 디자이너에서 지원되지 않습니다. SDK를 사용하거나 양식 사용자 지정을 통해 대시보드를 만들거나 수정하는 동안 다음을 수행하지 마십시오.

일반

  • 문제: FormXML에 정의된 섹션 없이 탭이 포함된 대시보드를 만들 수 있습니다.

    해결: FormXML의 각 탭에 대해 정의된 하나 이상의 섹션이 있는 대시보드를 만들어야 합니다.

  • 문제: FormXML에서 섹션의 <cell> (FormXml) 요소의 rowspan 속성에 지정된 섹션의 <row> (FormXml) 요소 수와 다른 대시보드를 만들 수 있습니다. 이상적으로 <cell> (FormXml) 요소의 rowspan 속성 값과 섹션의 <row> (FormXml) 요소의 수는 동일해야 합니다.

    해결: 섹션의 <cell> (FormXml) 요소의 rowspan 속성에 정의된 것과 섹션의 <row> (FormXml) 요소의 수가 같은 대시보드를 만들어야 합니다.

문제: 표에 대해 <AutoExpand> (FormXml) 매개 변수 값이 Auto로 설정된 표가 포함된 대시보드를 만들 수 있습니다.

해결: 대시보드를 만드는 동안 FormXML에서 표에 대해 <AutoExpand> (FormXml) 매개 변수 값을 Fixed로 지정해야 합니다.

IFRAME

문제: IFRAME이 포함된 대시보드를 만들 수 있습니다. FormXML에서 IFRAME 컨트롤에 대해 <Url> (FormXml) 매개 변수에 대한 값을 지정하지 않으면 이러한 문제가 발생합니다.

해결: FormXML에서 IFRAME을 만드는 동안 <Url> (FormXml) 매개 변수에 대한 값을 지정해야 합니다.

참고 항목

대시보드를 사용하여 데이터 분석
대시보드 이해: 대시보드 구성 요소 및 FormXML
대시보드에 대한 작업
샘플 대시보드
샘플: 대시보드 만들기, 검색, 업데이트 및 삭제
엔터티 양식 사용자 지정

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보