在powerBI中具有多个值的列,用于切片器

cmp*_*ger 4 powerbi

我有一个包含以下数据的专栏

|  spoon
|  fork
|  fork & spoon
Run Code Online (Sandbox Code Playgroud)

我想在我的页面中添加一个切片器,它有两个选项:Spoon,fork.选择Spoon后,它会显示Spoon和fork&spoon行的结果.选择Fork时,它会显示Fork和fork&spoon行的结果  

这可以通过powerbi来实现吗?  

如果不是直接的,我认为像这样格式化我的数据可能有帮助吗?powerBI是否可以选择将值除以半圆作为多个值?

|  Spoon
|  Fork
|  Fork ; Spoon
Run Code Online (Sandbox Code Playgroud)

编辑:在我的实际表格布局上更多信息:

| Service A |  revenue |  category 1    
| Service B |  revenue |  category 2
| Service C |  revenue |  category 1 & 2
Run Code Online (Sandbox Code Playgroud)

 

ale*_*eta 7

可以根据要为过滤行显示的结果来实现,例如总和,平均值,计数等.

我将通过使用SUMXDAX表达式中可用的函数向您展示过滤行的总和的一个非常简单的示例.

假设您有两个这样的表:

MyTable:包含数据的表.

在此输入图像描述

SlicerTable:用于创建切片器的表.

在此输入图像描述

使用该SlicerTable[SlicerColumn]列将切片器添加到报表中.然后Result使用以下表达式创建在MyTable表中调用的度量:

Result =
SUMX (
    FILTER (
        MyTable,
        [MyColumn] = FIRSTNONBLANK ( SlicerTable[SlicerColumn], 0 )
            || FIND ( FIRSTNONBLANK ( SlicerTable[SlicerColumn], 0 ), [MyColumn], 1, -1 ) > -1
            || NOT ISFILTERED ( SlicerTable[SlicerColumn] )
    ),
    [Value]
)
Run Code Online (Sandbox Code Playgroud)

不要害怕这个DAX表达式,它会低估检查MyColumn列是否包含切片器中选择的任何值,如果切片器中没有选择它将总结[Value]列的所有值.

使用矩阵或任何Power BI可视化与MyColumn列和Result度量,您将得到如下内容:

在此输入图像描述

更新使用显式关系和添加表,在没有必要措施的情况下对切片器进行替代支持.

我已经为您的模型添加了两个额外的表,以支持您的切片重新获得.您将不得不创建一个额外的表来支持多对多关系以及其他用于获取唯一类别值的表.

在此输入图像描述

数据

在此输入图像描述

使用CategorySlicer[Slicer]列添加切片器时,Service由于基础表之间存在显式关系,它将自动过滤表.

在此输入图像描述

如果您遇到困难创建所需的表,我会想到几个DAX表达式来创建它们.

还要确保在每个关系中将Cross Filter Directionrelationship属性设置为Both.

如果这有帮助,请告诉我.