SharePoint의 계산된 열 | 개요
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
오늘 자습서에서는 LuckyTemplates 및 SSAS 또는 SQL 서버 분석 서비스 내에서 한 열을 다른 열로 정렬하는 프로세스를 자동화하는 방법을 보여드리겠습니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.
이 예에는 여러 열이 있는 Dates 테이블이 있습니다. 일부 열은 숨길 정수 부분입니다. 일부 열은 최종 사용자에게 보여줄 문자열 부분입니다.
따라서 Calendar Year, Calendar Year Month 및 Month 열이 있습니다. 우리가 원하는 것은 정수 부분을 기준으로 이 세 열의 정렬을 자동화하는 것입니다. 달력 연도를 달력 연도 번호로, 달력 연도 월을 달력 연도 월 번호로, 월을 월 번호로 정렬하겠습니다.
그러나 우리는 하나씩 그렇게 하지 않을 것입니다. 이 특정 테이블에 대해 자동으로 정렬하는 스크립트를 실행합니다. 여러 테이블에 대해 여러 열이 있는 경우 해당 테이블 집합에서 해당 스크립트를 사용할 수 있습니다.
해당 C# 코드를 작성하기 위해 Tabular Editor를 사용할 예정 이지만 현재로서는 Tabular Editor에 C# 언어용 IntelliSense가 없습니다. 더 쉽게 하기 위해 C# 언어용 IntelliSense가 있고 VS 코드를 사용할 수도 있는 VS( Visual Studio )를 사용합니다 .
목차
C#을 사용하여 LuckyTemplates 및 SSAS에서 열 정렬
먼저 Visual Studio 내에서 C# 언어용 콘솔 앱(.Net Framework)이 될 새 프로젝트를 만들어야 합니다 . 다음을 클릭하여 선택하겠습니다.
그런 다음 프로젝트에 이름을 지정할 수 있습니다. 이 SortBy 를 호출 하고 만들기를 클릭 하겠습니다 .
이제 코드가 있음을 알 수 있습니다. 코드가 작동하면 테이블 형식 편집기에 코드를 복사하여 붙여넣기만 하면 됩니다.
그러나 코드가 Visual Studio 내에서 작동하려면 라이브러리에 대한 참조를 설정해야 합니다. 이를 위해 참조를 클릭하고 브라우저 내에서 NuGet 패키지 관리 옵션을 선택하기 만 하면 됩니다.
찾아보기 옵션 내에서 분석 서비스를 작성해야 합니다 . 그런 다음 사용 가능한 옵션에서 두 번째 옵션을 선택하고 설치를 클릭해야 합니다. 설치가 시작되고 설치가 완료되는 데 몇 초가 걸립니다.
다음으로 코드 내에 Using Microsoft.AnalysisServices.Tabular를 작성한 다음 세미콜론을 작성해야 합니다. 우리는 서버 객체를 생성할 것이므로 간단히 Server 를 작성할 수 있고 서버 객체의 이름은 Server 자체가 될 것이며 New Server 를 작성할 것입니다 .
그래서 기본적으로 우리는 메모리 안에 새로운 객체를 생성하고 있습니다. 그리고 해당 서버를 LuckyTemplates 파일에 연결하기 위해 서버 개체의 메서드를 사용할 것입니다. 따라서 server.Connect 를 작성하고 여기에서 LuckyTemplates 내부의 AnalysisServices가 수신 대기 중인 포트 번호를 제공합니다.
해당 포트 번호를 찾기 위해 외부 도구로 이동하여 DAX Studio 를 클릭하면 하단에서 로컬 호스트를 찾을 수 있습니다. 이는 LuckyTemplates 내부에 있는 SQL 서버 분석 서비스가 LuckyTemplates 또는 기타 외부 도구를 통해 전송하는 변경 내용을 수신하는 코드 번호입니다.
서버는 하나이지만 SSAS의 경우에도 서버는 여러 모델을 가질 수 있습니다. 하지만 현재 LuckyTemplates에는 하나의 모델만 있습니다. 그래서 우리는 그 모델을 선언할 것입니다. 여기에 Model is equal to (=) server.Databases 를 작성 하고 해당 서버 내부의 첫 번째 데이터베이스에 액세스하므로 .Model 을 작성할 것입니다 .
이제 코드의 해당 부분이 작동하는지 테스트해 보겠습니다. 이를 위해 해당 데이터 모델 내에 있는 모든 테이블 목록을 인쇄하기만 하면 됩니다. 따라서 각 (model.Tables의 Table t) 에 대해 대괄호를 열고 Enter 키를 누릅니다.
그런 다음 Console.WriteLine (t.Name) 을 입력합니다 . 테이블의 이름을 인쇄한 후 창이 자동으로 닫히지 않도록 하기 위해 Console.ReadLine , 여는 괄호, 닫는 괄호, 세미콜론을 씁니다 . 이제 시작 옵션을 클릭하고 실행될 때까지 기다리기만 하면 됩니다 .
데이터 모델 내부에 있는 테이블의 이름을 인쇄할 수 있음을 알 수 있습니다. 날짜, 제품, 고객 및 상점이 있습니다. 그러면 우리가 만든 설정이 작동하는지 확인할 수 있습니다.
이제 우리는 실제로 코드의 핵심 부분으로 들어가서 해당 열을 정수로 정렬하는 데 도움이 되는 코드 생성을 시작할 수 있습니다.
ForEach 부분 에서 생성한 모든 것을 제거해 보겠습니다 . 우리는 서버와 모델을 그대로 유지할 것입니다. 반복할 테이블의 이름을 담을 변수를 선언해 봅시다. 이름을 DatesTable 로 지정 하고 테이블 이름은 기본적으로 Dates 가 됩니다 .
다음으로 model.Tables 에 foreach var t 가 있고 where 절을 사용하여 T 가 t.Name 으로 가는 곳이 DatesTable 과 같아야 한다고 말할 수 있습니다 . 현재 DatesTable에서 반복하는 경우 해당 DatesTable의 모든 열에 대해 또 다른 루프를 시작합니다. 이를 위해 t.Columns에 foreach var c를 작성할 수 있습니다 .
DatesTable에 대해서만 반복하고 DatesTable의 모든 열에 액세스할 수 있는지 테스트하려면 간단히 Console.WriteLine 을 인쇄하고 c.Name 이라고 말할 수 있습니다 .
F5 키를 누르면 열에 액세스할 수 있습니다.
이제 더 진행하고 더 많은 코드를 작성할 수 있습니다.
세 개의 열을 더 포함할 튜플 목록을 만들 것입니다. 열 중 하나가 대상 열이 됩니다. 두 번째 열은 대상 열을 정렬하려는 열이고 세 번째 열은 실제로 정렬하는 열을 숨길 것인지 여부에 관계없이 단순히 참 또는 거짓을 유지합니다.
달력 연도 열을 달력 연도 번호로 정렬한다고 가정해 보겠습니다. 첫 번째 열에는 달력 연도가 포함되고 두 번째 열은 달력 연도 번호에 대한 것이며 세 번째 열은 정렬을 완료한 후 달력 연도 열을 숨길지 여부를 결정합니다.
이를 위해 Visual Studio로 돌아가 새 변수를 만들겠습니다. 원하는 대로 이름을 지정할 수 있습니다. 이 예에서는 이를 colOperations 라고 합니다 . 다음으로 new 를 작성 하고 목록을 작성하고 열 유형(문자열, 문자열 및 부울)을 작성합니다. 그런 다음 튜플을 만듭니다.
따라서 기본적으로 우리는 단순히 세 개의 열 목록을 만들고 세 개의 열에 대해 두 개의 행을 제공했습니다. 이제 foreach 루프 내에서 for 루프를 시작할 것입니다 . 따라서 기본적으로 우리가 말하는 것은 각 반복에서 i 로 시작하는 변수를 선언하는 것입니다 . i가 colOperations.Count보다 작으면 간단히 증가시킵니다 .
다음으로 IF 문을 작성하겠습니다 . c.Name 은 현재 있는 열의 이름에 속합니다. 그런 다음 colOperations i가 있습니다 . i 는 기본적으로 하나의 특정 행에 액세스할 수 있도록 합니다. 그리고 .Item1 을 작성하면 첫 번째 열, 두 번째 열 또는 세 번째 열에 액세스할 수 있습니다.
따라서 먼저 Item1 열을 사용할 것입니다 . 이것이 사실이라면 단순히 c.SortByColumn이 t.Columns 와 같아야 한다고 작성합니다 . t는 테이블 객체임을 기억하십시오. 그런 다음 해당 특정 테이블의 열에 액세스합니다. 우리는 현재 열 작업에 있는 행인 colOperations 를 원하며 열은 기본적으로 Item2 개체입니다.
마지막으로 정렬을 적용하는 특정 열을 숨기기 위해 마지막 코드 한 줄을 작성합니다.
이제 테이블 형식 모델에 대해 실행할 기본 코드를 작성했으므로 var colOperations에서 코드를 복사하여 테이블 형식 편집기로 가져간 다음 동일한 코드를 실행할 수 있습니다.
테이블 형식 편집기를 사용하여 LuckyTemplates 및 SSAS에서 열 정렬
우리는 서버나 모델 개체를 사용하지 않을 것입니다. 뒤에서 테이블 형식 편집기가 연결해야 하는 LuckyTemplates 모델 또는 분석 서비스 모델을 자동으로 알기 때문입니다. 따라서 해당 모델에 연결하려는 방법을 식별하기 위한 테이블 형식 편집기 의 작업이 이미 있기 때문에 해당 변수를 사용할 필요가 없습니다 .
LuckyTemplates로 돌아가서 Tabular Editor 3 또는 Tabular Editor 2를 시작합니다. 원하는 것을 사용할 수 있습니다. 이 경우 Tabular Editor 3으로 이동하겠습니다.
파일 탭으로 이동하여 새 C# 코드를 클릭하고 속성 옵션을 닫습니다. 그런 다음 여기에 코드를 붙여넣을 수 있습니다. 우리가 확인해야 할 유일한 것은 모델 변수를 사용하는 대신 모델 객체를 사용하는 것 입니다 . 따라서 대문자 M을 사용 하고 해당 코드를 실행해 봅시다.
이제 스크립트가 성공적으로 실행되었고 세 가지 모델 변경 사항이 표시되었으므로 변경 사항을 데이터 모델에 다시 적용할 것입니다. 해당 열에 적용한 내용을 모두 저장합니다.
LuckyTemplates로 돌아가서 월 번호가 숨겨져 있는 것을 볼 수 있습니다. 월 열을 클릭하고 열 도구 및 열 정렬 로 이동하면 특정 열이 월 번호로 정렬된 것을 볼 수 있습니다. 역년 월 숫자도 마찬가지입니다.
Calendar Year는 해당 C# 코드 내에 해당 열이 없기 때문에 자체적으로 정렬됩니다. 따라서 우리가 할 수 있는 일은 테이블 형식 편집기를 다시 시작하고 다른 튜플을 만드는 것입니다. 그런 다음 다시 한 번 해당 스크립트를 실행합니다.
표 형식 편집기 LuckyTemplates: 버전 3 검토 및 자습서
LuckyTemplates 표 형식 편집기 3: 스크립트로 자동화
DAX 코딩 내부 표 형식 편집기 3
결론
및 SSAS 에서 한 열을 다른 열로 정렬하는 프로세스를 자동화하는 것이 얼마나 쉬운지 말입니다 . 이것은 Dates 테이블 내에서 해당 작업을 수행하는 방법에 대한 매우 기본적인 예입니다. 그러나 더 많은 열을 추가한 다음 다른 테이블을 확인하여 이 목록을 보강할 수 있습니다.
이렇게 하면 반복해서 만들려는 동일한 모델에 대해 이러한 열을 정렬하는 데 소비해야 하는 시간을 줄일 수 있습니다.
도움이 되었기를 바랍니다. 질문이 있으시면 의견 섹션에 알려주십시오.
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
컬렉션 변수를 사용하여 Power Apps에서 변수 만드는 방법 및 유용한 팁에 대해 알아보세요.
Microsoft Flow HTTP 트리거가 수행할 수 있는 작업과 Microsoft Power Automate의 예를 사용하여 이를 사용하는 방법을 알아보고 이해하십시오!
Power Automate 흐름 및 용도에 대해 자세히 알아보세요. 다양한 작업 및 시나리오에 사용할 수 있는 다양한 유형의 흐름에 대해 설명합니다.
조건이 충족되지 않는 경우 흐름에서 작업을 종료하는 Power Automate 종료 작업 컨트롤을 올바르게 사용하는 방법을 알아봅니다.
PowerApps 실행 기능에 대해 자세히 알아보고 자신의 앱에서 바로 웹사이트, 전화, 이메일 및 기타 앱과 같은 기타 서비스를 실행하십시오.
타사 애플리케이션 통합과 관련하여 Power Automate의 HTTP 요청이 작동하는 방식을 배우고 이해합니다.
Power Automate Desktop에서 Send Mouse Click을 사용하는 방법을 알아보고 이것이 어떤 이점을 제공하고 흐름 성능을 개선하는지 알아보십시오.
PowerApps 변수의 작동 방식, 다양한 종류, 각 변수가 앱에 기여할 수 있는 사항을 알아보세요.
이 자습서에서는 Power Automate를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.