【问题标题】:PowerBI Regular Expression Using M or Python使用 M 或 Python 的 PowerBI 正则表达式
【发布时间】:2021-01-16 02:08:19
【问题描述】:

我以前从未在 PowerBI 中使用过 Python,但我使用过 Python。不过,我对 Python 或 M 语言解决方案很满意。

假设我有一个如下所示的列:

EntryTime
12:00:00 - 01:10:00
01:00:30 - 05:10:50
2020-11-03 R
2010-03-31 R
2020-04-01 R

我想用NULL 值替换所有包含此格式且不区分大小写的值:

yyyy-MM-dd( )+[R] 

如何在 PowerBI 中使用 M 或 Python 实现这一点?请非常具体,因为我之前没有在 PowerBI 中使用过 Python。

【问题讨论】:

  • 您的预期输出是什么? NULL 最后 3 行的值?

标签: python powerbi powerbi-desktop m


【解决方案1】:

M 没有执行任何正则表达式操作的本机函数。你可以使用Python

第一步:将EntryTime的列数据类型改为Text

第 2 步:转到Transform -> Run Python Script

第 3 步:粘贴以下代码并点击ok

# 'dataset' holds the input data for this script
import pandas as pd
pat = r'\d{4}-\d{2}-\d{2} R'
dataset["New"] = dataset["EntryTime"].str.replace(pat,'')

第 4 步:您将看到一个带有 NameValue 的窗口,如下所示。

第 5 步:单击 Value 列下的 Table。您将得到如下所示的结果。

【讨论】:

  • 我收到一条错误消息“formula.firewall:查询'SessionData'引用了其他查询或步骤,因此它可能无法直接访问数据源。请重建此数据组合。有什么建议吗?
  • 最简单的解决方案是忽略隐私级别设置stackoverflow.com/questions/51823280
猜你喜欢
  • 2012-12-02
  • 1970-01-01
  • 1970-01-01
  • 2012-01-26
  • 1970-01-01
  • 2015-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多