Power BI:将多个度量组合在一个矩阵中
Power BI: Combine multiple measures in a single matrix
示例:
我有一个产品table:
关于这个table我有4个措施:
1) Lowest Sales Price = MIN([Sales price])
2) Highest Sales Price = MAX([Sales price])
3) Lowest Cost Price = MIN([Cost price])
4) Highest Cost Price = MAX([Cost price])
我想在一个矩阵中查看结果:
我正在努力寻找实现此目标的方法。我想这可以用 DAX table 函数来完成?
矩阵不是这样工作的。行和列属性应该是列中的值,而在您的情况下 Sales price
和 Cost price
不是值,而是列。您可以稍微转换数据以获得此结果。打开 Power Query 编辑器,select Sales price
和 Cost price
列并单击功能区中的 Unpivot Columns
按钮:
这会将这些列转换为值:
然后创建这些措施:
Highest
:
Highest = MAX('Table'[Value])
和Lowest
:
Lowest = MIN('Table'[Value])
并将它们用作矩阵中的值,如下所示:
你需要创建一个辅助table,来创建Lowest
和Highest
的区别。
步骤如下:
第 1 步
创建一个包含最高值和最低值的 table。我建议还包括一个 ID 列,以便根据需要对这两个值进行排序。我将 table 命名为 DimType
.
DAX:创建 table
DimType =
DATATABLE (
"Id", INTEGER,
"Type", STRING,
{
{ 1, "Lowest" },
{ 2, "Highest" }
}
)
DimType
Id
Type
1
Lowest
2
Highest
步骤 2
创建一个计算,使用创建的 table 区分 Lowest
和 Highest
DAX:销售额
Sales =
SWITCH (
ISFILTERED ( DimType[Type] ),
SELECTEDVALUE ( DimType[Type] ) = "Lowest", MIN ( 'Product'[Sales Price] ),
SELECTEDVALUE ( DimType[Type] ) = "Highest", MAX ( 'Product'[Sales Price] )
)
DAX:成本
Cost =
SWITCH (
ISFILTERED ( DimType[Type] ),
SELECTEDVALUE ( DimType[Type] ) = "Lowest", MIN ( 'Product'[Cost Price] ),
SELECTEDVALUE ( DimType[Type] ) = "Highest", MAX ( 'Product'[Cost Price] )
)
第 3 步
要将指标显示为行,您只能使用矩阵。在 Format
窗格中,在 Values
中启用 Show on rows
.
输出
示例:
我有一个产品table:
关于这个table我有4个措施:
1) Lowest Sales Price = MIN([Sales price])
2) Highest Sales Price = MAX([Sales price])
3) Lowest Cost Price = MIN([Cost price])
4) Highest Cost Price = MAX([Cost price])
我想在一个矩阵中查看结果:
我正在努力寻找实现此目标的方法。我想这可以用 DAX table 函数来完成?
矩阵不是这样工作的。行和列属性应该是列中的值,而在您的情况下 Sales price
和 Cost price
不是值,而是列。您可以稍微转换数据以获得此结果。打开 Power Query 编辑器,select Sales price
和 Cost price
列并单击功能区中的 Unpivot Columns
按钮:
这会将这些列转换为值:
然后创建这些措施:
Highest
:
Highest = MAX('Table'[Value])
和Lowest
:
Lowest = MIN('Table'[Value])
并将它们用作矩阵中的值,如下所示:
你需要创建一个辅助table,来创建Lowest
和Highest
的区别。
步骤如下:
第 1 步
创建一个包含最高值和最低值的 table。我建议还包括一个 ID 列,以便根据需要对这两个值进行排序。我将 table 命名为 DimType
.
DAX:创建 table
DimType =
DATATABLE (
"Id", INTEGER,
"Type", STRING,
{
{ 1, "Lowest" },
{ 2, "Highest" }
}
)
DimType
Id | Type |
---|---|
1 | Lowest |
2 | Highest |
步骤 2
创建一个计算,使用创建的 table 区分 Lowest
和 Highest
DAX:销售额
Sales =
SWITCH (
ISFILTERED ( DimType[Type] ),
SELECTEDVALUE ( DimType[Type] ) = "Lowest", MIN ( 'Product'[Sales Price] ),
SELECTEDVALUE ( DimType[Type] ) = "Highest", MAX ( 'Product'[Sales Price] )
)
DAX:成本
Cost =
SWITCH (
ISFILTERED ( DimType[Type] ),
SELECTEDVALUE ( DimType[Type] ) = "Lowest", MIN ( 'Product'[Cost Price] ),
SELECTEDVALUE ( DimType[Type] ) = "Highest", MAX ( 'Product'[Cost Price] )
)
第 3 步
要将指标显示为行,您只能使用矩阵。在 Format
窗格中,在 Values
中启用 Show on rows
.