파이썬에서 자기란 무엇인가: 실제 사례
파이썬에서 자기란 무엇인가: 실제 사례
LuckyTemplates 가상 테이블은 제가 개인적으로 가장 좋아하는 DAX 주제입니다. DAX의 모든 기능을 잠금 해제하는 열쇠입니다. 가상 테이블은 LuckyTemplates 내에서 완전히 동적인 유일한 유형의 테이블이며 측정 내에서 가상 테이블 기술을 적용해야만 해결할 수 있는 문제가 있습니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.
이 자습서에서는 Power Bi 가상 테이블 내에서 일어나는 일을 이해하고 디버깅하는 데 실제로 도움이 된 몇 년 동안 축적한 상위 5가지 팁과 요령을 공유할 것입니다.
에서 가져온 것으로 산업 안전 분야에서 일하는 Dave C라는 회원이 제공한 것입니다. Dave는 일련의 안전 점수를 가지고 있었고 최고 점수가 10이 되도록 정상화한 다음 해당 목록에서 N번째를 동적으로 제시하려고 했습니다.
처음에 우리는 간단한 측정을 통해 이를 수행하는 것을 생각했지만 나중에 그의 정규화된 값이 많이 연결되어 있음을 깨달았습니다. 예를 들어 목록에서 7번째 항목을 원하는 경우 RANKX에 7번째 항목이 없을 것입니다. 필터 조건에서 이를 쉽게 제거할 수 있는 방법은 없습니다. 그래서 우리는 항상 n번째 숫자를 카운트다운하도록 기반 측정을 결정했습니다 .
이것은 덱에서 일곱 번째 카드를 뽑을 때 일곱 장의 카드를 세고 그 일곱 장의 더미를 뒤집으면 맨 아래에 있는 카드가 원하는 카드가 되는 것과 비슷합니다. 우리는 TOPN 측정에서 이와 동일한 작업을 수행할 것입니다.
목차
팁 #1: 외부 도구를 사용하여 LuckyTemplates 가상 테이블 시각화
DAX Studio 또는 테이블 형식 편집기를 사용할 수 있습니다. 이 예에서는 TE3(Tabular Editor 3)를 사용하고 있습니다. 모델링 - 새 테이블 탭을 사용하여 기술적으로 이 작업을 수행할 수 있지만 데이터 모델 내에서 실제 테이블을 생성하게 됩니다. 그것과 편집기 사이를 수동으로 전환해야 할 것이고 그것은 느리고 어려운 방법일 뿐입니다.
외부 도구를 통해 수행할 수 있는 동적인 방법을 보면 이점을 볼 수 있습니다.
따라서 TE3 내에서 새 DAX 쿼리를 생성합니다. 초기 측정을 수행하고 이를 DAX 쿼리에 복사할 수 있습니다.
DAX 쿼리는 항상 EVALUATE 로 시작합니다 . DAX 쿼리가 테이블을 반환하기 때문에 초기에 오류가 발생합니다 . 이것은 스칼라인 마지막 두 변수가 있는 측정값이었습니다. 여기서 우리가 할 수 있는 것은 반환 값을 변경하는 것 입니다 . 이것이 제 다음 팁입니다.
팁 #2: 변수를 사용하여 파트에서 LuckyTemplates 가상 테이블 디버그
반환 값을 변경하여 측정값과 거의 동일한 방식으로 가상 테이블을 디버깅할 수 있습니다. 첫 번째 가상 테이블인 vEvalTable 부터 시작하겠습니다 . RETURN 값(Final)을 첫 번째 변수(VAR)로 바꾸기만 하면 됩니다. 이제 DAX 쿼리가 테이블을 가져오고 있으므로 오류가 사라진 것을 볼 수 있습니다.
vEvalTable에서 안전 점수인 원래 데이터를 가져오고 이를 정규화하고 정규화된 값 열을 가상 테이블에 추가합니다. 인덱스, 지역 값, 정규화된 값이 있습니다. 이러한 값을 위 또는 아래로 정렬하고 값을 필터링할 수도 있습니다.
이것은 우리가 예상했던 것과 정확히 일치합니다. 전체 데이터 세트인 50개 행을 반환합니다. 모든 것이 순조롭게 진행되었으므로 아래로 내려가 다음 테이블인 vTableTopN 을 살펴 보겠습니다 . 이 표에서는 n번째 항목 슬라이더 값을 사용하여 TOPN을 사용합니다. 이 예에서는 위의 가상 테이블(vEvalTable)의 7번째 값이 있고 정규화된 값을 기준으로 TOPN을 내림차순으로 가져옵니다.
그래서 우리가 RETURN 함수를 그것으로 바꿀 때, 그것은 떨어지고 우리는 아무것도 얻지 못합니다. 이것이 가상 테이블을 디버깅하고 이해하는 데 정말 중요한 개념이기 때문에 그 이유를 살펴보겠습니다.
공식을 보면 여기에서 주요 용의자로 N번째 항목 슬라이더 값이 있습니다. LuckyTemplates로 돌아가서 이것이 기본적으로 숫자 7을 수확하는 것임을 알 수 있습니다. 슬라이더 는 페이지 컨텍스트 내에 존재합니다 .
따라서 이 경우 컨텍스트에서 벗어나 해당 테이블을 디버깅할 때 선택한 값에는 컨텍스트가 없습니다 . 그 숫자를 끌어낼 수 있다는 점에서 아무 것도 없습니다. 우리는 TOPN을 얻었지만 선택한 값이 공백을 반환하기 때문에 TOPN의 N이 무엇인지 모릅니다.
어떻게 처리합니까? 선택한 값 측정값을 살펴보겠습니다. 대부분의 경우 우리는 항상 의 첫 번째 매개변수에 주의를 기울이지 만 대체 매개변수인 두 번째 매개변수가 있습니다. 이것은 우리에게 세 번째 팁을 제공합니다.
팁 #3: SELECTEDVALUE에서 대체 매개변수 사용
여기서 일어난 일은 공백을 대안으로 끌어오고 있다는 것입니다. 하지만 (디버깅 목적으로) 우리가 하고 싶은 것은 여기 에 실제 값을 넣고 싶다는 것입니다 . 따라서 숫자 7을 입력하고 저장합니다.
이제 몇 가지 값이 있습니다. 그것은 7개의 행을 반환하고 있는데, 이는 TOPN 값 7로 인해 정확히 해야 하는 것입니다.
vTableNthItem 이라는 다음 가상 테이블까지 계속 진행하겠습니다 . 우리는 7장의 카드 더미를 가지고 있고, 이 테이블은 기본적으로 그것을 뒤집고 있습니다. 이전 표에서는 내림차순이었고 지금은 오름차순입니다.
이것을 RETURN 섹션으로 가져와 복사하면 결과를 얻습니다. 한 행을 반환하지 않는 것이 흥미 롭습니다. 3개의 행이 연결되어 있기 때문에 3개의 행을 반환합니다. 이것이 바로 이 경우 RANKX가 아닌 TOPN을 사용하는 이유입니다.
이제 결과 로 이동하겠습니다 . VAR 결과를 RETURN 섹션으로 복사하면 이것이 네 번째 팁이 됩니다.
팁 #4: { }를 사용하여 스칼라를 테이블로 변환
) 을 취하고 정규화된 값을 반환합니다. 일 수도 있고 일 수도 있고 일 수도 있습니다 . 해당 테이블에서 하나의 값을 반환하는 집계기일 뿐입니다. 따라서 이것을 복사하면 이제 스칼라이기 때문에 오류가 발생합니다.
그러나 이것은 디버깅의 맥락에서 네 번째 팁입니다. 당신이 할 수 있는 것은 중괄호를 추가하는 것입니다 . 그렇게 함으로써 해당 스칼라를 테이블로 변환합니다.
그런 다음 여기에 있는 것은 최종 오류 검사일 뿐입니다. 즉, 평가 테이블이 행 수보다 작은 것으로 판명되면 불충분한 데이터를 반환합니다. 하지만 이 경우 데이터 세트가 충분히 크다는 것을 알고 있습니다. 그러나 Final 을 입력하여 테스트할 수 있습니다 . 다시 말하지만, 그것은 스케일러이기 때문에 중괄호도 필요하고 여기서도 같은 값을 얻습니다.
우리는 이 가상 테이블을 조사하고 디버깅했으며 SELECTEDVALUE의 대체 값을 사용하여 컨텍스트에서 벗어나지 않도록 했습니다. 이제 제가 정말 유용하다고 생각한 추가 팁을 보여 드리고자 합니다.
팁 #5: CONCATENATEX/UNICHAR를 사용하여 테이블을 스칼라로 변환
디버깅을 수행하는 맥락에서 LuckyTemplates에서 해당 테이블이 어떻게 보이는지 확인하고 싶을 것입니다. 일반적인 규칙은 측정값이 테이블이 아닌 스칼라만 반환할 수 있다는 것입니다. 그러나 테이블을 유사 반환할 수 있는 치트가 하나 있습니다.
시각화된 가상 테이블 인 이 측정값을 살펴보겠습니다 . 여기에는 처음에 가지고 있던 모든 가상 테이블이 있습니다. 예를 들어 전면 보고서 페이지에 vTableTopN을 표시하려고 합니다.
기능을 사용할 수 있습니다 . 실제로 해당 가상 테이블 이름(vTableTopN)을 가져오고 해당 테이블의 값을 가져와 연결할 수 있습니다. 기본적으로 가상 테이블처럼 보이는 것을 만들 수 있습니다.
이 조치를 취하려면 LuckyTemplates로 돌아가서 이를 카드 측정에 드롭해야 합니다. 일반적으로 테이블은 오류를 제공하지만 CONCATENATEX를 통해 해당 테이블을 스케일러로 전환했습니다. 상당히 원시적이지만 우리가 기대하는 것을 정확하게 반환하고 동적인 방식으로 그렇게 하고 있음을 알 수 있습니다.
테이블을 측정값으로 푸시하고 보고서에 표시하는 방법입니다. 정말 유용한 디버깅 트릭입니다. 보고서에서 사용할 수 있는 카드 값의 좋은 형식을 제공합니다.
LuckyTemplates의 반복 함수 내부에서 DAX 가상 테이블을 사용하여 LuckyTemplates의 마스터 가상
테이블 – DAX 개념
LuckyTemplates의 테이블: 유형 및 구별
결론
이 자습서가 LuckyTemplates 가상 테이블 작업과 관련하여 생각할 수 있는 몇 가지 정보를 제공하기를 바랍니다. 다음은 가상 테이블 내에서 일어나는 일을 이해하기 위한 몇 가지 추가 팁과 요령입니다. 도움이 되었기를 바랍니다.
더 많은 LuckyTemplates 자습서를 보려면 당사 웹 사이트를 방문 하고 더 많은 관련 콘텐츠를 보려면 아래 링크를 확인하십시오.
모두 제일 좋다!
파이썬에서 자기란 무엇인가: 실제 사례
R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.
이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.
이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.
이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.
LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.
LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.
이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.
지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.
LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것