度量值 = FILTER( '在庫図', (ISBLANK(DATEVALUE('在庫図'[日付])) && NOT(ISBLANK(FIND("/", '在庫図'[日付], 1)))) || MONTH(DATEVALUE('在庫図'[日付])) = MONTH(TODAY())),我使用这个公式报错该表达式引用多列。多列不能转换为标量值。
时间: 2023-12-11 20:02:59 浏览: 68
StringUtils里的isEmpty方法和isBlank方法的区别详解
非常抱歉,我的回答有误。在您的公式中,您无法将 `FILTER` 函数用作度量,因为 `FILTER` 函数返回的是一个表。度量应该返回标量值,因此您需要将筛选逻辑转换为一个度量,可以使用 `CALCULATE` 和 `COUNTROWS` 函数来实现。
假设您要计算的度量名为 "本月日期",您可以使用以下 DAX 公式来实现:
```
本月日期 =
CALCULATE(
COUNTROWS('在庫図'),
(
(ISBLANK(DATEVALUE('在庫図'[日付])) && NOT(ISBLANK(FIND("/", '在庫図'[日付], 1)))) ||
MONTH(DATEVALUE('在庫図'[日付])) = MONTH(TODAY())
)
)
```
上述公式中,`COUNTROWS` 函数用于计算满足筛选条件的行数,`CALCULATE` 函数用于将筛选条件应用于当前上下文中的行。您可以将 `MONTH(TODAY())` 中的 `TODAY()` 替换为您需要筛选的日期。
请注意,度量应该返回标量值,因此您需要确保公式返回的是一个标量值。如果您的表中有多个日期列需要进行筛选,您可以按照以下方式进行修改:
```
本月日期 =
CALCULATE(
COUNTROWS('在庫図'),
(
(ISBLANK(DATEVALUE('在庫図'[日付1])) && NOT(ISBLANK(FIND("/", '在庫図'[日付1], 1)))) ||
MONTH(DATEVALUE('在庫図'[日付1])) = MONTH(TODAY()) ||
(ISBLANK(DATEVALUE('在庫図'[日付2])) && NOT(ISBLANK(FIND("/", '在庫図'[日付2], 1)))) ||
MONTH(DATEVALUE('在庫図'[日付2])) = MONTH(TODAY()) ||
...
)
)
```
在上述公式中,`日付1` 和 `日付2` 表示您需要筛选的日期列名,您可以根据实际情况修改列名和筛选条件。
阅读全文