DAX自定义列

时间:2012-12-14 23:59:01

标签: powerpivot

去年我一直在使用PowerPivot,但只是最低限度地使用DAX(对于简单的RELATED和DISTINCTCOUNT度量)。我经常制作我的枢轴,然后将它们(作为值)复制并粘贴到另一个工作表中,我在其中添加一些计算列和格式。我想在可能的情况下避免额外的工作(因为这可以一遍又一遍地完成),但是我很难绕过如何创建措施来使这些“自定义列”工作直接通过PowerPivot。

我已经阅读了很多文章和DAX教程,但我无法弄清楚将CALCIULATE,FILTER,COUNTROWS等用于我的特定目的背后的魔力,并且工作中的PD时间刚刚耗尽。任何帮助都将非常感谢!

以下是我目前的内容 - 来自SQL Server导入的简单PowerPivot数据透视表:

 -------------------------------------
|       | 2009/10 | 2010/11 | 2011/12 |
|       |----|----|---------|----|----|
| Course|Pass|Fail|Pass|Fail|Pass|Fail|
|-------|----|----|----|----|----|----|
|MAT-121|  11|   2|  22|    |  21|   3|
|MAT-122|  13|   3|  19|    |  15|   3|
|MAT-123|    |    |  14|    |  15|   6|
|MAT-127|   6|   3|  14|    |  13|   2|
|MAT-151|    |    |  23|   1|  23|   1|
|MAT-152|  12|    |  25|   2|  25|   4|
 -------------------------------------
  1. 列标签
    • ACA_YEAR
    • PASS_FLAG
  2. 行标签
    • COURSE_NAME
    • COUNTA(REG_ID)
  3. 我想添加一个“失败百分比”列,计算为“=失败/(通过+失败)”。

     -------------------------------------------------------
    |       |   2009/10     |   2010/11     |   2011/12     |
    |       |---------------|---------------|---------------|
    | Course|Pass|Fail|%Fail|Pass|Fail|%Fail|Pass|Fail|%Fail|
    |-------|----|----|-----|----|----|-----|----|----|-----|
    |MAT-121|  11|   2|  15%|  22|    |   0%|  21|   3|  13%|
    |MAT-122|  13|   3|  23%|  19|    |   0%|  15|   3|  17%|
    |MAT-123|    |    |     |  14|    |     |  15|   6|  29%|
    |MAT-127|   6|   3|  33%|  14|    |   0%|  13|   2|  13%|
    |MAT-151|    |    |     |  23|   1|  42%|  23|   1|   4%|
    |MAT-152|  12|    |   0%|  25|   2|   7%|  25|   4|  14%|
     -------------------------------------------------------
    

    我可以以某种方式覆盖小计列吗?我是否需要创建并组合一些不同的措施?

    非常感谢你提出的任何建议,或者需要阅读,你可以指点我!

1 个答案:

答案 0 :(得分:2)

Spudsy,

让我们假设你的值度量被称为[theCount],而REG_ID所在列的表被称为'table'。你需要做的是创建3个措施;前两个基于[theCount]给出通过和失败的计数,第三个用[Fail]除以总计数。

[失败] =计算([theCount]表[REG_ID] = “故障”)

[通行证] =计算([theCount]表[REG_ID] = “通过”)

[%失败] = [失败] / [thecount]

从枢轴中移除pass_flag,然后将三个度量拖动到值中。

有很多方法可以做到这一点,但这是一种简单的方法。您需要的书是dax by rob collie

您在使用DAX方面取得进展的难度可能与您引用“自定义列”的评论有关!虽然这就是它们的出现方式,但你不能将这种excel类型的心态作为更多的基于表/ SQL的方式。

希望这会有所帮助。 雅各布