Power BI DAX 度量值计算
Power BI DAX measure calculation
第一步:
我创建了一个计算 table,其中包含 Level
、Location
、L2code
来自水平销售数据。我需要创建一个报告,该报告将根据 level1
组计算行数。
请注意,table 中还有更多级别。这只是其中一个级别的示例。
如何计算每个级别 1 的行数?
第 2 步:
我需要根据位置和 l2 代码创建所有计数组合并计算数字。
就像示例 2 中的位置和 8 个不同的 l2code,所以它应该是 2*8 =16 总共可能的行。
如何使用 DAX 度量来实现这一点?
源数据文件
输出报告
第一个是简单的措施如下-
DistinctRowCount = Count(your_table_name[Level1])
第二个有点棘手,你可以试试下面的方法-
CrossCount =
var distinct_location =
calculate(
distinctcount(your_table_name[Location]),
allexcept(
your_table_name,
your_table_name[Level1],
your_table_name[Location]
)
)
var distinct_l2code =
calculate(
distinctcount(your_table_name[l2code]),
allexcept(
your_table_name,
your_table_name[Level1],
your_table_name[Location],
your_table_name[l2code]
)
)
return distinct_location * distinct_l2code
示例输出-
我创建了一个计算 table,其中包含 Level
、Location
、L2code
来自水平销售数据。我需要创建一个报告,该报告将根据 level1
组计算行数。
请注意,table 中还有更多级别。这只是其中一个级别的示例。
如何计算每个级别 1 的行数?
第 2 步:
我需要根据位置和 l2 代码创建所有计数组合并计算数字。 就像示例 2 中的位置和 8 个不同的 l2code,所以它应该是 2*8 =16 总共可能的行。
如何使用 DAX 度量来实现这一点?
源数据文件
输出报告
第一个是简单的措施如下-
DistinctRowCount = Count(your_table_name[Level1])
第二个有点棘手,你可以试试下面的方法-
CrossCount =
var distinct_location =
calculate(
distinctcount(your_table_name[Location]),
allexcept(
your_table_name,
your_table_name[Level1],
your_table_name[Location]
)
)
var distinct_l2code =
calculate(
distinctcount(your_table_name[l2code]),
allexcept(
your_table_name,
your_table_name[Level1],
your_table_name[Location],
your_table_name[l2code]
)
)
return distinct_location * distinct_l2code
示例输出-