此代码段显示了我们正在查看的图表,并且有空白。我们要显示这些值是什么,而不是这些日期和ID的空格。但是,每个ID或Date的值(费率)可能不同。 (这可能在极少数情况下发生。)
此代码段显示了从excel中提取到Power BI中的数据(仅示例数据)。请注意,所有日期都是按顺序排列的,但是请注意,某些ID在某些日期没有条目。
我想说IF(此日期ID为空,然后将附加到此ID的Value(Rate))。
在Power BI中可能无法做到这一点。我们有一个具有类似数据的excel电子表格,可以执行我们想要的操作,但是我们希望使用Power BI进行自动化。
有什么想法吗?
更新
但是,我已经采取了有利于我的措施。我需要获得度量的总和:“价值或利率”度量。我确实有“价值或比率”-如果我可以做与“价值或比率”度量相同的事情,并且总和是很好的话,那么可以通过直观的总计得出。
请在下面查看更新的屏幕截图。
答案 0 :(得分:1)
作为一种度量,您可以执行以下操作。我假设您的模型如下:
使用这些表,您将具有以下关系:
使用上述模型,您可以构建以下内容的视觉效果
:Value = SUM ( 'Fact'[Value] )
Rate = SUM ( 'Rates'[Rate] )
Value Or Rate Measure =
VAR Value = [Value]
RETURN
IF ( ISBLANK ( Value ), [Rate], Value )
这可能不符合您想要的总数-您未指定。因此,如果您需要视觉总计,则可以尝试以下操作:
Value or Rate - visual totals =
SUMX (
CROSSJOIN ( VALUES ( 'Dim'[ID] ), VALUES ( 'DimDate'[Date] ) ),
[Value Or Rate Measure]
)
您也可以在Power Query M中处理此问题,前提是您拥有与上述相同的表。我假设每个表都有一个同名的关联查询。
let
Source = Table.AddColumn(Dim, "Date", each DimDate[Date]),
#"Expanded Date" = Table.ExpandListColumn(Source, "Date"),
#"Merged Queries" = Table.NestedJoin(#"Expanded Date", {"id", "Date"}, Fact, {"ID", "Date"}, "Fact", JoinKind.LeftOuter),
#"Expanded Fact" = Table.ExpandTableColumn(#"Merged Queries", "Fact", {"Value"}, {"Value"}),
#"Merged Queries1" = Table.NestedJoin(#"Expanded Fact", {"id"}, Rates, {"ID"}, "Rates", JoinKind.LeftOuter),
#"Expanded Rates" = Table.ExpandTableColumn(#"Merged Queries1", "Rates", {"Rate"}, {"Rate"}),
#"Added Custom" = Table.AddColumn(#"Expanded Rates", "Value Or Rate", each if [Value] = null then [Rate] else [Value]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Value", "Rate"})
in
#"Removed Columns"
在这里,我们正在做类似的事情,但是是在表级别,而不是作为度量。我们交叉连接Dim [ID]和DimDate [Date]以获得所有日期和ID组合的密集表。然后我们离开原来的事实表和费率表。然后,我们添加一列,如果存在[Value],则接受[Value];如果[Value]为空,则接受[Rate]。