If statement 在power bi桌面中切换最小和最大范围为真

If statement 在power bi桌面中切换最小和最大范围为真,if-statement,powerbi,max,dax,min,If Statement,Powerbi,Max,Dax,Min,我试图指定每个标注范围(长度、宽度和高度)的值,并根据长度、宽度和高度指定标准 在数据表中,我有3列,分别是长度、宽度、高度,这3列是我想根据下面提到的条件范围生成的状态列 条件范围 长度、宽度和高度从1开始到300,然后是A1 长度、宽度和高度从301到650,然后是A2 长度、宽度和高度从651到900,然后是A3 长度、宽度和高度从901到1200,然后是A4 长度、宽度和高度从1201开始,然后是XXX 数据 长度 宽度 高度 期望结果范围 NA NA NA NA 20000

我试图指定每个标注范围(长度、宽度和高度)的值,并根据长度、宽度和高度指定标准

在数据表中,我有3列,分别是长度、宽度、高度,这3列是我想根据下面提到的条件范围生成的状态列

条件范围

  • 长度、宽度和高度从1开始到300,然后是A1

  • 长度、宽度和高度从301到650,然后是A2

  • 长度、宽度和高度从651到900,然后是A3

  • 长度、宽度和高度从901到1200,然后是A4

  • 长度、宽度和高度从1201开始,然后是XXX

  • 数据

    长度 宽度 高度 期望结果范围 NA NA NA NA 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
    好的,您可以尝试以下dax度量,因为它会将所有行分配给每个类别,并将所有行分配给
    其他
    ,如果不符合任何标准,请注意,因为您的数据包含
    NA
    ,因此所有值都在
    文本中,以便在计算过程中需要转换为数字:

    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"))))))
    
    Result=IF(Sheet1[LENGTH]=“NA”| | Sheet1[WIDTH]=“NA”| | Sheet1[HEIGHT]=“NA”、“NA”,
    如果(值(表1[长度])大于0和值(表1[长度])0和值(表1[宽度])0和值(表1[高度])300和值(表1[长度])300和值(表1[宽度])300和值(表1[高度])650和值(表1[长度])650和值(表1[宽度])650和值(表1[高度])900和值(表1[长度])900和值(表1[宽度])900&&VALUE(Sheet1[高度])1200&&VALUE(Sheet1[宽度])>1200&&VALUE(Sheet1[高度]>1200,“XXX”,
    "()()"其他"())
    
    结果:


    您的结果似乎不符合相同的逻辑?例如,为什么当所有值都高于300时,第10行是
    A1
    ,而当其中一个值低于300时,第7行是
    A2
    ,谢谢您的回复。我手工准备了想要的结果,所以我犯了一个错误。如果
    长度和宽度
    高于700,但
    高度
    低于300,结果是什么,因为您的标准没有提到
    其他
    因素,因为它只包括满足这三个标准时,然后只返回一个值,但是当
    只有两个满足
    并且其中一个
    不满足
    时,情况就不是这样了,这是真的。如果不符合标准范围,请标记“?”,如果可能的话,我将在以后修改我的范围,使其覆盖一些值。谢谢。我理解你的观点,其中大多数没有涵盖标准范围,但我会根据我的实际标准范围进行修改。我想知道如何在power bi中执行此操作,然后我将在稍后修改公式。我正在寻找新的计算列选项。你有空的时候能给我提个建议吗?谢谢你的帮助,也谢谢你解释笔记。此度量或DAX是新的计算列。你能给我个建议吗。我正在寻找新的计算列选项。它是一个添加列度量,结果在原始数据表中,如果有帮助,请接受答案:)