如何解决Excel Power Pivot-重叠的日期范围
我有一个文件,该文件包含3行50,000行数据-唯一ID,开始日期和结束日期。
使用Power Pivot,我需要确定任何具有相同唯一ID的记录是否具有重叠的日期。每个唯一ID大约出现5次。
在excel中,我会使用一个公式
SUMPRODUCT: =SUMPRODUCT(($B3<=$C$3:$C$13)*($C3>=$B$3:$B$13)*($A$3:$A$13=A3))>1
虽然此公式在excel中非常有效,并且记录超过50k,但这使我的计算机瘫痪了。
我想知道如何在Power Pivot /查询中执行相同的计算。
Example of the data and calculation.
非常感谢您!
解决方法
在PowerQuery M代码之后,这将解决您的问题。不知道5万行将花费多长时间:
let
Quelle = Excel.CurrentWorkbook(){[Name="tab_Dates"]}[Content],Change_Type = Table.TransformColumnTypes(Quelle,{{"Unique ID",type text},{"Start Date",type date},{"End Date",type date}}),add_List_Dates = Table.AddColumn(Change_Type,"List_Dates",each List.Dates([Start Date],Duration.Days([End Date]-[Start Date])+1,#duration(1,0))),expand_List_Dates = Table.ExpandListColumn(add_List_Dates,"List_Dates"),add_CountIF_ID_Date = Table.AddColumn(expand_List_Dates,"CountIF_ID_Date",(CountRows) =>
Table.RowCount(
Table.SelectRows(
expand_List_Dates,each
([Unique ID] = CountRows[Unique ID] and [List_Dates] = CountRows[List_Dates])))),Change_Type_2 = Table.TransformColumnTypes(add_CountIF_ID_Date,{{"CountIF_ID_Date",type text}}),ChangeValue_CountIF_ID_Date = Table.ReplaceValue(Change_Type_2,each [CountIF_ID_Date],each if [CountIF_ID_Date] <> "1" then "FALSE" else "TRUE",Replacer.ReplaceText,{"CountIF_ID_Date"}),Remove_Column_List_Dates = Table.RemoveColumns(ChangeValue_CountIF_ID_Date,{"List_Dates"}),Remove_Duplicates = Table.Distinct(Remove_Column_List_Dates)
in
Remove_Duplicates
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。