将SQL查询转换为DAX以在PowerPivot中创建计算列

时间:2015-02-11 15:27:46

标签: sql excel-2013 powerpivot dax

您好我正在使用“人员”表格构建PowerPivot数据模型,该表格包含“名称”和“金额”列

表 - 人

|名称|量|

|红色| 10 |

|蓝色| 10 |

|红色| 16 |

|蓝色| 82 |

|红色| 82 |

|红色| 54 |

|红色| 61 |

|蓝色| 82 |

|蓝色| 82 |

输出符合预期:


|名称|金额| Count(Specific_Amount)|

|红| 10 | 2 |

|蓝色| 10 | 1 |

|红色| 16 | 1 |

|蓝色| 82 | 3 |

|红色| 82 | 1 |

|红色| 54 | 1 |

|红色| 61 | 1 |

到目前为止我所尝试的是:

select Name, distinct Amount, count(Amount) as CountOfAmountRepeated 
from Person 
group by Amount
order by Amount;

我已将表格“Person”导入Excel中的PowerPivot。 我想在Excel中的PowerPivot中创建一个计算列,以创建一个重复数量值计数的新列。我能够通过使用上面的查询在SQL中执行此操作,但我想要一个等效的DAX查询来在PowerPivot中创建新列。 有人可以将此查询转换为DAX或者说一个工具将sql转换为DAX,这样我就可以创建一个Calculated列并使用PowerView来准备这个数据的直方图。 尝试谷歌搜索,但没有太多的帮助。提前谢谢..

1 个答案:

答案 0 :(得分:0)

您的问题有很多方面需要解决,但非常简单(不考虑任何其他要求)计算如下:

计数(Specific_Amount):= COUNTROWS('人&#39)

*您似乎想要做的就是计算每种组合的独特实例。

然后,如果您随后创建了一个数据透视表,将[name]和[amount]拖入行,并将[Count(Specific_Amount)]拖动到您想要的答案值中,以获得您想要的布局可以将布局更改为表格形式并删除小计。