[英]CALCULATE QUARTILES WITH FILTERS - POWER BI
I am trying to put together a DAX statement in Power BI to calculate the quartiles of a table according to some filters.我正在尝试将 Power BI 中的 DAX 语句放在一起,以根据某些过滤器计算表的四分位数。 I did a generic sentence however, I have problems to be able to assign the filters to it.然而,我做了一个通用的句子,我无法为它分配过滤器。 The table structure is:表结构为:
Campaing露营 | management管理 | group团体 | id_oper id_oper | name_oper名称_操作符 | nom_sup nom_sup | tickets门票 |
---|---|---|---|---|---|---|
convergente收敛 | bo tecnico博技术 | convergente收敛 | 0000000 0000000 | operador1操作员1 | supervisor1主管1 | 500 500 |
convergente收敛 | bo tecnico博技术 | convergente收敛 | 11111111 11111111 | operador2操作员2 | supervisor1主管1 | 200 200 |
convergente收敛 | bo tecnico博技术 | convergente收敛 | 22222222 22222222 | operador3操作员3 | supervisor1主管1 | 80 80 |
convergente收敛 | bo tecnico博技术 | convergente收敛 | 33333333 33333333 | operador4操作员4 | supervisor1主管1 | 300 300 |
despacho德斯帕乔 | bo despacho博德斯帕乔 | averias阿维利亚斯 | 44444444 44444444 | operador5操作员5 | supervisor2主管2 | 1500 1500 |
despacho德斯帕乔 | bo despacho博德斯帕乔 | averias阿维利亚斯 | 55555555 55555555 | operador6操作员6 | supervisor2主管2 | 500 500 |
despacho德斯帕乔 | bo despacho博德斯帕乔 | averias阿维利亚斯 | 66666666 66666666 | operador7操作员7 | supervisor2主管2 | 30 30 |
despacho德斯帕乔 | bo despacho博德斯帕乔 | averias阿维利亚斯 | 77777777 77777777 | operador8操作员8 | supervisor2主管2 | 1000 1000 |
multiskill多技能 | bo provision博规定 | multiskill多技能 | 88888888 88888888 | operador9操作员9 | supervisor3主管3 | 20 20 |
multiskill多技能 | bo provision博规定 | multiskill多技能 | 99999999 99999999 | operador10操作员10 | supervisor3主管3 | 5 5 |
multiskill多技能 | bo provision博规定 | multiskill多技能 | 12345678 12345678 | operador11操作员11 | supervisor3主管3 | 80 80 |
multiskill多技能 | bo provision博规定 | multiskill多技能 | 87654321 87654321 | operador12操作员12 | supervisor3主管3 | 3 3 |
And the Power BI query that i'm using is this:我正在使用的 Power BI 查询是这样的:
Quantile =
IF(TBL_CUARTIL[tickets]<= PERCENTILE.EXC(TBL_CUARTIL[tickets],0.25),"Q4",
IF(AND(TBL_CUARTIL[tickets]> PERCENTILE.EXC(TBL_CUARTIL[tickets],0.25),TBL_CUARTIL[tickets]<= PERCENTILE.EXC(TBL_CUARTIL[tickets],0.5)),"Q3",
IF(AND(TBL_CUARTIL[tickets]> PERCENTILE.EXC(TBL_CUARTIL[tickets],0.5),TBL_CUARTIL[tickets]<= PERCENTILE.EXC(TBL_CUARTIL[tickets],0.75)),"Q2",
IF(TBL_CUARTIL[tickets]> PERCENTILE.EXC(TBL_CUARTIL[tickets],0.75),"Q1"))))
The query calculates the quartile by operator and it works without problems, but it calculates them on the total of records, and I would like to know how I can calculate the same but with data filters, for example filters of the campaign column.该查询按运算符计算四分位数,它可以正常工作,但它根据记录总数计算它们,我想知道如何计算相同但使用数据过滤器,例如活动列的过滤器。
I would appreciate your help with this problem, and I hope I have explained ... thank you very much我很感激你对这个问题的帮助,我希望我已经解释了......非常感谢
Use New measure:使用新措施:
Quantile=
var cur_val = max(TBL_CUARTIL[tickets])
return IF(cur_val< PERCENTILEX.EXC(ALLSELECTED(TBL_CUARTIL), TBL_CUARTIL[tickets], 0.25),"Q4",
IF(AND(cur_val> PERCENTILEX.EXC(ALLSELECTED(TBL_CUARTIL), TBL_CUARTIL[tickets], 0.25),cur_val<= PERCENTILEX.EXC(ALLSELECTED(TBL_CUARTIL), TBL_CUARTIL[tickets], 0.5)),"Q3",
IF(AND(cur_val> PERCENTILEX.EXC(ALLSELECTED(TBL_CUARTIL), TBL_CUARTIL[tickets], 0.5),cur_val<= PERCENTILEX.EXC(ALLSELECTED(TBL_CUARTIL), TBL_CUARTIL[tickets], 0.75)),"Q2",
IF(cur_val> PERCENTILEX.EXC(ALLSELECTED(TBL_CUARTIL), TBL_CUARTIL[tickets], 0.75),"Q1"))))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.