使用日期过滤器计算第90个百分位数并按列分组-PowerBi

时间:2019-03-09 06:15:48

标签: powerbi powerbi-desktop

我遇到了以下问题,需要您的帮助和帮助以解决以下问题。

我有一张包含以下数据的表。 T1,T2,T3在分钟和日期列中也可用。

enter image description here

基于此表数据,我希望我的输出看起来像这样

enter image description here

示例:对于类别工厂,我想从TableA数据计算T1(m)的第90个百分位数,其公式为= percentile.Inc([9925,20,301,45],0.90),这使我的输出值等于7037.8,对于输出中的Total,也希望使用相同的公式计算T1(m)等于5638的第90个百分位数。

注意:-当我选择日期范围时,我需要在输出表上应用日期过滤器,我的输出值也应随之更改,包括我的第90个百分位数。

我能够获得某部分的输出,但是我的问题是我无法应用日期过滤器。任何人都可以请问我的问题并给我样品。

非常感谢您的帮助! 谢谢

1 个答案:

答案 0 :(得分:0)

请检查我是否已正确简化了您的问题。您需要对类别进行百分位数测量。这是示例代码:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bdE7DsMwDAPQu3hOAEvyd2x7jCD3v0bdBmCZgkOWB4GmlONIj7Sltj7PNvcce7Z0bhcbs4MHc4Anc9FcwcHcdHYHd+ahQ6Z80vKXnx9iNs0OvoUEmAta0SFVTzdwZe7g1ZV8wAvzBPNf89+afCu/1nz9NXQHc0MP8C27gPkoXsFc0Jt+smseYD6KTzkdWU7H2vJ8Aw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [category = _t, value = _t, date = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"value", Int64.Type}, {"date", type date}})
in
    #"Changed Type"

在其中添加所需的DAX度量:

Measure = PERCENTILE.INC(FactTable[value],0.90)

要在日期上正确过滤/切片事实表,建议添加日历表并在这些表之间建立关系。请检查此帖子以获取日历表的更多参考:https://stackoverflow.com/a/54980662/1903793 然后在日历表而非事实表上为日期构建切片器。