DAX查询表格:如何使用带有FILTER函数的SUMMARIZE函数,它们在两个函数上都有不同的列

时间:2017-09-30 18:06:39

标签: filter dax tabular summarize

我们正在使用 SELECTCOLUMNS 功能提供用于聚合数据的Alais名称, SUMMARIZE 功能,我们还使用 FILTER 功能过滤数据在同一个查询中。

  

要求:我们希望在其他一些列上执行聚合   想要在同一查询中的另一列上执行过滤。我们能做到   在SQL中,我们也可以在DAX中进行,如果是,那么你可以发布一个例子吗?

SQL示例:

select Column1 from TableName where Column2 = 'PO Flag' group by Column1

DAX示例:

Evaluate (    SelectColumns(     Filter (      Summarize ( 
     'Internet Sales', 
     'Product'[Model Name], 
     "Sales",SUM('Internet Sales'[Sales Amount])
     ) ,  
     'Product'[Product Name]="HL Road Tire"
     )  ,    "Product",'Product'[Model Name],    "Sales",[Sales]   )   )

请帮助!!!!

1 个答案:

答案 0 :(得分:0)

它可以像这样工作:

EVALUATE (    
    FILTER(
        SELECTCOLUMNS (     
            SUMMARIZE (
                'Internet Sales', 
                'Product'[Model Name], 
                "Sales", 
                CALCULATE(SUM('Internet Sales'[Sales Amount]), 'Product'[Product Name] = "HL Road Tire")), 
            "Product", [Model Name],
            "Sales", [Sales]),
        NOT (ISBLANK([Profit]))))

因此,在这种情况下,我使用内部CALCULATE()Product[Product Name]上应用过滤器。您试图在已经汇总的行之后过滤掉这些行,但由于正在过滤的列并不存在于汇总表中,因此它无法正常工作。