在 Power Bi Desktop 中为最小和最大范围切换为真
Switch true for min and max range in power bi desktop
我正在尝试指定每个尺寸范围(长度、宽度和高度)的值,并根据长度、宽度和高度指定标准。
在数据中 table 我有 3 列是长度、宽度、高度,基于这 3 列我想生成基于下面提到的条件范围的状态列。
条件范围
长宽高是从1到300然后是A1.
长宽高是从301开始到650然后是A2.
长宽高是从651开始到900然后是A3.
长宽高是从901开始到1200然后是A4
长宽高是从上面的1201开始然后是XXX
数据
长度
宽度
身高
期望的结果范围
不适用
不适用
不适用
不适用
20000
5000
230
XX
400
300
140
A1
空白
600
400
285
A2
600
400
285
A2
400
300
150
A1
280
230
170
A1
320
320
320
A1
320
320
320
A1
600
400
140
A1
400
300
140
A1
400
300
140
A1
370
320
340
A1
320
240
250
A1
300
200
90
A1
400
290
140
A1
600
400
285
A1
Table 结果看起来像
有什么建议吗
好吧,您可以尝试以下 dax 度量,因为它会将所有行分配给每个类别,如果不符合任何条件,则分配给 Other
,请注意,因为您的数据包含NA
,因此所有的值都在Text
中,因为在计算时需要转换为数字:
Result = IF(Sheet1[LENGTH] = "NA" || Sheet1[WIDTH] = "NA" || Sheet1[HEIGHT] ="NA", "NA",
IF(VALUE(Sheet1[LENGTH])>0 && VALUE(Sheet1[LENGTH]) <=300 && VALUE(Sheet1[WIDTH]) >0 && VALUE(Sheet1[WIDTH]) <=300 && VALUE(Sheet1[HEIGHT]) >0 && VALUE(Sheet1 [HEIGHT]) <=300, "A1",
IF(VALUE(Sheet1[LENGTH])>300 && VALUE(Sheet1[LENGTH]) <=650 && VALUE(Sheet1[WIDTH]) >300 && VALUE(Sheet1[WIDTH]) <=650 && VALUE(Sheet1[HEIGHT]) >300 && VALUE (Sheet1[HEIGHT]) <=650, "A2",
IF(VALUE(Sheet1[LENGTH])>650 && VALUE(Sheet1[LENGTH]) <=900 && VALUE(Sheet1[WIDTH]) >650 && VALUE(Sheet1[WIDTH]) <=900 && VALUE(Sheet1[HEIGHT]) >650 && VALUE (Sheet1[HEIGHT]) <=900, "A3",
IF(VALUE(Sheet1[LENGTH])>900 && VALUE(Sheet1[LENGTH]) <=1200 && VALUE(Sheet1[WIDTH]) >900 && VALUE(Sheet1[WIDTH]) <=1200 && VALUE(Sheet1[HEIGHT]) >900 && VALUE(Sheet1[HEIGHT]) <=1200, "A4",
IF(VALUE(Sheet1[LENGTH])>1200 && VALUE(Sheet1[WIDTH]) >1200 && VALUE(Sheet1[HEIGHT]) >1200 , "XXX",
"Others"))))))
结果:
我正在尝试指定每个尺寸范围(长度、宽度和高度)的值,并根据长度、宽度和高度指定标准。
在数据中 table 我有 3 列是长度、宽度、高度,基于这 3 列我想生成基于下面提到的条件范围的状态列。
条件范围
长宽高是从1到300然后是A1.
长宽高是从301开始到650然后是A2.
长宽高是从651开始到900然后是A3.
长宽高是从901开始到1200然后是A4
长宽高是从上面的1201开始然后是XXX
数据
长度 | 宽度 | 身高 | 期望的结果范围 |
---|---|---|---|
不适用 | 不适用 | 不适用 | 不适用 |
20000 | 5000 | 230 | XX |
400 | 300 | 140 | A1 |
空白 | |||
600 | 400 | 285 | A2 |
600 | 400 | 285 | A2 |
400 | 300 | 150 | A1 |
280 | 230 | 170 | A1 |
320 | 320 | 320 | A1 |
320 | 320 | 320 | A1 |
600 | 400 | 140 | A1 |
400 | 300 | 140 | A1 |
400 | 300 | 140 | A1 |
370 | 320 | 340 | A1 |
320 | 240 | 250 | A1 |
300 | 200 | 90 | A1 |
400 | 290 | 140 | A1 |
600 | 400 | 285 | A1 |
Table 结果看起来像
有什么建议吗
好吧,您可以尝试以下 dax 度量,因为它会将所有行分配给每个类别,如果不符合任何条件,则分配给 Other
,请注意,因为您的数据包含NA
,因此所有的值都在Text
中,因为在计算时需要转换为数字:
Result = IF(Sheet1[LENGTH] = "NA" || Sheet1[WIDTH] = "NA" || Sheet1[HEIGHT] ="NA", "NA",
IF(VALUE(Sheet1[LENGTH])>0 && VALUE(Sheet1[LENGTH]) <=300 && VALUE(Sheet1[WIDTH]) >0 && VALUE(Sheet1[WIDTH]) <=300 && VALUE(Sheet1[HEIGHT]) >0 && VALUE(Sheet1 [HEIGHT]) <=300, "A1",
IF(VALUE(Sheet1[LENGTH])>300 && VALUE(Sheet1[LENGTH]) <=650 && VALUE(Sheet1[WIDTH]) >300 && VALUE(Sheet1[WIDTH]) <=650 && VALUE(Sheet1[HEIGHT]) >300 && VALUE (Sheet1[HEIGHT]) <=650, "A2",
IF(VALUE(Sheet1[LENGTH])>650 && VALUE(Sheet1[LENGTH]) <=900 && VALUE(Sheet1[WIDTH]) >650 && VALUE(Sheet1[WIDTH]) <=900 && VALUE(Sheet1[HEIGHT]) >650 && VALUE (Sheet1[HEIGHT]) <=900, "A3",
IF(VALUE(Sheet1[LENGTH])>900 && VALUE(Sheet1[LENGTH]) <=1200 && VALUE(Sheet1[WIDTH]) >900 && VALUE(Sheet1[WIDTH]) <=1200 && VALUE(Sheet1[HEIGHT]) >900 && VALUE(Sheet1[HEIGHT]) <=1200, "A4",
IF(VALUE(Sheet1[LENGTH])>1200 && VALUE(Sheet1[WIDTH]) >1200 && VALUE(Sheet1[HEIGHT]) >1200 , "XXX",
"Others"))))))
结果: