Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi DAX:请解释为什么使用变量的度量方法不起作用_Powerbi_Dax - Fatal编程技术网

Powerbi DAX:请解释为什么使用变量的度量方法不起作用

Powerbi DAX:请解释为什么使用变量的度量方法不起作用,powerbi,dax,Powerbi,Dax,你好。这项措施行不通。 你能解释一下为什么不行吗?你的度量不起作用,因为你使用了一个变量作为CALCULATE的表达式参数:变量是不可变的;这意味着一旦定义了类似于常量的行为,就意味着它们的值不能更改 变量在定义的地方进行评估,而不是在引用的地方进行评估;因此,它们的值不受计算中修改的过滤器上下文的影响 要检查公式,请直接使用度量值而不是变量 Sales Last Year = CALCULATE( [Total Sales], SAMEPERIODLASTYEAR( Calen

你好。这项措施行不通。
你能解释一下为什么不行吗?

你的度量不起作用,因为你使用了一个变量作为CALCULATE的表达式参数:变量是不可变的;这意味着一旦定义了类似于常量的行为,就意味着它们的值不能更改

变量在定义的地方进行评估,而不是在引用的地方进行评估;因此,它们的值不受计算中修改的过滤器上下文的影响

要检查公式,请直接使用度量值而不是变量

Sales Last Year =
CALCULATE(
    [Total Sales],
    SAMEPERIODLASTYEAR( CalendarTable[Date] )
)
这样,在过滤器上下文中对[Total Sales]进行评估,该上下文由
SAMEPERIODLASTYEAR(CalendarTable[Date])更改。

改为使用变量,如

Sales Last Year (wrong) =
VAR Sales = [Total Sales]
RETURN
    CALCULATE(
        Sales,
        SAMEPERIODLASTYEAR( CalendarTable[Date] )
    )
使用评估度量值的现有筛选器上下文,在
计算
之外对要评估的销售额进行评估。假设该值为
1000
,则以下
CALCULATE
表达式等效于

    CALCULATE(
        1000,
        SAMEPERIODLASTYEAR( CalendarTable[Date] )
    )

这将返回1000,无论
SAMEPERIODLASTYEAR
是什么

请在共享代码时使用文本而不是截图。相关:@AlexisOlson网页不允许从中复制文本,因此我使用截图来代替一些在线测试或其他内容的标题?它足够短,可以快速转录。请重新阅读,因为您在第一次阅读时似乎遗漏了一些关键点,即“不要发布代码、数据、错误消息等的图像-将文本复制或键入问题”(原文中的强调部分)。明白为什么了。请你再解释一遍,但要用简单的术语和例子?这是一个我在考试中经常出错的问题,所以我对材料的理解很差。或者共享一些资源,这些资源的解释方式甚至连我都能理解?我扩展了解释。关于DAX文章的一个很好的资源是网站sqlbi.com,其中还有这篇关于DAX中变量的文章