Sql Excel月间持续时间-如何向Excel中添加其他行以显示每月的平均时间?

Sql Excel月间持续时间-如何向Excel中添加其他行以显示每月的平均时间?,sql,excel,excel-formula,powerbi,Sql,Excel,Excel Formula,Powerbi,我有一个基本的Excel电子表格,我正在导入Power BI以创建图表。该电子表格包含超过30万行的数据,每行都有一个唯一的车辆维修ID,以十进制小时表示开始日期、完成日期和完成维修所需的时间。如下所示: 维修ID |开始日期|完成日期|维修时间 A32C 1月16日3月31日6.0 我需要制作一个图表,显示沿x轴的所有12个月,平均维修时间除以持续时间(开始日期到完成日期),因此在这种情况下,我会有一个图表,有1-1小时、2-1小时、3-1小时 我需要在excel中获得额外的3行,每行32厘米

我有一个基本的Excel电子表格,我正在导入Power BI以创建图表。该电子表格包含超过30万行的数据,每行都有一个唯一的车辆维修ID,以十进制小时表示开始日期、完成日期和完成维修所需的时间。如下所示:

维修ID |开始日期|完成日期|维修时间

A32C 1月16日3月31日6.0

我需要制作一个图表,显示沿x轴的所有12个月,平均维修时间除以持续时间(开始日期到完成日期),因此在这种情况下,我会有一个图表,有1-1小时、2-1小时、3-1小时

我需要在excel中获得额外的3行,每行32厘米,平均每月时间额外一列,每个月额外一列。因此,在这期间的每个月我都需要一行。它看起来像:

A32C将增加3行,1月、2月和3月各一行,每行1小时。当然,我可以手动执行此操作,并将此新电子表格导入Power BI以生成图表,但我的问题是,电子表格的行数超过30万行-如何(如果有的话)自动执行此操作


非常感谢

编辑,用
交叉连接
公式修复错误


我实现这一点的方法(假设您无法以每天小时的水平获取数据)基本上是将您的数据与现有的月份表交叉连接,以创建一个包含您所需内容的全新表格

首先,你需要一张有所有月份的桌子。如果你已经有了,太好了。如果没有,您可以使用此公式在PowerBI中创建一个表(在“建模”选项卡上,单击“新建表”并输入此公式)

接下来,使用以下公式创建一个新表:

Results = FILTER(CROSSJOIN(Data, Months), Data[Start Date] <= Months[Date] && Data[Finish Date] >= Months[Date])

Joe,感谢您抽出时间回答问题。我担心它不太管用——当我设定一个月范围时,比如说从1月16日到12月17日31日,任何跨越全年的维修ID似乎都不包括在内。另外,有些应该在结果表中产生2行,产生3行,有些应该产生7行,产生8行等等。我不确定这是否与月份范围有关,或者我的日期是否是英国日期,power BI需要美国日期?我不知道如何上传屏幕截图到评论?删除[MonthNo]似乎可以解决问题,但不确定原因:-)Results=FILTER(交叉连接(数据,月份),Data[Start Date]=Months[Date])抱歉,我忽略了这个问题;现在有道理了。您需要比较整个日期,而不仅仅是月数。我已经用正确的公式更新了我的答案。你是明星乔,你的答案在工作中帮助了我,毫无疑问也会帮助其他希望这样做的人。我不知道为什么会有一个向下箭头,我在stackoverflow上的其他任何地方都找不到该怎么做。
Results = FILTER(CROSSJOIN(Data, Months), Data[Start Date] <= Months[Date] && Data[Finish Date] >= Months[Date])
AverageRepairTime = DIVIDE('Results'[Repair Time], CALCULATE(COUNT('Results'[Repair ID]), FILTER('Results', 'Results'[Repair ID] = EARLIER('Results'[Repair ID]))), 0)