使用DAX函数筛选,表1的Column1中数据只有一个“/”字符的数据
时间: 2024-02-24 21:55:03 浏览: 83
你可以使用下面的 DAX 公式来筛选出表1中 Column1 列中数据只有一个 "/" 字符的数据:
```
=FILTER(Table1,
LEN(Table1[Column1]) - LEN(SUBSTITUTE(Table1[Column1], "/", "")) = 1
)
```
解释一下这个公式:
- `Table1` 是表的名称,`Column1` 是日期列的名称;
- `SUBSTITUTE(Table1[Column1], "/", "")` 将 Column1 列中的 "/" 字符替换为空字符,得到的结果是数据中不包含 "/" 字符的字符串;
- `LEN(SUBSTITUTE(Table1[Column1], "/", ""))` 计算上一步结果的长度,即不包含 "/" 字符的字符串的长度;
- `LEN(Table1[Column1]) - LEN(SUBSTITUTE(Table1[Column1], "/", ""))` 计算 Column1 列中 "/" 字符的数量;
- `LEN(Table1[Column1]) - LEN(SUBSTITUTE(Table1[Column1], "/", "")) = 1` 判断 "/" 字符的数量是否等于 1;
- `FILTER(Table1, ...)` 用于筛选出符合条件的行。
这个公式会返回一个表格,其中只包含 Column1 列中数据只有一个 "/" 字符的数据。
相关问题
使用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` 函数用于筛选出满足条件的行。
DAX函数新建列,如果column1开头为2,则筛选从第六位到末尾的字符
可以使用 DAX 函数中的 LEFT 和 RIGHT 函数来实现这个需求。具体步骤如下:
1. 新建一列,命名为新列名,使用以下公式:
```
=IF(LEFT(column1,1)="2",RIGHT(column1,LEN(column1)-5),"")
```
这个公式的意思是,先判断 column1 这列的第一个字符是否为 2,如果是的话,就截取从第六位到末尾的字符并返回,否则返回空字符串。
2. 将公式应用到整列,即可得到新的列。
阅读全文