Forum Discussion

janislv's avatar
janislv
Helper I
4 years ago
Solved

Time intelligence methods for hourly calculations

So, here is a measure that works just fine when I'm using the Daily calendar. What could be the possible directions for doing the same when using Hourly calendar?

 

Cumulative sum =
CALCULATE (
    [Measure],
    CALCULATETABLE (
        SAMEPERIODLASTYEAR ( DATESYTD ( 'Daily calendar'[Date], "31/03" ))))

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi janislv ,

     

    I tested your measure and I find that it will return the YTD sum of [Measure] after 03/31 by  in last year. If you want to do the same with Hourly , I think time intelligence functions don't support you to do this. Try this code.

    Here I want to get YTD sum of values after 06/01 8:00:00.

    My sample:

    Measure:

     

    Measure 3 = 
    VAR _ADD1 = ADDCOLUMNS(ALL('Table'),"Year",YEAR('Table'[Date]),"Month",MONTH('Table'[Date]),"Day",DAY('Table'[Date]),"Hour",HOUR('Table'[Date]))
    VAR _ADD2 = SUMMARIZE(_ADD1,[Year],"Sum", SUMX(FILTER(_ADD1,[Year]=EARLIER([Year])&&[Month]>=6&&[Day]>=1&&[Hour]>8),[Value]))
    Return
    SUMX(FILTER(_ADD2,[Year] = MAX('Daily calendar'[Year])-1),[Sum])

     

    Result is as below.

    Best Regards,
    Rico Zhou

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

3 Replies

  • Hi janislv 

     

    Can you post sample data as text and expected output?
    Not enough information to go on;

    please see this post regarding How to Get Your Question Answered Quickly:
    https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

    The most important parts are:
    1. Sample data as text, use the table tool in the editing bar
    2. Expected output from sample data
    3. Explanation in words of how to get from 1. to 2.
    4. Relation between your tables

    Appreciate your Kudos!!
    LinkedIn:www.linkedin.com/in/vahid-dm/

  • CNENFRNL's avatar
    CNENFRNL
    Community Champion

    Time intelligence functions address dataset at granularity of date.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi janislv ,

     

    I tested your measure and I find that it will return the YTD sum of [Measure] after 03/31 by  in last year. If you want to do the same with Hourly , I think time intelligence functions don't support you to do this. Try this code.

    Here I want to get YTD sum of values after 06/01 8:00:00.

    My sample:

    Measure:

     

    Measure 3 = 
    VAR _ADD1 = ADDCOLUMNS(ALL('Table'),"Year",YEAR('Table'[Date]),"Month",MONTH('Table'[Date]),"Day",DAY('Table'[Date]),"Hour",HOUR('Table'[Date]))
    VAR _ADD2 = SUMMARIZE(_ADD1,[Year],"Sum", SUMX(FILTER(_ADD1,[Year]=EARLIER([Year])&&[Month]>=6&&[Day]>=1&&[Hour]>8),[Value]))
    Return
    SUMX(FILTER(_ADD2,[Year] = MAX('Daily calendar'[Year])-1),[Sum])

     

    Result is as below.

    Best Regards,
    Rico Zhou

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.