시간 인텔리전스 함수를 볼 수 있도록 확인하는 것이 좋습니다.

4427 단어 PowerBI
전반적인 Power BI 연구회 #16에서 질문이 오르고 있었지만 별로 시간이 걸리지 않았기 때문에 다시 이런 느낌으로 공부하면 좋다고 이야기. 질문의 내용으로는

SAMEPERIODLASTYEAR과 PREVIOUSYEAR 어떻게 다른가요?

음, 다른 함수이고, 얻어지는 결과는 다릅니다. 다른 것은 알고 있지만 어떻습니까? 라는 느낌이었을까. 차이를 기억하지 않으면 사용할 수 없기 때문에, 맞아 부서지기만이 아니라, 어떻게 이해하기 쉽게 할까. 특히 타임 인텔리전스 함수는 비슷한 느낌의 것들이 많다고 생각합니다.

우선 참조를 제대로 읽는다.


  • 시간 인텔리전스 함수(DAX) - DAX | Microsoft Docs
  • DAX Guide

  • 지원은 있지만, 전혀 모르겠네요. 그래서 레퍼런스는 제대로 읽는 것이 좋다.



    예를 들어, SAMEPERIODLASTYEAR 함수(DAX) - DAX | Microsoft Docs

    현재의 문맥으로, 지정된 dates 열의 일자로부터 1 년전에 시프트한 일자의 열을 포함한 테이블을 돌려줍니다.

    읽어도, 흠🤔라는 것도 있을 것입니다. 눈에 보이는 형태다 확인하는 편이 좋지요. 하지만 참조가 전혀 의미가 없다는 것이 아니라 매우 중요한 설명이 있으므로 놓치지 마세요.

    파라미터-



    시간 인텔리전스 함수이므로 "날짜 열"이 중요합니다. 구문에 있는 Dates 는 일자 테이블의 일자열을 지정하는 것이 대부분인 것이 아닐까.

    DAX 구문
    SAMEPERIODLASTYEAR( <dates> )
    

    그건 그렇고, SAMEPERIODLASTYEAR는

    DAX-DATEADD
    DATEADD( <Dates>, -1, YEAR )
    

    입니다.

    반환값



    반환값의 형태에는 몇개인가 있습니다만, 대부분의 경우, 열을 1 개(살)만 가지는 테이블 로 그 값은 일자. 일부는 열/행 모두 하나의 테이블과 스칼라 값을 반환합니다. 이 근처는 잘 확인하십시오.
    다만, DAX에서는 1행 1열의 테이블은 암묵의 변환으로 스칼라치로서 주는 것은 편리하지만, 왜 잘 되는지 정도는 확인해 두는 것이 좋을 것입니다. 암묵적인 변환을 하지 않는 기술은 중요한 일이라고 생각합니다.

    볼 수 있도록 확인하는 것이 좋습니다.



    예로 든 시간 인텔리전스 함수는 날짜 범위를 반환하는 느낌이기 때문에 범위의 양쪽 끝과 행 수를 측정값이었고, 행렬이나 테이블에 배치해 보는 느낌으로.

    SAMEPERIODLASTYEAR
    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
    

    PREVIOUSYEAR
    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년전 이런 일을 하고 있었구나라고 생각했다. 읽는 것만 듣는 것만으로는 안 되네요. 시도하지 않으면.

    기타


  • Power BI 스터디 - connpass
  • Power BI Desktop을 사용하려면
  • Excel에서 Power Query를 사용하려면
  • 좋은 웹페이지 즐겨찾기