시간 인텔리전스 함수를 볼 수 있도록 확인하는 것이 좋습니다.
4427 단어 PowerBI
SAMEPERIODLASTYEAR과 PREVIOUSYEAR 어떻게 다른가요?
음, 다른 함수이고, 얻어지는 결과는 다릅니다. 다른 것은 알고 있지만 어떻습니까? 라는 느낌이었을까. 차이를 기억하지 않으면 사용할 수 없기 때문에, 맞아 부서지기만이 아니라, 어떻게 이해하기 쉽게 할까. 특히 타임 인텔리전스 함수는 비슷한 느낌의 것들이 많다고 생각합니다.
우선 참조를 제대로 읽는다.
지원은 있지만, 전혀 모르겠네요. 그래서 레퍼런스는 제대로 읽는 것이 좋다.
예를 들어, SAMEPERIODLASTYEAR 함수(DAX) - DAX | Microsoft Docs
현재의 문맥으로, 지정된 dates 열의 일자로부터 1 년전에 시프트한 일자의 열을 포함한 테이블을 돌려줍니다.
읽어도, 흠🤔라는 것도 있을 것입니다. 눈에 보이는 형태다 확인하는 편이 좋지요. 하지만 참조가 전혀 의미가 없다는 것이 아니라 매우 중요한 설명이 있으므로 놓치지 마세요.
파라미터-
시간 인텔리전스 함수이므로 "날짜 열"이 중요합니다. 구문에 있는 Dates 는 일자 테이블의 일자열을 지정하는 것이 대부분인 것이 아닐까.
DAX 구문
SAMEPERIODLASTYEAR( <dates> )
그건 그렇고, SAMEPERIODLASTYEAR는
DAX-DATEADD
DATEADD( <Dates>, -1, YEAR )
입니다.
반환값
반환값의 형태에는 몇개인가 있습니다만, 대부분의 경우, 열을 1 개(살)만 가지는 테이블 로 그 값은 일자. 일부는 열/행 모두 하나의 테이블과 스칼라 값을 반환합니다. 이 근처는 잘 확인하십시오.
다만, DAX에서는 1행 1열의 테이블은 암묵의 변환으로 스칼라치로서 주는 것은 편리하지만, 왜 잘 되는지 정도는 확인해 두는 것이 좋을 것입니다. 암묵적인 변환을 하지 않는 기술은 중요한 일이라고 생각합니다.
볼 수 있도록 확인하는 것이 좋습니다.
예로 든 시간 인텔리전스 함수는 날짜 범위를 반환하는 느낌이기 때문에 범위의 양쪽 끝과 행 수를 측정값이었고, 행렬이나 테이블에 배치해 보는 느낌으로.
SAMEPERIODLASTYEARSPLY =
VAR DateFilter = SAMEPERIODLASTYEAR( 'Dates'[Date] )
VAR ResultValue =
CONCATENATEX(
CALCULATETABLE(
{
MIN( 'Dates'[Date] ),
MAX( 'Dates'[Date] ),
FORMAT( COUNTROWS( 'Dates' ), "0" )
},
DateFilter
),
[Value], " - "
)
VAR Result =
IF(
NOT ISEMPTY( DateFilter ),
ResultValue
)
RETURN
Result
PREVIOUSYEARPY =
VAR DateFilter = PREVIOUSYEAR( 'Dates'[Date] )
VAR ResultValue =
CONCATENATEX(
CALCULATETABLE(
{
MIN( 'Dates'[Date] ),
MAX( 'Dates'[Date] ),
FORMAT( COUNTROWS( 'Dates' ), "0" )
},
DateFilter
),
[Value], " - "
)
VAR Result =
IF(
NOT ISEMPTY( DateFilter ),
ResultValue
)
RETURN
Result
현재 행에 있는 날짜 범위에서 파생된 결과 (여기에서는 날짜 세트)의 차이 배열은 클릭될 것입니다. 그래서 구체적인 결과도 이런 느낌이 된다.
受注額 (SPLY) =
CALCULATE(
[受注額],
SAMEPERIODLASTYEAR( 'Dates'[Date] )
)
受注額 (PY) =
CALCULATE(
[受注額],
PREVIOUSYEAR( 'Dates'[Date] )
)
이른바 미래의 날짜에 대해서 아무것도 수당하고 있지 않기 때문에 별도 구현의 일.
생각했어요🙄
4, 5년전 이런 일을 하고 있었구나라고 생각했다. 읽는 것만 듣는 것만으로는 안 되네요. 시도하지 않으면.
기타
SPLY =
VAR DateFilter = SAMEPERIODLASTYEAR( 'Dates'[Date] )
VAR ResultValue =
CONCATENATEX(
CALCULATETABLE(
{
MIN( 'Dates'[Date] ),
MAX( 'Dates'[Date] ),
FORMAT( COUNTROWS( 'Dates' ), "0" )
},
DateFilter
),
[Value], " - "
)
VAR Result =
IF(
NOT ISEMPTY( DateFilter ),
ResultValue
)
RETURN
Result
PY =
VAR DateFilter = PREVIOUSYEAR( 'Dates'[Date] )
VAR ResultValue =
CONCATENATEX(
CALCULATETABLE(
{
MIN( 'Dates'[Date] ),
MAX( 'Dates'[Date] ),
FORMAT( COUNTROWS( 'Dates' ), "0" )
},
DateFilter
),
[Value], " - "
)
VAR Result =
IF(
NOT ISEMPTY( DateFilter ),
ResultValue
)
RETURN
Result
受注額 (SPLY) =
CALCULATE(
[受注額],
SAMEPERIODLASTYEAR( 'Dates'[Date] )
)
受注額 (PY) =
CALCULATE(
[受注額],
PREVIOUSYEAR( 'Dates'[Date] )
)
4, 5년전 이런 일을 하고 있었구나라고 생각했다. 읽는 것만 듣는 것만으로는 안 되네요. 시도하지 않으면.
기타
Reference
이 문제에 관하여(시간 인텔리전스 함수를 볼 수 있도록 확인하는 것이 좋습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/PowerBIxyz/items/c900fe028e0ddab4ecd0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)