dax - 列 .... 的单个值无法确定
问题描述
我有 2 个用于库存管理的表。1 表示股票列表和其他一些属性,1 表示每日价值(我在股票指数上两者之间有关系)。
我想要每周的表现,即价值比前一周增加/减少了 xx。
所以我创建了一个表(每周),其中有几行对应于每一行的一周。我有 2 列:1 是一周的开始日期,1 是一周的最后一天。
我创建了一个计算的第三列,其中包含给定一周开始日期的所有值的总和:
CALCULATE (
SUMX ( Daily_Stock; [Price] * RELATED ( Stock_list[Qty] ) );
FILTER ( Daily_Stock; Daily_Stock[Date] = weeklies[begin_date] )
)
它工作正常,但我想排除一些在开始日期之前售出的股票(我有其他理由能够做到这一点),所以如果特定股票是这种情况,我会尝试乘以 0。
CALCULATE (
SUMX (
Daily_Stock;
[Price] * RELATED ( Stock_list[Qty] )
* IF ( RELATED ( Stock_list[sold_date] ) < weeklies[begin date]; 0; 1 )
);
FILTER ( Daily_Stock; Daily_Stock[Date] = weeklies[begin_date] )
)
我有以下错误:
无法确定表 Stock_list 中的列 sold_date 的单个值。
稍微调整一下,我在每周表上遇到了同样的错误。
有谁知道我应该在这里做什么?
我可以解释更多,我想避免一个太长的帖子。
谢谢
解决方案
我认为问题在于关系。
我假设 RELATED 是基于你提到的股票指数。
我认为相关 stock_list[sold_date] 返回 RELATED stockID 曾经售出的所有日期。
这意味着您要尝试将多个日期与每周[开始日期]进行比较。
从 powerpivotpro 复制的关于在度量中使用 VALUES 和 IF 的图像。
如果我是对的,您需要另一种与您的库存清单相关的方式来获得单数匹配。我不确定 VALUES 解决方案 rob collie 用于度量的方法是否在这里有效,但也许值得测试。Rob collie powerpivotpro - IF(VALUES) 的魔力
推荐阅读
- php - 检测用户是否在线/离线的最佳方法是什么?PHP
- java - 模式涉及美元符号 ($) 时的正则表达式
- xamarin.android - Xamarin.Droid Resource.designer.cs 生成方式很奇怪?
- spring-boot - 如何在 Spring-boot 中创建指标?
- c - 如何将浮点数转换为 fix16_14?
- entity-framework - 外部登录失败 asp.net mvc core 2.2
- php - 将代码覆盖率从 PHPUnit 导入到 sonarqube
- c++ - 在 MS VS 2017 中通过前向引用传递的 std::string 文字的空对象?
- javascript - 第一个 div 出现在移动视图中
- python - 如何使用列表推导和 in 来比较 1D 和 2D 列表: