PowerPivot去除细胞数据

时间:2015-07-19 02:16:36

标签: powerpivot dax

我在试图想办法解决这个问题时遇到了麻烦。我读过Russo /法拉利的书籍,谷歌搜索并试了几件事 我不认为这是可能的,因为我在尝试的任何行或过滤器评估上下文都无法实现。

这是问题所在: 我有一个数据集,其中包含敏感的人口统计和非人口统计属性,这些属性本身是非识别的。

例如:
性别
种族
语言
位置
入学类型

数据集本身足够大,如果我们将2或3个属性分组,则单个单元格值仍然包含足够大的值以进行非标识。一旦我开始包含其他属性,该集合就不再是不可识别的。

我想要发生的是:
a)对于'细节'或最低级别属性,如果值的总和是< 5那么它应该显示'< 5' b)对于高于最低值的任何级别,我希望单元格值是该值为> = 5的任何细节值的总和,如果不是,则为5;前缀为'<'登录。

以下是我希望看到的一个例子:

                  Sum (hidden)  IsFilteredIntakeSource  Required output
City 1                   69             FALSE               <74
    Suburb 1              59            FALSE                <62
      Intake source 1       2           TRUE                   <5
      Intake source 2      57           TRUE                   57
    Suburb 2              10            FALSE                <12
      Intake source 1       7           TRUE                    7
      Intake source 2       3           TRUE                   <5

这是我所处的位置,我目前只是将其用于计算字段:

IsFilteredIntakeSource:=ISFILTERED(Intake[Intake source])  
De-ident type 2:=if([IsFilteredIntakeSource],if([Intakes]<5,"<5",FORMAT([Intakes], "#")),"De-identified sum")  

这给了我这个:

         Sum (hidden)     IsFilteredIntakeSource     De-ident type 2    
City 1          69                  FALSE           De-identified sum  
Suburb 1            59              FALSE           De-identified sum  
  Intake source 1       2           TRUE            <5  
  Intake source 2      57           TRUE            57  
Suburb 2            10              FALSE           De-identified sum  
  Intake source 1       7           TRUE            7  
  Intake source 2       3           TRUE            <5  

所以我认为我所追求的是计算的最后一部分包含一个表达式,该表达式的结果是正确的结果 - 也许是CALCULATEDTABLE给我一个中间结果,然后用它作为最终推导的基础。 / p>

我不是真的在完成一个完整的工作解决方案(虽然显然会很好!),因为我更愿意为自己弄明白,更感兴趣 看看其他方法将成为可行的考虑因素。

答案很可能是'你考虑过x'吗?

2 个答案:

答案 0 :(得分:0)

阅读你的帖子我想也许这个链接可以帮助你。这个网站是非常有用的DAX模式。

http://www.daxpatterns.com/dynamic-segmentation/

此致

琼娜

答案 1 :(得分:0)

我认为您需要单独的措施来处理这些值,以及它们是否准确或包含去识别元素。

第一个度量[De-IdentifiedNumber]将计算最低级别的所有值,显示小于5的值等于五。

第二个衡量标准(您实际想要显示的数字)将需要一个模式:

[NumberToDisplay]=IF(COUNTROWS(VALUES(Intakes))=1,[De-IdentifiedNumber],SUMX(VALUES(Intakes),[De-IdentifiedNumber]))

第三个度量[De-IdentifiedFlag]将计算最低级别的所有值,显示小于5的值,其他值为0。

您的所需输出将在[NumberToDsiplay]前加上&#34;&lt;&#34;如果一行或多行在[De-IdentifiedFlag]上返回1。

如果您需要任何进一步的指导,或者很乐意解决剩下的问题,请告诉我。