使用 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

powerbi

powerbi工具都有哪些

使用Microsoft Power BI进行基本的数据分析

使用列上的$ expand的Power BI