Power BI 中怎样按照按照时间(有起止两列时间)和状态来统计?

有开始和完成两列时间,按照状态 complete/cancel/reject都属于close,要统计完成时间。怎样能以年为单位,做出每年的 total(以开始时间为准)和 close的折线图?数据很多,随手写几个做个例子 (如果创建时间表,那么要和哪个日期连线呢,如果不用时间表,怎样能涵盖所有的时间并与状态对上?) 拜谢各位大佬!

在 Power BI 中,可以使用 DAX 函数来实现按时间和状态统计的需求。具体步骤如下:
1. 首先,需要将数据导入 Power BI,确保时间和状态两列的数据类型正确。
2. 创建一个新的表格或新的视觉化对象,在该表格或对象中添加需要的字段。例如,为了按时间和状态统计,需要添加时间和状态两个字段。
3. 在“时间”字段中,可以使用 DAX 函数“DATEDIFF”来计算时间差。例如,如果起始时间和结束时间分别存储在两个不同的列中,可以使用以下公式计算时间差:
```
TimeDiff = DATEDIFF([Start Time], [End Time], DAY)
```
4. 在“状态”字段中,可以使用 DAX 函数“COUNTIF”来统计符合条件的行数。例如,如果状态列中有“进行中”和“已完成”两种状态,可以使用以下公式分别统计两种状态的行数:
```
InProgressCount = COUNTIF([Status], "进行中")
CompletedCount = COUNTIF([Status], "已完成")
```
5. 将计算出的时间差和状态行数与其他需要的字段一起添加到表格或视觉化对象中,即可按照时间和状态来统计数据。
以上是一种实现按时间和状态统计的方法,具体实现方式可能因数据结构和需求而异。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-08

在 Power BI 中按照时间和状态来统计,需要进行以下步骤:

    在数据视图中,确保起始时间和结束时间列的数据类型为日期/时间类型。

    创建一个新的表格,将状态列添加到该表格中。

    在该表格中,添加两个新的计算列:开始时间和结束时间。使用 DAX 函数来计算这些列,例如:开始时间 = IF(ISBLANK([Start]), [End], [Start]),结束时间 = IF(ISBLANK([End]), [Start], [End])。

    创建一个新的日期表,以天或者小时为单位。确保日期表包含了起始时间和结束时间的时间范围。在 Power BI Desktop 中,可以使用自动生成日期表的功能来创建日期表。

    将日期表与状态表格进行关联,创建一个基于时间和状态的交叉表或者透视表。在交叉表或者透视表中,将日期字段放置在行字段中,将状态字段放置在列字段中,在值字段中选择要统计的指标,例如计数或者金额。

    可以根据需要添加筛选器来限制分析的时间范围和状态,例如只分析最近一个月的数据或者只分析特定的状态。
    通过以上步骤,就可以按照时间和状态来统计数据了。

相似回答