📜  dax 计数基于 2 列不同 (1)

📅  最后修改于: 2023-12-03 15:00:21.515000             🧑  作者: Mango

DAX 计数基于 2 列不同主题

DAX (Data Analysis Expression) 是一种用于 Power Pivot、Power BI、SSAS 等分析工具的数据建模语言。本文将介绍如何使用 DAX 计算基于 2 列不同主题的计数,并提供代码示例。

假设我们有一个销售数据表格,其中包含了客户、产品、销售日期和销售量四个字段。我们希望计算每个客户购买的产品的种类数。这时我们可以使用以下 DAX 公式:

ProductCount = COUNTROWS(
                  SUMMARIZECOLUMNS(
                    Sales[Customer],
                    Sales[Product]
                  )
                )

该公式使用了 SUMMARIZECOLUMNS 函数和 COUNTROWS 函数。

SUMMARIZECOLUMNS 函数可以根据指定的列创建一个分组汇总表,返回一个表格对象。该函数的语法为:

SUMMARIZECOLUMNS (
    <column> [, <column> [, ...]],
    [<filter1> [, <filter2>]…]
)

其中,<column> 是需要汇总的列,可以多个。<filter> 是可选的过滤器。

上述 DAX 公式中,我们在 SUMMARIZECOLUMNS 函数中指定了客户名和产品名两个列,表示按照客户名和产品名对数据进行分组。函数返回的表格对象中,每行记录的客户名和产品名都是不同的。

COUNTROWS 函数返回表格对象中的行数。

最终,我们得到每个客户购买产品数的计数。

Markdown 格式

本文介绍了如何使用 DAX 计算基于 2 列不同主题的计数,并提供了代码示例。

ProductCount = COUNTROWS(
                  SUMMARIZECOLUMNS(
                    Sales[Customer],
                    Sales[Product]
                  )
                )

如果我们有一个销售数据表格,其中包含了客户、产品、销售日期和销售量四个字段。我们希望计算每个客户购买的产品的种类数。这时我们可以使用上述 DAX 公式。