标签: powerquery

Power Query根据另一列转换列

我一直认为这应该很容易,但答案是回避我.在Excel Power Query中,我想根据另一列的值转换列的每一行中的值.例如,假设我有Table1如下:

Column A | Column B
-------------------
X        | 1
Y        | 2
Run Code Online (Sandbox Code Playgroud)

我想根据列B中的值转换A列中的值,而不必添加新列并替换原始列A.我尝试使用TransformColumns但输入只能是目标列的值 - 我可以从TransformColumns函数中访问行/记录中的其他字段值.我能够做这样的事情:

=Table.TransformColumns(Table1, {"Column A", each if [Column B]=1 then "Z" else _ })
Run Code Online (Sandbox Code Playgroud)

这将导致:

Column A | Column B
-------------------
Z        | 1
Y        | 2
Run Code Online (Sandbox Code Playgroud)

我知道有办法做到这一点,但我试图找到一个步骤/转换量最少的方法.例如,我知道我可以使用Table.AddColumn 基于查看B列的函数添加新的 A列,但是我必须删除原始的A列并将其替换为新的A列,这需要多个额外的步骤.

excel powerquery

6
推荐指数
2
解决办法
1万
查看次数

通过VBA自动更新电源查询连接

我在myexcel.xlsx中设置了Power Query.我将其连接的属性设置为 thisthis.

我写了一个如下的VBA代码

Sub UpdateData()
    Dim filename As String
    Dim wbResults As Workbook
   filename = "C:\myexcel.xlsx"
   Set wbResults = Workbooks.Open(filename)

   ActiveWorkbook.RefreshAll
   wbResults.Close savechanges:=True

End Sub
Run Code Online (Sandbox Code Playgroud)

当我手动打开myexcel.xslx时,Power Query连接会更新.但是通过VBA代码却没有.我应该添加我使用旧式Excel连接测试它,并通过VBA代码正常工作.但问题出在Power Query连接上.有什么想法吗?

excel vba data-connections powerquery

6
推荐指数
3
解决办法
2万
查看次数

如何将#datetime 转换为我的本地时区?

Power Query 中的列将 JavaScript 时区转换为英国格式:

= #datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]/1000)
Run Code Online (Sandbox Code Playgroud)

但这会产生错误的输出(-1hr 差异),大概是由于 UTC / GMT+夏令时差异?

我尝试使用以下代码再次转换:

= DateTimeZone.ToLocal(#datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]/1000))
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

Expression.Error: We cannot convert the value #datetime(2019, 7, 11, 23, 11, 40) to type DateTimeZone.
Details:
    Value=11/07/2019 23:11:40
    Type=Type
Run Code Online (Sandbox Code Playgroud)

我该如何正确地做到这一点?

编辑:

Timestamp = Text.BetweenDelimiters([ReceivedTime], "(", ")"), type text
Run Code Online (Sandbox Code Playgroud)

其中[ReceivedTime]是以毫秒为单位的 JSON 日期,例如:/Date(1562886700000)/

可能有一种更明智的方法来转换 JSON 日期,而无需借助Text方法。

生成的解决方案应在 Power BI 报告中正确显示 - …

excel m powerquery powerbi

6
推荐指数
1
解决办法
2230
查看次数

Power BI:将文本 (yyyymmdd) 转换为日期 (dd/mm/yyyy)

我特别尝试使用 Power BI 中的 Power Query 编辑器将A 列中的字符串:转换yyyymmdd为日期格式。dd/mm/yyyy我已经可以使用下面的公式在 Excel 中执行此操作:任何想法

Excel

=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))
Run Code Online (Sandbox Code Playgroud)

excel date date-formatting powerquery powerbi

6
推荐指数
2
解决办法
7万
查看次数

Excel Power Query - 将日期时间从UTC转换为Local

我通过Excel 2010中的Power Query(版本:2.10.3598.81)连接到MS SQL数据库.

我的日期以UTC格式存储在数据库中,但是我想在电子表格中将它们显示为本地日期.

DateTimeZone.From() - 转换为DateTimeZone类型,但假定输入日期位于本地时区.这与我想要的完全相反.

DateTimeZone.ToLocal() - 给出错误,我想因为源日期中没有时区信息.

在我的案例中,本地是澳大利亚东部时间,但如果Excel刚拿到当地时区,那将是很棒的.(它似乎已经这样做了)

sql-server excel excel-formula powerquery powerbi

5
推荐指数
1
解决办法
5159
查看次数

Powerquery错误连接

我试图使用电源查询连接到运行在(localdb)\ v11.0上的数据库,但我总是遇到以下错误:

DataSource.Error:Microsoft SQL:您尝试连接的SQL Server实例不支持加密.详细信息:Message =您尝试连接的SQL Server实例不支持加密.数字= 20等级= 20

谢谢你的评论.

powerquery

5
推荐指数
1
解决办法
1301
查看次数

如何在PowerQuery M.Language公式中进行计数/求和?

是否可以在powerquery公式中执行Excel的Countifs / Sumifs公式?假设我将[Column1]作为“标准范围”,将[Column2]作为“标准”(示例标准[Column2]文本包含“ Product”),并且我希望在新的自定义列([Column3] ])

m powerquery powerbi

5
推荐指数
2
解决办法
2万
查看次数

Power BI (Power Query) Web 请求导致“CR 必须后跟 LF”错误

当您使用Web.Page(Web.Contents('url'))函数从网页中读取表格时,某些站点会因换行不一致而导致错误。

DataSource.Error: 服务器违反了协议。Section=ResponseHeader Detail=CR 后必须跟 LF

似乎没有任何选项可以传递给 Web 函数来忽略这些错误。

此方法仅适用于一小段时间,但在保存/刷新后无法继续使用:

let
   BufferedBinary = Binary.Buffer(Web.Contents("http://vote.sos.ca.gov/returns/president/party/democratic/county/all")),
   CleanedUp = Text.Replace(Text.Replace(Text.FromBinary(BufferedBinary), "#(cr,lf)", "#(lf)"), "#(lf)", "#(cr,lf)"),
   Table = Web.Page(CleanedUp)
in
   Table
Run Code Online (Sandbox Code Playgroud)

newline m web-scraping powerquery powerbi

5
推荐指数
1
解决办法
2288
查看次数

将Python REST API调用转换为Power Query

我正在使用OAuth REST API公开的基于云的服务.

我有一个有效的Python脚本,通过它我可以先发布用户名,密码和api令牌来获取身份验证令牌.然后我使用api和身份验证令牌来获取数据.这是我的Python脚本:

import requests

base_url = 'https://example.com'
user_name = 'john_doe'
password = 'pssw0rd'
api_token = '4r-eueyta-dh7cuq-26'
timeout_min = 1

headers = {'Accept': 'application/json'}

# get authentication token
auth_url = base_url + '/api/authenticate'
data = {'Username': user_name, 
        'Password': password, 
        'ApiToken': api_token, 
        'AuthorizationTokenTimeoutMinutes': timeout_min}
r = requests.post(auth_url, headers=headers, data=data)
# the entire string response is the auth token
auth_token = r.text

# get data
proj_url = base_url + '/api/project/active?' + \
             'api-token={0}&authentication-token={1}'.format(api_token, auth_token)
r = requests.get(proj_url, headers=headers)
print(r.text)
Run Code Online (Sandbox Code Playgroud)

这工作正常.


接下来,我想在Microsoft …

python authentication rest powerquery powerbi

5
推荐指数
1
解决办法
1081
查看次数

PowerBI:列中的最后3个非空值

我有一张桌子,我每天都可以获得员工任务的状态.

如下图所示,我得到了值(机密,所以只输入了虚拟数据).

在此输入图像描述

然后我没有取消任何日期列,并制作了一份副本并用空格分割,以便我可以获得日期值.

在此输入图像描述

在这里,我想在每个任务的表格可视化中显示最后3个注释值.

如上图所示,如果5/31/2017的值不可用,那么它应该得到5/29/2017计划,5/29/2017实际值,5/30/2017计划值,即除了最后3个非空白值.

请给我任何建议.

莫汉五世

dax powerquery powerbi

5
推荐指数
1
解决办法
429
查看次数