成为dax的新手,我在制定问题和解决问题答案对的行数时遇到了问题。
一般情景是一个表格式双模型,它模拟具有问题和答案配对的调查,其中1个问题可能有1到N个响应选项。事实表的关键数据是Respondent,Response。该表引用了一个“问题答案”表,其中包含答案详细信息,其中答案是显着数据。该表依次引用问题表,其中包含有关该问题的信息。
我正在尝试解决表单的查询,有多少人回答问题X,但是没有回答问题Y?换句话说,在回答问题1的人中,有多少人没有回答问题12?
如果没有回答问题,则事实表中的问题回复没有行。
我一直在尝试为事实表,Survey Response创建一个度量,并且相信它需要一些Calculate()操作。 http://msbiacademy.com/?p=3491的视频有一些有希望的线索,但我不能完全克服驼峰,部分原因是它为产品子类别创建了一个重复的表格,我不确定是否通过两次导入表格,因为它使用UserRelationship。所以也许在我的情况下,我会两次导入问题,但这没有意义。我没有使用切片器,所以这可能是差异的一部分。
该措施主要针对顶级实体调查。环境与2013年表格bi模型,sql server 2012,excel 2013。
答案 0 :(得分:0)
首先计算事实表中所有答案的基本指标。
NumAnswers :=
COUNTROWS ( FactResponse )
其次,计算QuestionID答案的明确指标1.您可以使用与断开连接的切片器绑定的度量替换硬编码度量,以选择特定问题X.
Q1Answers :=
CALCULATE ( [NumAnswers], Questions[QuestonID] = 1 )
最后,由那些没有回答问题3的人过滤这部分人(或者再次使用断开连接的切片器测量来选择问题Y)。
DidntAnswerQ3 :=
CALCULATE (
[Q1Answers],
FILTER (
VALUES ( Respondent[RespondentID] ),
CALCULATE ( [NumAnswers], Questions[QuestonID] = 3 )
= 0
)
)