简体   繁体   English

使用过滤器计算四分位数 - POWER BI

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM