DAX / PowerPivot交叉连接类型的查询扩展到unummarize / de-aggregate数据

时间:2014-11-12 17:14:29

标签: excel pivot powerpivot dax

所以,我对我前一段时间提出的问题有一个扩展(参考:DAX / PowerPivot query functions to spread aggregated values over time period),我一直在打击我的头。

我有相同的一般数据(MS项目导出的输出),其中包含任务,持续时间,任务等。任务已根据与之相关的项目/应用进行分类。随着时间的推移,我可以毫无问题地进行数小时的传播。问题在于将自定义字段中的值传播到所有其他字段。

现有支点的示例输出:

Current Output Table

我想要的是让“ALL”中的所有内容均匀地分布在所有其他的Related_Applications上 - 大约有20个,并且有一个表格,所以我会使用{{1 }}。

使用以上作为示例,我正在尝试使用它,以便每个ALL的小时(和名称)显示在每个Related_Applications中。例如。 2015年第2个月的信息保障和安全应按小时/国家(所有(相关应用))进行传播。同样,如果您要使用系统管理员值,他们需要传播和扩展。添加到现有行值。 DAX的目标输出类似于CrossJoin,最终结果如下:

Desired Output Table

我一直在想我很接近,并为“SpreadValuesSheet”添加了一个虚拟表来使用ALLEXCEPT和ALL函数。它包含应该传播的值(目前有3x ... ALL,PM和CM)。我有另一个“ApplicationsSheet”表,它有30x左右的应用程序,那里应该传播的时间。

数据模型@ current设置如下:

Data Model

我可以单独获得这些作品;但似乎无法将度量重新放回到AssignmentsSheet中(因此我可以按时间传播,按资源过滤等)...我通过以下计算列和度量的定义来管理:

AssignmentsSheet:

COUNTROWS()

完美无缺。为了分散其他人,我开始遇到问题。我目前坚持以下措施:

MeasureSumScheduledWork:=sum([Scheduled_Work])
Hours Apportioned Raw:=DIVIDE (
    CALCULATE (
                [MeasureSumScheduledWork],
                FILTER (
                    AssignmentsSheet,
                    AssignmentsSheet[Start_Date] <= MAX ( DateSheet[Date] )
                        && AssignmentsSheet[Finish_Date] >= MAX ( DateSheet[Date] )
                        )
                )
    , ( COUNTROWS(DATESBETWEEN ( DateSheet[Date], FIRSTDATE ( AssignmentsSheet[Start_Date] ), LASTDATE ( AssignmentsSheet[Finish_Date] ))))
)

SpreadHoursMeasure:=SUMX (
    VALUES ( DateSheet[Date] ),
    SUMX ( VALUES ( AssignmentsSheet[Index] ), [Hours Apportioned RAW] )
)

SpreadValuesSheet:

UFSpreadHoursMeasure:=CALCULATE(
SUMX (
    VALUES ( DateSheet[Date] ),
    SUMX( VALUES ( AssignmentsSheet[Index]), [Hours Apportioned Raw])
), RELATEDTABLE(SpreadValuesSheet))

SpreadAllValuesMeasure:=[SpreadHoursMeasure]+CALCULATE([UFSpreadHoursMeasure],all(ApplicationsSheet))

ApplicationsSheet

Calculated Column: 
SumHours =[SpreadHoursMeasure]
MeasureSpreadHours:=sum([SumHours])

0 个答案:

没有答案