Common Data Service에서 앱 만들기Creating an app from the Common Data Service

Generate a three screen app from the Common Data Service, then explore screens and controls from the app. Update app screens, controls, and fields; bring in additional data and trigger a flow from the app.

다음 방법을 배웁니다.

앱 생성Generate an app

이 섹션에서는 Common Data Service에서 엔터티를 기반으로 하여 앱을 만듭니다.In this section of the course, we'll create an app based on entities in the Common Data Service. 엔터티는 수정, 저장, 검색 및 상호 작용할 수 있는 공유 데이터 청크입니다.Entities are chunks of shared data that can be modified, stored, retrieved, and interacted with. 엔터티에서 앱을 생성하고, 앱을 사용자 지정하는 방법을 보여 주고, 다른 데이터 원본을 추가하고, 앱에서 흐름을 호출합니다.We'll generate the app from an entity, show you how to customize the app, add another data source, and call a flow from the app. SharePoint 목록에서 앱을 만드는 방법에 대한 섹션을 이미 완료한 경우 동일한 영역의 일부, 특히 앱 사용자 지정과 관련된 내용을 더 자세히 설명합니다.If you already completed the section on creating an app from a SharePoint list, we will cover some of the same territory but in more depth, especially around customizing the app.

IT 부서에서 조직 전체의 하드웨어 및 소프트웨어 문제를 추적하고, 우선 순위를 지정하고, 조치를 취하는 데 사용할 수 있는 사례 관리 앱을 만들겠습니다.We'll create a case-management app that an IT department could use to track, prioritize, and act on hardware and software issues across an organization. 항목을 진행하면서 이러한 앱의 다른 용도에 대해 생각해 볼 수도 있습니다.As you go through the topics, you might also think of other uses for an app like this. 앱 데이터를 저장하는 데 적합하기 때문에 Common Data Service의 데이터를 사용하지만 다른 데이터 원본을 사용하더라도 동일한 앱을 빌드할 수 있습니다.We're using data from the Common Data Service because it's well-suited to storing app data, but you could build the same app with a different data source.

PowerApps에는 빌드할 앱과 동일한 엔터티를 사용하는 보다 복잡한 사례 관리 템플릿이 포함되어 있습니다.PowerApps includes a more complex Case Management template that uses the same entities as the app we'll build. 이 섹션을 완료한 후에는 해당 템플릿을 탐색하여 PowerApps에서 빌드할 수 있음을 이해하는 것이 좋습니다.After you've completed this section, we encourage you to explore that template to get a sense of what you can build in PowerApps.

Common Data Service 데이터베이스 만들기Create a Common Data Service database

이 앱을 빌드하는 첫 번째 단계는 Common Data Service 데이터베이스가 없는 경우 이 데이터베이스를 만드는 것입니다.The first step in building this app is to create a Common Service database if you don't already have one. 환경에서 Common Data Service 데이터베이스를 만듭니다.You create a Common Data Service database in an environment. 환경은 앱 및 기타 리소스를 위한 컨테이너이며, 과정의 뒷부분에서 환경에 대해 자세히 설명합니다.An environment is a container for apps and other resources (you'll learn more about environments later in the course). 환경 관리자는 이 단계에 따라 데이터베이스를 만들 수 있습니다. 관리자가 아닌 경우 조직의 관리자에게 문의하세요.An environment admin can follow these steps to create a database (if you're not an admin, check with an admin in your organization).

탭에서 데이터베이스 만들기를 클릭합니다.From the Home tab, click Create Database.

Common Data Service 데이터베이스 만들기

데이터베이스에 대한 액세스를 제한할 것인지 또는 계속 열어 둘 것인지를 지정하고 데이터베이스 만들기를 클릭합니다.Specify whether you want to restrict access to the database (we'll keep it open), then click Create my database.

Common Data Service에서 액세스 지정

프로세스가 완료되면 공통 데이터 모델에 포함된 표준 엔터티가 모두 표시됩니다.When the process is complete, you see all the standard entities that are included in the common data model. 그 중 일부는 다음과 같습니다.Some of them are shown below.

Common Data Service 표준 엔터티

사례 엔터티에서 앱 생성Generate an app from the Case entity

이제 데이터베이스가 만들어졌으므로 사례 엔터티에 연결하여 앱을 생성합니다.Now that the database is created, we connect to the Case entity and generate an app. 새 앱을 클릭한 다음 웹용 PowerApps Studio를 클릭합니다.Click New app, then PowerApps Studio for web.

웹용 PowerApps Studio의 새 앱

Common Data Service 엔터티를 위한 휴대폰 앱을 빌드하고 있으므로 Common Data Service에서 휴대폰 레이아웃을 클릭하거나 탭합니다.We're building a phone app for a Common Data Service entity, so under Common Data Service click or tap Phone layout.

Common Data Service의 휴대폰 앱

다음 화면에서 연결할 연결과 엔터티를 선택한 다음 연결을 클릭합니다.In the next screen, you choose a connection and an entity to connect to, then click Connect.

사례 엔터티에 연결

연결을 클릭하면 PowerApps에서 앱을 생성하기 시작합니다.After you click Connect, PowerApps starts to generate the app. PowerApps는 유용한 정보를 시작 지점으로 생성할 수 있도록 데이터에 대한 모든 종류의 추론을 만듭니다.PowerApps makes all sorts of inferences about your data so that it generates a useful app as a starting point.

PowerApps Studio에서 앱 보기View the app in PowerApps Studio

PowerApps Studio에서 새로운 3화면 앱이 열립니다.Your new three-screen app opens in PowerApps Studio. 데이터에서 생성된 모든 앱에는 다음과 같은 동일한 화면 집합이 있습니다.All apps generated from data have the same set of screens:

  • 찾아보기 화면: 목록에서 가져온 데이터를 탐색, 정렬, 필터링 및 새로 고침을 수행하고, (+) 아이콘을 클릭하여 항목을 추가할 수 있습니다.The browse screen: where you browse, sort, filter, and refresh the data pulled in from the list, as well as add items by clicking the (+) icon.
  • 세부 정보 화면: 항목에 대한 세부 정보를 보고 항목을 삭제하거나 편집할 수 있습니다.The details screen: where you view more detail about an item, and can choose to delete or edit the item.
  • 편집/만들기 화면: 기존 항목을 편집하거나 새 항목을 만들 수 있습니다.The edit/create screen: where you edit an existing item or create a new one.

왼쪽 탐색 모음에서 오른쪽 위 모서리의 아이콘을 클릭하거나 탭하여 썸네일 보기로 전환합니다.In the left navigation bar, click or tap an icon in the upper-right corner to switch to the thumbnail view.

보기 토글

각 썸네일을 클릭하거나 탭하여 해당 화면의 컨트롤을 봅니다.Click or tap each thumbnail to view the controls on that screen.

생성된 앱

다음으로 앱을 더 자세히 살펴보고, 요구 사항에 더 부합하게 앱을 사용자 지정하겠습니다.Next we'll explore the app in more detail and then customize it to better suit our needs.

생성된 앱 탐색Explore a generated app

이 항목에서는 생성된 앱을 자세히 살펴보고 앱 동작을 정의하는 화면과 컨트롤을 검토합니다.In this topic, we look more closely at the generated app - reviewing the screens and controls that define the app's behavior. 세부 정보를 모두 다루지는 않겠지만 이 앱의 작동 방식에 대해 자세히 알아보면 앱을 직접 빌드할 수 있습니다.We won't go through all the details, but seeing more about how this app works will help you to build your own apps. 이후의 항목에서는 화면과 컨트롤을 사용하는 수식을 살펴보겠습니다.In a later topic, we'll look at the formulas that work with screens and controls.

미리 보기 모드에서 앱 실행Run the app in preview mode

오른쪽 위를 클릭하거나 탭하여Click or tap 앱 미리 보기 시작 화살표 앱을 실행합니다.in the top right to run the app. 앱을 탐색하면 엔터티의 데이터를 포함하고 있고 양호한 기본 환경을 제공하고 있음을 알 수 있습니다.If you navigate through the app, you see that it includes data from the entity and provides a good default experience.

미리 보기 모드에서 앱 실행

PowerApps 컨트롤 이해Understanding controls in PowerApps

컨트롤은 단순히 관련된 동작이 있는 UI 요소일 뿐입니다.A control is simply a UI element that has behaviors associated with it. PowerApps의 많은 컨트롤은 레이블, 텍스트 입력 상자, 드롭다운 목록, 탐색 요소 등 다른 앱에서 사용한 컨트롤과 동일합니다.Many controls in PowerApps are the same as controls that you've used in other apps: labels, text-input boxes, drop-down lists, navigation elements, and so on. 그러나 PowerApps에는 갤러리(요약 데이터 표시)와 양식(세부 데이터 표시 및 항목 만들기/편집 가능)과 같은 보다 전문화된 컨트롤이 있습니다.But PowerApps has more specialized controls like Galleries (which display summary data) and Forms (which display detail data and enable you to create and edit items). 또한 이미지, 카메라바코드와 같은 정말 멋진 컨트롤도 있습니다.And also some other really cool controls like Image, Camera, and Barcode. 사용할 수 있는 항목을 보려면 리본 메뉴에서 삽입을 클릭하거나 탭한 다음 텍스트~아이콘의 각 옵션을 차례로 클릭하거나 탭합니다.To see what's available, click or tap Insert on the ribbon, and then click or tap each of the options in turn, Text through Icons.

PowerApps Studio 리본 메뉴의 컨트롤 탭

찾아보기 화면 탐색Explore the browse screen

3개 앱 화면 각각에는 주 컨트롤과 몇 가지 추가 컨트롤이 있습니다.Each of the three app screens has a main control and some additional controls. 앱의 첫 번째 화면은 기본적으로 BrowseScreen1이라는 찾아보기 화면입니다.The first screen in the app is the browse screen, named BrowseScreen1 by default. 이 화면의 주 컨트롤은 BrowseGallery1이라는 갤러리입니다.The main control on this screen is a gallery named BrowseGallery1. BrowseGallery1에는 NextArrow1과 같은 다른 컨트롤(아이콘 컨트롤 - 클릭하거나 탭하면 세부 정보 화면으로 이동)이 포함되어 있습니다.BrowseGallery1 contains other controls, like NextArrow1 (an icon control - click or tap it to go to the details screen). IconNewItem1(아이콘 컨트롤 -클릭하거나 탭하면 편집/만들기 화면에서 항목을 만들 수 있음)과 같은 별도의 컨트롤도 화면에 있습니다.There are also separate controls on the screen, like IconNewItem1 (an icon control - click or tap it to create an item in the edit/create screen).

컨트롤이 있는 찾아보기 화면

PowerApps에는 다양한 갤러리 유형이 있으므로 앱의 레이아웃 요구 사항에 가장 적합한 갤러리 유형을 사용할 수 있습니다.PowerApps has a variety of gallery types so you can use the one that best suits your app's layout requirements. 이 섹션의 뒷부분에서 레이아웃을 제어하는 더 많은 방법을 보여 줍니다.You will see more ways to control layout later in this section.

PowerApps 갤러리 옵션

세부 정보 화면 탐색Explore the details screen

다음은 DetailScreen1이라는 기본적인 세부 정보 화면입니다.Next is the details screen, named DetailScreen1 by default. 이 화면의 주 컨트롤은 DetailForm1이라는 표시 양식입니다.The main control on this screen is a display form named DetailForm1. DetailForm1에는 DataCard1(카드 컨트롤 - 이 경우 질문 범주를 표시)과 같은 다른 컨트롤이 포함되어 있습니다.DetailForm1 contains other controls, like DataCard1 (a card control, which displays the question category in this case). IconEdit1(아이콘 컨트롤 -클릭하거나 탭하면 편집/만들기 화면에서 현재 항목을 편집할 수 있음)과 같은 별도의 컨트롤도 화면에 있습니다.There are also separate controls on the screen like IconEdit1 (an icon control - click or tap it to edit the current item on the edit/create screen).

컨트롤이 있는 세부 정보 화면

많은 갤러리 옵션이 있지만, 양식은 보다 직관적이며 편집 양식 또는 표시 양식 중 하나입니다.There are lots of gallery options, but forms are more straightforward - it's either an edit form or a display form.

PowerApps 양식 옵션

편집/만들기 화면 탐색Explore the edit/create screen

앱의 세 번째 화면은 EditScreen1이라는 기본적인 편집/만들기 화면입니다.The third screen in the app is the edit/create screen, named EditScreen1 by default. 이 화면의 주 컨트롤은 EditForm1이라는 편집 양식입니다.The main control on this screen is an edit form named EditForm1. EditForm1에는 DataCard8(카드 컨트롤 - 이 경우 질문 범주를 편집할 수 있음)과 같은 다른 컨트롤이 포함되어 있습니다.EditForm1 contains other controls, like DataCard8 (a card control, which allows you to edit the question category in this case). IconAccept1(아이콘 컨트롤 -클릭하거나 탭하면 편집/만들기 화면에서 변경 내용을 저장할 수 있음)과 같은 별도의 컨트롤도 화면에 있습니다.There are also separate controls on the screen like IconAccept1 (an icon control - click or tap it to save the changes you made on the edit/create screen).

컨트롤이 있는 편집 화면

이제 앱이 화면과 컨트롤로 구성되는 방법에 대해 알아보았으므로 다음 항목에서는 앱을 사용자 지정하는 방법에 대해 살펴보겠습니다.Now that you have a sense of how the app is composed of screens and controls, we'll look at how you customize the app in the next topic.

앱 사용자 지정Customize the app

이 섹션의 처음 두 항목에서 Common Data Service 엔터티에서 앱을 생성하고 이 앱을 탐색하여 3개 화면 앱을 구성하는 방법에 대해 더 잘 이해하게 되었습니다.In the first two topics in this section, you generated an app from a Common Data Service entity and explored the app to get a better understanding of how three screen apps are composed. PowerApps에서 생성한 앱은 유용하지만 생성된 앱을 사용자 지정하는 경우가 종종 있습니다.The app that PowerApps generated is useful, but you will often customize an app after it's generated. 이 항목에서는 앱의 찾아보기 화면에 대한 몇 가지 변경 사항을 단계별로 살펴보겠습니다.In this topic, we'll walk through some changes for the browse screen of the app. 모든 화면을 사용자 지정할 수 있지만, 하나에 집중하여 사용자 지정을 좀 더 깊이 있게 설명하려고 했습니다.You can customize any of the screens, but we wanted to focus on one and provide a bit more depth to the customizations. 엔터티, Excel 파일 또는 다른 원본에서 생성한 앱을 모두 가져와서 사용자 지정할 수 있는 방법을 확인하는 것이 좋습니다.We encourage you to take any app you generate - from an entity, an Excel file, or another source - and see how you can customize it. 실제로 이는 앱을 결합하는 방법을 배우는 가장 좋은 방법입니다.It really is the best way to learn how apps are put together.

PowerApps에서 앱을 생성할 때 사용할 레이아웃과 각 화면에 표시할 특정 필드를 결정했습니다.When PowerApps generated the app, it decided on a layout to use, and particular fields to show on each screen. 이 앱의 경우 상태 표시줄이 있는 갤러리 컨트롤을 선택해 보겠습니다(상태 표시줄을 바로 사용자 지정했음).For this app, let's choose a gallery control that has a status bar (we'll customize the status bar shortly). 오른쪽 창의 레이아웃 탭에서 원하는 레이아웃을 선택합니다.In the right-hand pane, on the Layout tab, select the layout you want. PowerApps에서 변경할 때 앱을 업데이트하기 때문에 결과가 바로 표시됩니다.You see the results right away because PowerApps updates the app as you make changes.

찾아보기 화면 레이아웃 변경

오른쪽의 기본 레이아웃을 사용하여 표시되는 필드를 변경합니다.With the right basic layout, now change the fields that are displayed. 첫 번째 항목에서 필드를 클릭하거나 탭한 다음 오른쪽 창에서 각 항목에 대해 표시되는 데이터를 변경합니다.Click or tap a field in the first item, then in the right-hand pane, change the data that is displayed for each item. 이는 엔터티의 각 항목에 대해 더 나은 요약을 제공합니다.This provides a better summary of each item in the entity.

찾아보기 화면 필드 변경

앱 테마 변경Change the app theme

PowerApps는 PowerPoint와 마찬가지로 앱에서 사용할 수 있는 테마 집합을 제공합니다.PowerApps provides a set of themes you can use in your app, much like PowerPoint. 다음 화면에서 모래 언덕 테마가 적용되었으며 간단한 로고가 앱에 붙여졌습니다.In the following screen, you see the Dune theme applied, and a simple logo that we pasted into the app. 이는 기본적인 변경 사항이지만 앱의 모양을 개선하기 위해 많은 작업을 수행할 수 있습니다.These are basic changes, but can do a lot to improve the appearance of your app.

테마 변경 및 로고 추가

수식을 사용하여 사례 상태 표시Use a formula to show the case status

PowerApps의 주요 이점 중 하나로서 기존 응용 프로그램 코드를 작성하지 않아도 되므로 개발자가 아니더라도 앱을 만들 수 있습니다.One of the major benefits of PowerApps is not having to write traditional application code - you don’t have to be a developer to create apps! 하지만 여전히 앱에서 논리를 표현하고 앱의 탐색, 필터링, 정렬 및 기타 기능을 제어할 수 있는 방법이 필요합니다.But you still need a way to express logic in an app and to control an app’s navigation, filtering, sorting, and other functionality. 이로 인해 수식이 도입되는 것입니다.This is where formulas come in.

Excel 수식을 사용한 적이 있으면 PowerApps에서 사용하는 방식이 익숙하게 느껴질 것입니다.If you have used Excel formulas, the approach that PowerApps takes should feel familiar. 사례가 해결되면 상태 표시줄을 녹색으로 표시하고 그렇지 않으면 빨간색으로 표시한다고 가정합니다.Suppose you want to show the status bar in green if a case is resolved, or in red otherwise. 이렇게 하려면 화면에서 상태 컨트롤을 선택한 다음 수식 입력줄에서 해당 컨트롤의 채우기 속성을 If(Status="Resolved", Color.Green, Color.Red) 수식으로 설정합니다.To do this, you select the status control on the screen, and then set the Fill property of that control to this formula in the formula bar: If(Status="Resolved", Color.Green, Color.Red). 이 수식이 Excel 수식과 비슷하지만 PowerApps 수식은 스프레드시트의 셀이 아니라 컨트롤과 기타 앱 요소를 나타냅니다.This is like an Excel formula, but PowerApps formulas refer to controls and other app elements rather than cells in a spreadsheet. 다음 이미지에서는 수식을 설정할 위치와 앱의 결과를 보여 줍니다.The following image shows where to set the formula, and the result in the app.

사례 상태를 표시하는 수식

날짜 기준 정렬 및 필터링Sort and filter based on date

찾아보기 화면에서 생성된 앱을 사용하여 사례를 검색하고 갤러리의 항목 목록을 정렬할 수 있습니다.On the browse screen, the generated app lets you search for cases and sort the list of items in the gallery. 검색 및 정렬 기능을 제거하여 날짜를 기준으로 한 사례를 표시하겠습니다.We're going to remove the search and sort functionality in favor of showing cases based on a date. 이러한 방법들을 결합할 수도 있지만, 여기서는 이 앱의 날짜 기준 방식에 집중하겠습니다.You could combine these methods, but we'll focus on the date-based approach for this app. 아래 이미지에서 추가한 다음 항목을 볼 수 있습니다.In the image below, you see the items we added:

  • 사용자가 수행할 작업을 알려주는 텍스트 레이블("사례 표시 기준 날짜(이후):"): 삽입 > 텍스트 > 레이블로 차례로 이동하여 채우기 수식을 흰색으로 변경합니다.A text label ("Show cases after:") so users know what to do: Insert > Text > Label; change the Fill formula to White.
  • 날짜 선택: 삽입 > 컨트롤 > 날짜 선택으로 차례로 이동합니다.A date picker: Insert > Controls > Date picker.
  • 찾아보기 갤러리 항목 속성을 날짜 선택에 연결하는 수식: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime)A formula that connects the browse gallery Items property to the date picker: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).

날짜가 10월 20일로 설정되고 앱에서 이 날짜 이후에 만든 사례를 보여 주는 결과가 표시됩니다.The date is set to Oct 20 and you see the result that the app is showing the cases created after this date. 기본적으로 엔터티의 모든 사례에는 마지막으로 수정한 동일한 날짜가 있습니다.Note that by default, all cases in the entity have the same last modified date. 필터를 하나 이상 업데이트하여 필터링 작동 방식을 확인할 수 있습니다.You can update one or more to see how filtering works. 엔터티 데이터 작업은 이 과정의 뒷부분에서 다룹니다.We cover working with entity data later in the course.

날짜 선택을 사용하도록 업데이트된 앱

총 사례 수 표시Show total number of cases

여기서 많은 부분을 다루고 있지만 사용자 지정이 거의 완료되었습니다.We're covering a lot of ground here, but we're almost done with the customizations. 이 항목에서 마지막으로 수행할 작업은 총 사례 수 및 날짜 기준 필터와 일치하는 사례 수의 두 가지 숫자를 보여 주는 레이블을 추가하는 것입니다.The last thing we'll do in this topic is add labels that show two numbers: the total number of cases and the number of cases that match our date-based filter.

총 사례 수 및 필터링된 사례 수 표시

동영상에서 두 개의 레이블을 추가하는 방법에 대해 자세히 설명하지만 다음은 각 레이블에 대해 설정한 속성의 기본 사항입니다.The video goes into detail about how to add the two labels, but here's the basics on which properties we set for each label:

  • 맞춤 = CenterAlign = Center
  • 너비 = Parent.Width/2Width = Parent.Width/2
  • 왼쪽 상자 텍스트 = "Total cases: " & CountRows(Case) -Left box Text = "Total cases: " & CountRows(Case). 여기에는 엔터티에 있는 모든 사례가 포함됩니다.This includes all cases that are in the entity.
  • 오른쪽 상자 텍스트 = Filtered cases: " & CountRows(BrowseGallery1.AllItems) -Right box Text = Filtered cases: " & CountRows(BrowseGallery1.AllItems). 여기에는 날짜 기준 필터와 일치하는 사례만 포함됩니다.This includes only those cases that match the date-based filter.

예, 이제 앱 사용자 지정을 마무리합니다. 다음 항목에서는 데이터 원본과 흐름을 추가하고 완성된 앱을 보여 줍니다.OK, that wraps up the app customizations - in the next topic we'll add a data source, and a flow, and show you the finished app.

데이터 원본 및 흐름 추가Add a data source and flow

지금까지 이 섹션에서는 Common Data Service에서 사례 엔터티를 기반으로 하여 앱을 생성하고, 탐색하여 결합 방법을 확인하고, 여러 가지 방식으로 사용자 지정했습니다.So far in this section, we have generated an app based on the Case entity from the Common Data Service, explored the app to see how it's put together, and customized the app in several ways. 이 섹션의 마지막 항목에서는 다른 표준 엔터티를 가져오고 Microsoft Flow를 사용하여 전자 메일을 보냅니다.In the final topic for this section, we will bring in another standard entity, and use Microsoft Flow to send an email. 사례를 업데이트한 경우 앱에서 해당 사례를 연 사람에게 알리도록 흐름을 트리거합니다.The app will trigger a flow so that the person who opened a case is notified when the case is updated. 이 항목에서 특정 시나리오를 완료하지만 다양한 종류의 앱에 적용할 수 있는 기술을 습득하게 됩니다.We're completing a particular scenario in this topic, but the skills you learn are applicable across many kinds of apps. 엔터티로 시작해 보겠습니다.Let's get started with the entities.

엔터티 관계 검토Review entity relationships

연락처 엔터티를 곧 추가하겠습니다. 하지만 사례와 연락처 엔터티가 서로 어떻게 관계되는지 먼저 살펴보겠습니다.We'll add the Contact entity shortly, but first we'll look at how the Case and Contact entities relate to each other. 사례 엔터티에서 필드 중 하나가 CurrentContact이고 조회 데이터 형식임을 알 수 있습니다.In the Case entity, you see that one of the fields is CurrentContact, with a data type of Lookup. 즉 이 필드는 다른 테이블과의 관계에서 사용됩니다.This means that this field is used in a relationship with another table.

사례 엔터티 필드

관계 탭에서 관련 엔터티가 연락처임을 알 수 있습니다.On the Relationships tab, you see that the related entity is Contact. 이 항목의 뒷부분에서 이 관계를 사용할 것이므로 이 점에 유의해야 합니다.Keep that in mind because we will use this relationship later in this topic.

사례 엔터티 관계

앱에 엔터티 추가Add an entity to the app

데이터 원본은 PowerApps에 간단하게 추가할 수 있습니다.Adding a data source in PowerApps is straightforward. 오른쪽 창에서 데이터 원본, 데이터 원본 추가를 차례로 클릭하거나 탭합니다.In the right-hand pane, click or tap Data sources, then Add data source. 이 경우 Common Data Service 연결을 선택하고 연락처 엔터티를 선택합니다.In this case, then choose the Common Data Service connection and select the Contact entity. 연결을 클릭하거나 탭하면 항목을 앱에 추가합니다.After you click or tap Connect, the entity is added to the app.

연락처 엔터티 추가

이 예에서는 다른 엔터티의 데이터를 추가하지만 앱에서 여러 원본의 데이터를 결합할 수 있습니다.Note that in this example, we're adding data from another entity, but you can combine data from many sources in your apps.

연락처 정보 조회Look up contact information

이제 앱에서 연락처 엔터티 데이터에 액세스할 수 있으므로 이 데이터를 사용해 볼 때입니다.Now that we have access to the Contact entity data in our app, it's time to put it to use. 소개에서 언급했듯이 사례가 업데이트되면 전자 메일을 보내려고 합니다.As mentioned in the introduction, we want to send an email when a case is updated. 이렇게 하려면 두 가지 수식과 흐름을 사용합니다.We will use two formulas and a flow to accomplish this. 첫 번째 수식은 편집 화면, 특히 저장 단추의 OnSelect 속성을 위한 것입니다.The first formula is for the edit screen, specifically the OnSelect property of the save button.

앱 편집 화면

기본적으로 이 단추는 양식에서 데이터를 편집할 때 SubmitForm(EditForm1) 수식을 사용하여 업데이트를 제출합니다.By default, this button uses the formula SubmitForm(EditForm1) to submit the update when a user edits data in the form. 수식에 추가하여 현재 사례를 연 사람의 연락처 정보를 먼저 조회한 다음 해당 정보를 앱에 로컬로 저장해야 합니다.We need to add to the formula so that it first looks up the contact information for the person who opened the current case, and then stores that information locally in the app:

UpdateContext({contact:LookUp(Contact, ContactId=BrowseGallery1.Selected.CurrentContact.ContactId)}); SubmitForm(EditForm1)

예, 조금 복잡하지만 James는 비디오 재생의 2분 4초 시점에서 이 수식을 보다 자세히 설명하고 있습니다.Yes, it's a little complex, but James does a great job of explaining this formula in more detail, starting at 2:04 in the video.

앱에서 흐름 트리거Trigger a flow from the app

이제 각 사례에 대한 연락처가 누구인지를 알게 되었으므로 전자 메일을 보낼 수 있습니다.Now that we know who the contact is for each case, we can send an email to them. 앱에서 전자 메일을 직접 보낼 수도 있지만 이 예에서는 앱에서 흐름을 트리거하는 방법을 보여 줍니다.We could send an email directly from the app, but for this example we'll show you how to trigger a flow from the app. 흐름은 가져오기와 같이 매우 간단하게 앱에서 작업을 기반으로 하여 전자 메일을 보냅니다.Here's the flow, which is as simple as it gets: send an email based on an action in an app. 흐름에 대한 자세한 내용은 여기서 다루지 않겠지만 완전한 Microsoft Flow 학습 도우미가 준비되어 있습니다.We won't get into more detail on flows here, but there is a whole Guided Learning series for Microsoft Flow.

전자 메일을 보내는 흐름

앱으로 돌아가서 이벤트에 따라 흐름을 호출해야 합니다.Back in the app, we need to call the flow based on an event. 편집 양식의 OnSuccess 속성을 사용하므로 편집이 성공하면 흐름이 트리거됩니다.We'll use the OnSuccess property of the edit form, so the flow is triggered when the edit succeeds. 편집 양식을 클릭하거나 탭한 다음 리본 메뉴에서 작업 > 흐름을 차례로 클릭하거나 탭합니다.Click or tap the edit form, then on the ribbon click or tap Action > Flows. 사용할 흐름을 선택합니다.Select the flow you want to use.

전자 메일을 보내는 흐름

이제 흐름이 편집 양식의 OnSuccess 이벤트와 연결되며 전자 메일에 대한 연락처를 참조할 수 있습니다.The flow is now associated with the OnSuccess event of the edit form, and we can refer to the contact for the email. 다음 수식은 사례를 연 사람의 전자 메일 주소, 제목 줄 및 전자 메일 본문을 사용하여 흐름을 호출합니다.The following formula calls the flow with the email address of the person who opened the case, as well as a subject line and the body of the email.

CaseResolvedEmailConfirmation.Run(contact.EmailPrimary, "Your case has been updated", "Check it out")

데이터 원본을 앱에 추가하고 전자 메일을 보내는 흐름을 트리거하는 수식입니다.That's it for adding a data source to the app, and triggering a flow that sends an email. 아직 이 섹션에서 비디오를 보지 않았다면 그렇게 해보는 것이 좋습니다.If you haven't watched the videos in this section already, we encourage you to do it. 이 비디오는 신속히 안내하면서 다양한 항목에 대해 자세히 알려줍니다.They fill in lots of the details that we've moved through quickly in the topics.

요약Wrapping it all up

이제 이 섹션의 끝에 있습니다.This brings us to the end of this section. 즐기면서 많이 알게 되었기를 바랍니다.We hope you've enjoyed it and learned a ton. 엔터티에서 기본 앱을 생성하기 시작했으며, 엔터티를 결합하는 방식을 이해하기 위해 앱을 조금 살펴보았습니다.We started out generating a basic app from an entity, and explored the app a little to understand how it's put together. 앱 사용자 지정에 많은 시간을 들이고, 데이터 원본을 추가하고, 흐름을 트리거하는 방법을 확인했습니다.We spent a good deal of time on customizing the app, then added a data source and saw how to trigger a flow. 이 섹션에서는 특정 사례 관리 앱을 빌드했지만, 여기서 습득한 기술은 다양한 종류의 앱에 적용할 수 있습니다.We built out a specific case management app in this section, but the skills you learned could be applied to many types of apps. 이 섹션의 시작 부분에서 언급했듯이 더 복잡한 사례 관리 앱을 자세히 알아보려면 Windows용 PowerApps Studio에서 사용할 수 있는 템플릿을 확인해 보세요.As we mentioned at the beginning of this section - if you want to dig into a more complex case management app, be sure to check out the template that's available in PowerApps Studio for Windows.

다음으로 앱 관리로 이동합니다.Next up we'll move into managing apps. 관리 섹션에서는 앱을 공유하고 버전을 지정하는 방법을 보여 주고 앱, 데이터 및 기타 리소스의 컨테이너인 환경을 소개합니다.The management section shows you how to share and version apps, and introduces environments, which are containers for apps, data, and other resources.


You've completed the Creating an app from the Common Data Service section of Microsoft PowerApps Guided Learning.

다음 방법을 배웠습니다.

다음 자습서

Managing apps


  • Michael Blythe
  • olprod