首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DAX电源BI调查满意度的逐年增长

DAX电源BI调查满意度的逐年增长
EN

Stack Overflow用户
提问于 2022-07-22 15:50:40
回答 1查看 48关注 0票数 0

我的数据仓库设计如下:

解释:

数据仓库包含4个表,3个维度(日期、QUESTION_ANSWER、SURVEY_RESPONDENT),它们使用代理键相互链接。这些数据是调查问题的结果。

回答者有一组问题,可能的答案从1到5(从坏到好)。

我的问题与DIM_QUESTION_ANSWER表格有关,我需要分析受访者对调查的满意度。

满意度是(平均答复数等于或大于4 "4")除以(所有答复者的数目)。

我使用以下DAX公式计算了调查满意度百分比:

代码语言:javascript
复制
AVRSCOREALLCOUNT = 
VAR MTABLE = SUMMARIZE(FACT_SURVEY_RESPONSES,FACT_SURVEY_RESPONSES[RESPONDENT_SRGT])
VAR AVGTABLE = ADDCOLUMNS(MTABLE,"AVR",CALCULATE(AVERAGE(DIM_QUESTION_ANSWER[ANSWER_VALUE])))
VAR FILTERED = FILTER(AVGTABLE,[AVR]>= 4)

RETURN 
IF(
    NOT ISBLANK(COUNTROWS(AVGTABLE)),
    DIVIDE(COUNTROWS(FILTERED),COUNTROWS(AVGTABLE))
    
)

我想计算什么和我实现了什么:

我想计算一年的满意度;因此,我尝试使用SAMEPERIODLASTYEAR公式计算去年的满意度:

代码语言:javascript
复制
AVRSCOREALLCOUNT-LASTYEAR = 
VAR MTABLE = SUMMARIZE(FACT_SURVEY_RESPONSES,FACT_SURVEY_RESPONSES[RESPONDENT_SRGT])
VAR AVGTABLE = ADDCOLUMNS(MTABLE,"AVR",CALCULATE(AVERAGE(DIM_QUESTION_ANSWER[ANSWER_VALUE]),SAMEPERIODLASTYEAR(DIM_DATE[Date])))
VAR FILTERED = FILTER(AVGTABLE,[AVR]>=4)

VAR AVRSCORELASTYEAR = DIVIDE(COUNTROWS(FILTERED),COUNTROWS(AVGTABLE))

RETURN AVRSCORELASTYEAR

问题:

去年公式的结果是错误的,它只是返回当年满意的结果,我不知道错误在哪里,是不是因为我使用的是来自DIM_DATE的数据,而不是DIM_QUESTION_ANSWER表中的直接列?

EN

回答 1

Stack Overflow用户

发布于 2022-07-22 18:36:19

你能试着代替MTABLE和AVGTABLE吗?

代码语言:javascript
复制
VAR AVGTABLE =
CALCULATETABLE (
    ADDCOLUMNS (
        SUMMARIZE ( FACT_SURVEY_RESPONSES, FACT_SURVEY_RESPONSES[RESPONDENT_SRGT] ),
        "AVR", CALCULATE ( AVERAGE ( DIM_QUESTION_ANSWER[ANSWER_VALUE] ) )
    ),
    SAMEPERIODLASTYEAR ( DIM_DATE[Date] )
)

编辑:或者更好的是,如果最初的措施有效,为什么不简单地尝试一下?

代码语言:javascript
复制
AVRSCOREALLCOUNT-LASTYEAR =
CALCULATE ( AVRSCOREALLCOUNT, SAMEPERIODLASTYEAR ( DimDate[Date] ) )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73082990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档