使用列上的$ expand的Power BI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用列上的$ expand的Power BI相关的知识,希望对你有一定的参考价值。

Power BI新手在这里。

我想根据我的Azure DevOps数据(https://docs.microsoft.com/en-us/azure/devops/report/powerbi/sample-test-plans-execution-trend?view=azure-devops&tabs=powerbi)构建如示例报告中所示的Power BI可视化。

使用DateSK制作X轴似乎不起作用,因为PowerBI将其作为一个整数对待,而​​在我的可视化中,X轴的方式是线性地处理它(绘制的X轴是这样的:20200100 20200150 20200200 20200250,依此类推, )。我想了解Microsoft文档中显示的每日视图。

PowerBI也不允许我将DateSK数据类型从整数转换为日期格式。

我曾尝试在Power BI查询中使用$expand,但看来日期列无法让我扩展或我做错了。

[如果您有任何解决方法或使用$expand进行查询的方式,请告诉我。我想查看扩展的日期格式而不是DateSK的视图。

下面是来自Microsoft文档的参考,如上面的链接所示:

let 
    Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/TestPointHistorySnapshot?" 
        &"$apply=filter((TestSuite/TestPlanTitle eq '{testPlanTitle}') and (DateSK ge {startDate} and DateSK le {endDate}))" 
        &"/groupby(" 
            &"(DateSK)," 
            &"aggregate(" 
                &"$count as TotalCount," 
                &"cast(ResultOutcome  eq 'Passed', Edm.Int32) with sum as Passed," 
                &"cast(ResultOutcome  eq 'Failed', Edm.Int32) with sum as Failed," 
                &"cast(ResultOutcome eq 'Blocked', Edm.Int32) with sum as Blocked," 
                &"cast(ResultOutcome eq 'NotApplicable', Edm.Int32) with sum as NotApplicable," 
                &"cast(ResultOutcome eq 'None', Edm.Int32) with sum as NotExecuted," 
                &"cast(ResultOutcome ne 'None', Edm.Int32) with sum as Executed 
            ) 
        )", null, [Implementation="2.0"]) 
in 
    Source

答案

我通过将列转换两次,首先转换为文本,然后转换为日期来实现。

下面,我显示了高级编辑器中的查询更改,但是我在可视查询编辑器中进行了列转换。第一步,我将计数转换为整数,并将dateSK转换为文本。

第二步,我将“日期”列转换为日期,然后将该列从DateSK重命名为“日期”。

    #"Changed Type" = Table.TransformColumnTypes(Source,{{"TotalCount", Int64.Type}, {"Passed", Int64.Type}, {"Failed", Int64.Type}, {"Blocked", Int64.Type}, {"NotApplicable", Int64.Type}, {"NotExecuted", Int64.Type}, {"Executed", Int64.Type}, {"DateSK", type text}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Changed Type",{{"DateSK", type date}}),
    #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"DateSK", "Date"}}),

以上是关于使用列上的$ expand的Power BI的主要内容,如果未能解决你的问题,请参考以下文章

从使用 Power BI 的网站抓取数据 - 从网站上的 Power BI 检索数据

在 Power Bi 中使用 Power Query M 的上一周日期

在 s-s-rS Power BI 报表生成器中添加百分比差异的总数

Power BI Python 在Power BI Desktop中Python代码如何使用Power Query数据

Power-BI 报表常用功能自适应设置

Power BI - 时间序列比较两个不同的开始日期