我需要帮助创建DAX措施 . 这是Tabular立方体中的关系 . 我有一个事实销售,初始日期,最终日期和产品表 .
Relationship : Product -> Fact Sales (1 to Many, active)
Initial Date -> Fact Sales (1 to many, inactive relation)
Final Date - > Fact Sales(1 to many, active)
Cube用作Power Bi工具的源 . 用户可以选择任何初始和最终日期来进行销售比较 .
实际数据
Product|Date|Sales
Product1|20160101|100
Product1|20160102|110
Product1|20160131|200
Product2|20160101|78
.....
预期产量 Filters :
product : Product1
Initial date : 20160101
Final Date : 20160131
Product | Initial Sales | Final Sales
Product1|100 |200
我创建了DAX测量AS
Initial Sales := CALCULATE(SUM(SALES),USERELATIONSHIP('Fact Sales'[Date],'Initial Date'[Date]))
但这项措施并未给我初始销售,因为它也按最终日期过滤 .
提前致谢
1 回答
通过在DAX中使用FILTER函数,可以在没有显式关系的情况下关联表 .
由于
Initial Date
与Fact Sales
的关系被禁用,您需要FILTER
Fact Sales
行与过滤器中选择的Initial Date
匹配 . 您可以使用EARLIER
将正在评估的上下文与Fact Sales
中的每一行进行比较,并过滤正确的计算值 .使用这些措施:
此表达式的工作原理如下,它将
Sales
列中的所有值相加,其中Date
等于在过滤器中选择的Final Date
. 但是,您可以轻松地计算出您在Final Date
和Fact Sales
之间设置的关系 .ISFILTERED
函数告诉我们过滤器是否选择了值,如果选择了值,则返回该值,否则返回BLANK
.这是Power BI中的一个示例,因为我现在无法访问Excel .