Forum Discussion

Pawel_1990's avatar
Pawel_1990
Helper I
1 year ago
Solved

Direct Query - Time Function - Slow Performance

Hello, 

I am using Direct Query Snowflake table as data source. One of measures is working slow. I was thinking if DAX can be written in other way to speed up performance. 

Dashboards has main date table and secondary date table. Slicer on each page is added and forced single select to pick only 1 month. On some pages visual showing last 13 months is added as well.

Dax code below:

Measure #1 - Sum loggin 

 

#Scale = 
VAR SCALE = CALCULATE(SUM(Table1[LOGIN_COUNT]),
Table1[AGGREGATION_TYPE] = "Type1", 
KEEPFILTERS(Dim_Country[COUNTRY_CODE] <> BLANK()))

RETURN
SCALE

 

 

Measure #2 - To show last 13 months on visual, when only 1 month selected on slicer

#Scal 13M = 
VAR NumOfMonths = -13
VAR Min _Date_13M = EOMONTH(MAX ( 'MAIN_DATE'[CALENDAR_DATE]), -13)
VAR ReferenceDate = MAX ( 'MAIN_DATE'[CALENDAR_DATE])
VAR PreviousDates =
    FILTER(DATESINPERIOD (
        'SECONDARY_DATE'[CALENDAR_DATE],
        ReferenceDate,
        NumOfMonths,
        MONTH
    ), 'SECONDARY_DATE'[CALENDAR_DATE] > Min _Date_13M)
VAR Result =
    CALCULATE ([#Scale],
        REMOVEFILTERS(MAIN_DATE),
        KEEPFILTERS ( PreviousDates ),
        USERELATIONSHIP('SECONDARY_DATE'[CALENDAR_DATE], MAIN_DATE[CALENDAR_DATE])
    )
RETURN Result

Thank you for help. 

7 Replies

Replies have been turned off for this discussion