使用DAX函数筛选,表1的Column1中,有日期格式yyyy/mm/dd和yyyy/mm两种数据,将日期格式为yyyy/mm/dd中本月日期和所有yyyy/mm数据筛选处理
时间: 2023-09-05 18:10:50 浏览: 198
你可以使用下面的 DAX 公式来筛选出日期格式为 yyyy/mm/dd 中本月的日期和所有 yyyy/mm 格式的日期:
```
=FILTER(Table1,
(YEAR(Table1[Column1]) = YEAR(TODAY()) && MONTH(Table1[Column1]) = MONTH(TODAY()) && DAY(Table1[Column1]) <= DAY(TODAY())) ||
FORMAT(Table1[Column1], "yyyy/mm") = Table1[Column1]
)
```
解释一下这个公式:
- `Table1` 是表的名称,`Column1` 是日期列的名称;
- `YEAR(Table1[Column1]) = YEAR(TODAY()) && MONTH(Table1[Column1]) = MONTH(TODAY()) && DAY(Table1[Column1]) <= DAY(TODAY())` 用于筛选出本月日期;
- `FORMAT(Table1[Column1], "yyyy/mm") = Table1[Column1]` 用于筛选出 yyyy/mm 格式的日期;
- `FILTER(Table1, ...)` 用于筛选出符合条件的行。
这个公式会返回一个表格,其中只包含日期格式为 yyyy/mm/dd 中本月日期和所有 yyyy/mm 格式的日期。
相关问题
使用DAX函数将表1中column1中日期格式为年/月的日期筛选出来
假设表1的名称为“Table1”,其中包含一个名为“Column1”的日期列,你可以使用如下DAX公式来筛选出日期格式为年/月的日期:
```
=FILTER(Table1, FORMAT(Table1[Column1], "yyyy/mm") = Table1[Column1])
```
解释一下这个公式:
- `FORMAT(Table1[Column1], "yyyy/mm")` 用于将日期格式化为“年/月”的形式;
- `Table1[Column1]` 表示原始日期列;
- `FILTER(Table1, ...)` 用于筛选出符合条件的日期行。
这个公式会返回一个表格,其中只包含日期格式为“年/月”的日期行。
使用DAX函数将表1中column1中本月的日期和不是日期为年/月的日期筛选出来
您可以使用以下 DAX 公式筛选出表1中column1中本月的日期和不是日期为年/月的日期:
```
FILTER(
table1,
(ISBLANK(DATEVALUE(table1[column1])) &&
NOT(ISBLANK(FIND("/", table1[column1], 1)))) ||
MONTH(DATEVALUE(table1[column1])) = MONTH(TODAY())
)
```
上述公式中,`table1[column1]` 表示您要筛选的列名。如果您需要筛选多列,则可以修改公式中的 `table1[column1]` 部分为实际列名即可。
公式中,`ISBLANK` 函数用于判断单元格是否为空,`DATEVALUE` 函数用于将文本格式的日期转换为日期格式,`MONTH` 函数用于返回日期的月份,`TODAY` 函数用于返回当前日期。`FIND` 函数用于查找某个字符串在文本中的位置,如果没有找到该字符串,则返回 0。因此,`NOT(ISBLANK(FIND("/", table1[column1], 1)))` 表示该单元格中包含 `/` 符号,即该单元格中的文本格式为年/月的日期。
最后,`FILTER` 函数用于筛选出满足条件的行。
阅读全文