使用 PowerBI 使用 Microsoft Cluster API
Posted
技术标签:
【中文标题】使用 PowerBI 使用 Microsoft Cluster API【英文标题】:Consume Microsoft Cluster API using PowerBI 【发布时间】:2016-10-18 13:00:01 【问题描述】:感谢您回复我。
基本上我订阅了集群 API 服务(cortana 分析)。这是 Microsoft 机器学习网站上的示例应用程序
http://microsoftazuremachinelearning.azurewebsites.net/ClusterModel.aspx
如您所见,需要传递 2 个参数
输入
K
输入可以是 10;5;2,18;1;6,7;5;5,22;3;4,12;2;1,10;3;4(每行用分号隔开)
而K是簇数:5(例如)
所以为了使用这个 API,我使用 PowerBI 编辑查询,
所以转到获取数据 > 更多 > Azure > Microsoft Data MarketPlace,我可以看到我订阅的 API 列表,其中之一就是我在上面的链接中提到的那个。
所以我将其加载为函数,我们将其称为“分数”
然后我得到了从 csv 文件加载的能量表,我想将能量消耗分成 5 个集群。
所以我的数据布局是
年能量
2001 6.28213
2002 年 14.12845
2003 5.55851
等等,假设我得到了 100 行数据。
所以我尝试将“6.28213;14.12845;5.55851”、“5”传递给 Score 函数,但我不知道如何
将我的表格转换为记录
将 2 个参数记录和常量值 5 作为 K 传递。
希望这是有道理的。
请帮忙! :)
提前谢谢你。
【问题讨论】:
【参考方案1】:要将一列数字转换为分号分隔的文本,请对您的表格执行以下操作:
-
将您的能量列转换为文本类型。
在您的餐桌名称后添加
[Energy]
,这将为您提供数字列表。
使用Text.Combine
将列表转换为由;
分隔的文本值
这是一个可以做到这一点的混搭:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("NcjBCQAgDAPAXfKWYqKR7iLdfw1F8J63N9Q70bBCKQ5Ue6VbnEHl9L9xz2GniaoD", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Year = _t, Energy = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,"Year", Int64.Type, "Energy", type text),
Custom1 = #"Changed Type"[Energy],
Custom2 = Text.Combine(Custom1, ";")
in
Custom2
一旦你有了一个函数,你就会像YourFunction(Custum2, 5)
一样调用它
【讨论】:
几乎明白了,只是我收到另一个错误 DataSource.Error: We could not parse OData response result。错误:“Microsoft.CloudML.ScoreResult”类型上不存在属性“V7”。确保仅使用类型定义的属性名称。 很高兴看到您的函数调用正常工作:) 我通常会为此提出一个新的堆栈溢出问题,但我认为这是一个 odata 错误。也许会皱眉?如果这无助于尝试 power bi 论坛? :)以上是关于使用 PowerBI 使用 Microsoft Cluster API的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft PowerBI:无法加载安全库:krb5_64.dll
找不到方法:'无效 Microsoft.PowerBI.Api.V1.PowerBIClient..ctor(Microsoft.Rest.ServiceClientCredentials, Syst