首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于数据转换的工具推荐

用于数据转换的工具推荐
EN

Stack Overflow用户
提问于 2019-04-24 16:34:08
回答 1查看 102关注 0票数 0

我在Power BI中有大量原始故障数据。

代码语言:javascript
复制
code    time                    status  
x123    2019-04-22T23:57:00     ok  
x123    2019-04-23T01:00:00     faulty  
x123    2019-04-23T02:00:00     ok  
x123    2019-04-23T23:00:00     faulty  
x123    2019-04-24T01:00:00     ok  

我需要对其进行转换,以显示某一天某项处于故障状态的时间。因此,在23号,该项目在凌晨1点到2点之间处于故障状态,然后在晚上11点到午夜过后再次处于故障状态。

代码语言:javascript
复制
code    day         % of day faulty  
x123    23/04/2019  8.30%           (2 hours)  

我能在Power BI中轻松做到这一点吗?还是应该使用其他工具,如Azure Data Factory?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-24 18:55:56

将以下计算列添加到表中:

Report Date = Table1[time].[Date]

代码语言:javascript
复制
Fault Duration = 
VAR CurrentTime = Table1[time]
VAR CurrentCode = Table1[code]
VAR PreviousTime = 
    CALCULATE ( 
        MAX ( Table1[time] ),
        FILTER ( 
            Table1,
            Table1[time] < CurrentTime && 
            Table1[code] = CurrentCode
        )
    )
VAR NextTime = 
    CALCULATE ( 
        MIN ( Table1[time] ),
        FILTER ( 
            Table1,
            Table1[time] > CurrentTime && 
            Table1[code] = CurrentCode
        )
    )
VAR FaultyFrom = 
    IF(
        Table1[status] = "faulty",
        Table1[time],
        IF (
            DAY(PreviousTime) = DAY(Table1[time]),
            BLANK(),
            Table1[time].[Date]
        )
    )
VAR FaultyTo = 
    IF ( 
        Table1[status] = "ok",
        Table1[time],
        IF (
            DAY(NextTime) = DAY(Table1[time]),
            NextTime,
            Table1[time].[Date] + 1
        )
    )
RETURN
    IF(
        ISBLANK ( PreviousTime ) || ISBLANK ( NextTime ) || ISBLANK ( FaultyFrom ),
        BLANK(),
        FaultyTo - FaultyFrom
    )

现在创建度量:

Faulty Hours = SUM ( Table1[Fault Duration] )

代码语言:javascript
复制
Faulty % Day = 
    IF ( 
        HASONEVALUE ( Table1[Report Date] ),
        DIVIDE ( 
            [Faulty Hours],
            DISTINCTCOUNT ( Table1[code] ),
            BLANK()
        ),
        BLANK()
    )

输出:

有关PBIX文件的工作示例,请参阅https://pwrbi.com/so_55825688/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55825688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档