【问题标题】:Dax function DATESINPERIOD not giving correct answerDax 函数 DATESINPERIOD 未给出正确答案
【发布时间】:2020-08-09 08:37:09
【问题描述】:

我需要找到移动两天的销售额。我正在使用 DAX 函数 DatesinPeriod 但输出不正确。请帮助我了解我哪里出错了。我正在使用以下 Dax 公式:

Measure = CALCULATE(sum('Table'[Sale]),DATESINPERIOD('Dim Date'[Date],SELECTEDVALUE('Table'[Date]),-2,day))

要复制场景,第一步是使用 - >

创建 Dim Date
Dim Date = GENERATESERIES(date(2019,01,01),date(2019,12,31),1)

第二步是创建DataTable ->

Table = DATATABLE("Date",DATETIME,"Flag1",STRING,"Flag2",STRING,"Sale",INTEGER,{
{"8/1/2019","True","True",200},
{"8/2/2019","False","True",80},
{"8/2/2019","False","True",80},
{"8/2/2019","False","True",80},
{"8/2/2019","False","True",80},
{"8/2/2019","False","True",80},
{"9/3/2019","False","True",60},
{"9/4/2019","False","True",10},
{"9/5/2019","False","True",100},
{"9/6/2019","False","True",30},
{"9/7/2019","False","True",60},
{"9/8/2019","False","False",150},
{"9/9/2019","False","False",80},
{"9/10/2019","False","False",90},
{"9/11/2019","False","False",30},
{"9/12/2019","False","False",20},
{"10/13/2019","False","True",50},
{"10/14/2019","False","True",60},
{"10/15/2019",BLANK(),BLANK(),BLANK()},
{"10/16/2019",BLANK(),BLANK(),BLANK()}
})

第三步 - 在日期列上创建这些表之间的关系

第四步 - 使用 - Measure = CALCULATE(sum('Table'[Sale]),DATESINPERIOD('Dim Date'[Date],SELECTEDVALUE('Table'[Date]),-2,day)) 创建度量

您会看到输出错误。看截图。这很奇怪。我尝试使用 DatesBetween 函数,它也给了我同样的错误输出。

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    使用以下度量来获得预期的结果:

    SumInRange = 
    VAR __selectedDate = SELECTEDVALUE( 'Table'[Date] )
    VAR __subTable = 
        FILTER( 
            ALL( 'Table'[Date] ),
            AND(
                'Table'[Date] >= __selectedDate -2,
                'Table'[Date] <=__selectedDate
            )
        )
    
    Return
    CALCULATE( 
        SUMX (
            DISTINCT ( 'Table'[Date] ),
            CALCULATE ( MAX ( 'Table'[Sale] ) )
        ),
        __subTable
    )
    

    请务必使用表格中的日期列,而不是可视化中的 Dim。

    【讨论】:

    • 非常感谢您的时间和精力。您的解决方案非常有效。奇怪的是为什么我们不能在过滤器中使用 DATESINPERIOD 和 DATESBETWEEN。它为一列提供多行错误..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多