我对年初至今平均数的可视化有疑问。
我在excel中有一个与Power BI链接的数据库。数据库的格式如下: database structure 需要绘制的是基于数据的每月平均值和年初至今平均值。 Power BI报表包含一些切片器,因此需要选择5-6个不同的区域以及5-6个不同的模型类型。
Montly average正在与每个周期的显示提前期平均值一起工作。 周期主要是一个月,但与日历月不在同一系统中。 P01是10月,P02是11月,P03是12月... P12是9月。
因此,需要计算的是切片器仍在工作的YTD平均值:
对于P01,每月和年初至今的平均值相同。 对于P02,每月平均值基于报告的所有P02项目,但年初至今平均值如下: YTD P02 =提前期总和除以P01和P02期间的数量之和。
对于P03,本年迄今交货时间应为P01-P03期间的提前期总和除以同期的项目数量。
等对于P04-P12,正在进行相同的设置。
我正在使用功率Bi可视化每月平均值,并且还可以计算每月数量(计数)。
我该如何使用年初至今计算出的功率bi值来管理图呢? power bi graph
每月平均和每月的数量存在,因此使用以下值编写函数的任务:
....直到P12。
有人对解决方案有想法吗? 预先感谢。
Gabor
答案 0 :(得分:0)
虽然您没有使用实际日期,但是您具有按升序排列的值,因此应该能够使用与DAX和Power BI中的标准年初至今度量标准类似的模式。应该归功于DAX Patterns website后面的SQLBI团队,我只是在这里自定义他们的工作。
为使事情变得清晰,我建议将事情分解为多个步骤,针对总提前期和测量次数建立年初至今的度量,然后再提出三分之一以给出所需的实际平均值。如果存在问题,单独的措施也有助于调试。
我假设您的数据表名为“ MyTable”。
[TotalLeadTimeYTD] :=
CALCULATE (
SUM('MyTable'[Leadtime]),
FILTER (
ALL ( 'MyTable' ),
'MyTable'[FY] = MAX ( 'MyTable'[FY] )
&& 'MyTable'[Period] <= MAX ( 'MyTable'[Period] )
)
)
并且:
[CountOfMeasuresYTD] :=
CALCULATE (
COUNTROWS('MyTable'),
FILTER (
ALL ( 'MyTable' ),
'MyTable'[FY] = MAX ( 'MyTable'[FY] )
&& 'MyTable'[Period] <= MAX ( 'MyTable'[Period] )
)
)
最后
AverageLeadTimeYTS := DIVIDE([TotalLeadTimeYTD],[CountOfMeasuresYTD])
请注意,由于您没有单独的日期表,因此所有计算(“ MyTable”)也会删除您已应用的所有其他过滤器。如果这不是理想的结果,则需要进行更改,以便除去针对期间和年份的过滤器,而不除去其他过滤器。 ALL('MyTable'[FY],'MyTable'[Period])可能有效,但目前我们很难在没有样本数据的情况下进行编码。
上述措施已针对以下硬编码数据集进行了测试:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcos0tFDSUQowBBKGSrE6CBEjIGGEImIMJIxhIuYYusyRdMUCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", Int64.Type}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type",{{"Column1", "FY"}, {"Column2", "Period"}, {"Column3", "Leadtime"}})
in
#"Renamed Columns"