我的数据仓库设计如下:

解释:
数据仓库包含4个表,3个维度(日期、QUESTION_ANSWER、SURVEY_RESPONDENT),它们使用代理键相互链接。这些数据是调查问题的结果。
回答者有一组问题,可能的答案从1到5(从坏到好)。
我的问题与DIM_QUESTION_ANSWER表格有关,我需要分析受访者对调查的满意度。
满意度是(平均答复数等于或大于4 "4")除以(所有答复者的数目)。
我使用以下DAX公式计算了调查满意度百分比:
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公式计算去年的满意度:
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表中的直接列?
发布于 2022-07-22 18:36:19
你能试着代替MTABLE和AVGTABLE吗?
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] )
)编辑:或者更好的是,如果最初的措施有效,为什么不简单地尝试一下?
AVRSCOREALLCOUNT-LASTYEAR =
CALCULATE ( AVRSCOREALLCOUNT, SAMEPERIODLASTYEAR ( DimDate[Date] ) )https://stackoverflow.com/questions/73082990
复制相似问题