LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

오늘 자습서에서는 LuckyTemplates 및 SSAS 또는 SQL 서버 분석 서비스 내에서 한 열을 다른 열로 정렬하는 프로세스를 자동화하는 방법을 보여드리겠습니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.

이 예에는 여러 열이 있는 Dates 테이블이 있습니다. 일부 열은 숨길 정수 부분입니다. 일부 열은 최종 사용자에게 보여줄 문자열 부분입니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

따라서 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)이 될 새 프로젝트를 만들어야 합니다 . 다음을 클릭하여 선택하겠습니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

그런 다음 프로젝트에 이름을 지정할 수 있습니다. 이 SortBy 를 호출 하고 만들기를 클릭 하겠습니다 .

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

이제 코드가 있음을 알 수 있습니다. 코드가 작동하면 테이블 형식 편집기에 코드를 복사하여 붙여넣기만 하면 됩니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

그러나 코드가 Visual Studio 내에서 작동하려면 라이브러리에 대한 참조를 설정해야 합니다. 이를 위해 참조를 클릭하고 브라우저 내에서 NuGet 패키지 관리 옵션을 선택하기 만 하면 됩니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

찾아보기 옵션 내에서 분석 서비스를 작성해야 합니다 . 그런 다음 사용 가능한 옵션에서 두 번째 옵션을 선택하고 설치를 클릭해야 합니다. 설치가 시작되고 설치가 완료되는 데 몇 초가 걸립니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

다음으로 코드 내에 Using Microsoft.AnalysisServices.Tabular를 작성한 다음 세미콜론을 작성해야 합니다. 우리는 서버 객체를 생성할 것이므로 간단히 Server 를 작성할 수 있고 서버 객체의 이름은 Server 자체가 될 것이며 New Server 를 작성할 것입니다 .

그래서 기본적으로 우리는 메모리 안에 새로운 객체를 생성하고 있습니다. 그리고 해당 서버를 LuckyTemplates 파일에 연결하기 위해 서버 개체의 메서드를 사용할 것입니다. 따라서 server.Connect 를 작성하고 여기에서 LuckyTemplates 내부의 AnalysisServices가 수신 대기 중인 포트 번호를 제공합니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

해당 포트 번호를 찾기 위해 외부 도구로 이동하여 DAX Studio 를 클릭하면 하단에서 로컬 호스트를 찾을 수 있습니다. 이는 LuckyTemplates 내부에 있는 SQL 서버 분석 서비스가 LuckyTemplates 또는 기타 외부 도구를 통해 전송하는 변경 내용을 수신하는 코드 번호입니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

서버는 하나이지만 SSAS의 경우에도 서버는 여러 모델을 가질 수 있습니다. 하지만 현재 LuckyTemplates에는 하나의 모델만 있습니다. 그래서 우리는 그 모델을 선언할 것입니다. 여기에 Model is equal to (=) server.Databases 를 작성 하고 해당 서버 내부의 첫 번째 데이터베이스에 액세스하므로 .Model 을 작성할 것입니다 .

이제 코드의 해당 부분이 작동하는지 테스트해 보겠습니다. 이를 위해 해당 데이터 모델 내에 있는 모든 테이블 목록을 인쇄하기만 하면 됩니다. 따라서 각 (model.Tables의 Table t) 에 대해 대괄호를 열고 Enter 키를 누릅니다.

그런 다음 Console.WriteLine (t.Name) 을 입력합니다 . 테이블의 이름을 인쇄한 후 창이 자동으로 닫히지 않도록 하기 위해 Console.ReadLine , 여는 괄호, 닫는 괄호, 세미콜론을 씁니다 . 이제 시작 옵션을 클릭하고 실행될 때까지 기다리기만 하면 됩니다 .

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

데이터 모델 내부에 있는 테이블의 이름을 인쇄할 수 있음을 알 수 있습니다. 날짜, 제품, 고객 및 상점이 있습니다. 그러면 우리가 만든 설정이 작동하는지 확인할 수 있습니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

이제 우리는 실제로 코드의 핵심 부분으로 들어가서 해당 열을 정수로 정렬하는 데 도움이 되는 코드 생성을 시작할 수 있습니다.

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 이라고 말할 수 있습니다 .

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

F5 키를 누르면 열에 액세스할 수 있습니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

이제 더 진행하고 더 많은 코드를 작성할 수 있습니다.

세 개의 열을 더 포함할 튜플 목록을 만들 것입니다. 열 중 하나가 대상 열이 됩니다. 두 번째 열은 대상 열을 정렬하려는 열이고 세 번째 열은 실제로 정렬하는 열을 숨길 것인지 여부에 관계없이 단순히 참 또는 거짓을 유지합니다.

달력 연도 열을 달력 연도 번호로 정렬한다고 가정해 보겠습니다. 첫 번째 열에는 달력 연도가 포함되고 두 번째 열은 달력 연도 번호에 대한 것이며 세 번째 열은 정렬을 완료한 후 달력 연도 열을 숨길지 여부를 결정합니다.

이를 위해 Visual Studio로 돌아가 새 변수를 만들겠습니다. 원하는 대로 이름을 지정할 수 있습니다. 이 예에서는 이를 colOperations 라고 합니다 . 다음으로 new 를 작성 하고 목록을 작성하고 열 유형(문자열, 문자열 및 부울)을 작성합니다. 그런 다음 튜플을 만듭니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

따라서 기본적으로 우리는 단순히 세 개의 열 목록을 만들고 세 개의 열에 대해 두 개의 행을 제공했습니다. 이제 foreach 루프 내에서 for 루프를 시작할 것입니다 . 따라서 기본적으로 우리가 말하는 것은 각 반복에서 i 로 시작하는 변수를 선언하는 것입니다 . i가 colOperations.Count보다 작으면 간단히 증가시킵니다 .

다음으로 IF 문을 작성하겠습니다 . c.Name 현재 있는 열의 이름에 속합니다. 그런 다음 colOperations i가 있습니다 . i 기본적으로 하나의 특정 행에 액세스할 수 있도록 합니다. 그리고 .Item1 을 작성하면 첫 번째 열, 두 번째 열 또는 세 번째 열에 액세스할 수 있습니다.

따라서 먼저 Item1 열을 사용할 것입니다 . 이것이 사실이라면 단순히 c.SortByColumn이 t.Columns 와 같아야 한다고 작성합니다 . t는 테이블 객체임을 기억하십시오. 그런 다음 해당 특정 테이블의 열에 액세스합니다. 우리는 현재 열 작업에 있는 행인 colOperations 를 원하며 열은 기본적으로 Item2 개체입니다.

마지막으로 정렬을 적용하는 특정 열을 숨기기 위해 마지막 코드 한 줄을 작성합니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

이제 테이블 형식 모델에 대해 실행할 기본 코드를 작성했으므로 var colOperations에서 코드를 복사하여 테이블 형식 편집기로 가져간 다음 동일한 코드를 실행할 수 있습니다.

테이블 형식 편집기를 사용하여 LuckyTemplates 및 SSAS에서 열 정렬

우리는 서버나 모델 개체를 사용하지 않을 것입니다. 뒤에서 테이블 형식 편집기가 연결해야 하는 LuckyTemplates 모델 또는 분석 서비스 모델을 자동으로 알기 때문입니다. 따라서 해당 모델에 연결하려는 방법을 식별하기 위한 테이블 형식 편집기 의 작업이 이미 있기 때문에 해당 변수를 사용할 필요가 없습니다 .

LuckyTemplates로 돌아가서 Tabular Editor 3 또는 Tabular Editor 2를 시작합니다. 원하는 것을 사용할 수 있습니다. 이 경우 Tabular Editor 3으로 이동하겠습니다.

파일 탭으로 이동하여 새 C# 코드를 클릭하고 속성 옵션을 닫습니다. 그런 다음 여기에 코드를 붙여넣을 수 있습니다. 우리가 확인해야 할 유일한 것은 모델 변수를 사용하는 대신 모델 객체를 사용하는 것 입니다 . 따라서 대문자 M을 사용 하고 해당 코드를 실행해 봅시다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

이제 스크립트가 성공적으로 실행되었고 세 가지 모델 변경 사항이 표시되었으므로 변경 사항을 데이터 모델에 다시 적용할 것입니다. 해당 열에 적용한 내용을 모두 저장합니다.

LuckyTemplates로 돌아가서 월 번호가 숨겨져 있는 것을 볼 수 있습니다. 월 열을 클릭하고 열 도구 및 열 정렬 로 이동하면 특정 열이 월 번호로 정렬된 것을 볼 수 있습니다. 역년 월 숫자도 마찬가지입니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬

Calendar Year는 해당 C# 코드 내에 해당 열이 없기 때문에 자체적으로 정렬됩니다. 따라서 우리가 할 수 있는 일은 테이블 형식 편집기를 다시 시작하고 다른 튜플을 만드는 것입니다. 그런 다음 다시 한 번 해당 스크립트를 실행합니다.

LuckyTemplates 및 SSAS – TE3 및 C#을 사용하여 열 정렬


표 형식 편집기 LuckyTemplates: 버전 3 검토 및 자습서
LuckyTemplates 표 형식 편집기 3: 스크립트로 자동화
DAX 코딩 내부 표 형식 편집기 3

결론

및 SSAS 에서 한 열을 다른 열로 정렬하는 프로세스를 자동화하는 것이 얼마나 쉬운지 말입니다 . 이것은 Dates 테이블 내에서 해당 작업을 수행하는 방법에 대한 매우 기본적인 예입니다. 그러나 더 많은 열을 추가한 다음 다른 테이블을 확인하여 이 목록을 보강할 수 있습니다.

이렇게 하면 반복해서 만들려는 동일한 모델에 대해 이러한 열을 정렬하는 데 소비해야 하는 시간을 줄일 수 있습니다.

도움이 되었기를 바랍니다. 질문이 있으시면 의견 섹션에 알려주십시오.


파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것