DAX 统计计算

DAX statistics calculation

提问人:Katia Vlv 提问时间:11/15/2023 最后编辑:Katia Vlv 更新时间:11/17/2023 访问量:35

问:

问题解决了! Sam Nseir 找到了解决方案!enter image description here

[graph][1]我目前正在分析一项关于仇外心理的调查(60.0000 个欧洲国家的约 30 名受访者)。更准确地说:每个国家有多少女性和男性(占样本的百分比)是仇外心理。

我检查了捷克共和国的一些数据(表中的 CZ - 在 CZ 574 的 2476 名受访者中回答了仇外问题(对移民的 3 次否定,即答案中的 4-4-4(列名 [impcntr]、[imsmetn]、[imdfetn])) -这些是 259 名男性和 315 名女性(即在捷克共和国的所有受访者中,如果 2476 人,则为 10.46% 和 12.72% 的女性)。 这正是我对欧洲每个国家(百分比)所需要的。

此外,在 [gndr] 列中,性别被提及为 -1 男性和 2 女性。

我首先制作了这些公式:

MeasureMale= CALCULATE(COUNTAX('male-female xenophobes','male-female xenophobes'[gndr]), 'male-female xenophobes'[gndr]="1" && 'male-female xenophobes'[impcntr]=4 && 'male-female xenophobes'[imsmetn]=4 && 'male-female xenophobes'[imdfetn]=4)

MeasureFemale = CALCULATE(COUNTAX('male-female xenophobes','male-female xenophobes'[gndr]), 'male-female xenophobes'[gndr]="2" && 'male-female xenophobes'[impcntr]=4 && 'male-female xenophobes'[imsmetn]=4 && 'male-female xenophobes'[imdfetn]=4)

然后,我制定了一些新措施来计算百分比:每个国家有多少男性是仇外心理,有多少女性(每个国家样本的百分比)。

percentage xenM per country = 100*divide([MeasureMale], COUNTROWS(ALLNOBLANKROW('male-female xenophobes')))

percentage xenF per country = 100*divide([MeasureFemale], COUNTROWS(ALLNOBLANKROW('male-female xenophobes')))

但是,生成的图形似乎不正确。可能是什么原因,也许有人可以建议??

此外,我需要从我的数据表(大约 60.000)中计算整个欧盟样本中有多少男性和女性(以 % 为单位)是仇外的。 谁能帮我?

提前非常感谢!!

统计 DAX

评论

0赞 Sam Nseir 11/15/2023
也许更新你的问题,并包括你的图表的片段,以及与表/矩阵视觉对象相同的内容。
0赞 Robert Dodier 11/16/2023
要调试此类问题,请尝试分别计算每个项并检查每个项,然后将它们组合起来以获得最终结果;在进行最终计算之前,请验证中间项是否符合您的预期。
0赞 Katia Vlv 11/17/2023
谢谢山姆!我添加了两个打印屏幕,希望现在我所说的内容变得更加清晰......
0赞 Katia Vlv 11/17/2023
谢谢你的评论,罗伯特!🙏🏼
0赞 Sam Nseir 11/17/2023
在这里同意罗伯特的观点。要么你的计数是错误的,要么是你的总数是错误的。创建一个新度量值。然后在表视觉对象中 - 添加 、 、 和 。如果有什么问题,你应该能够相当快地看到。Total resp = COUNTROWS(ALLNOBLANKROW('male-female xenophobes'))cntryMeasureMaleMeasureFemaleTotal resp

答:

0赞 Sam Nseir 11/17/2023 #1

我想我已经发现了两个问题:

  1. 你把你的百分比乘以100(你不应该)
  2. ALLNONBLANKROW返回整个表,即 60,000

把这些放在一起,它可以解释你的图表。例如:

  • 60,000 人中有 259 名 CZ 男性 = 0.0043
  • 你是乘以 100 = 0.43
  • 并且很可能您的度量值格式为 Percentage = 43%

43% 看起来非常接近您在图表上对 CZ Male 的看法。


请尝试以下操作(这些都是度量):

Respondent Count = COUNT('male-female xenophobes'[idno])

MeasureMale= CALCULATE(
    [Respondent Count],
    'male-female xenophobes'[gndr] = "1" &&
    'male-female xenophobes'[impcntr] = 4 &&
    'male-female xenophobes'[imsmetn] = 4 &&
    'male-female xenophobes'[imdfetn] = 4
  )

MeasureFemale = CALCULATE(
    [Respondent Count],
    'male-female xenophobes'[gndr] = "2" &&
    'male-female xenophobes'[impcntr] = 4 &&
    'male-female xenophobes'[imsmetn] = 4 &&
    'male-female xenophobes'[imdfetn] = 4
  )


percentage xenM = DIVIDE( [MeasureMale], [Respondent Count])
percentage xenF = DIVIDE( [MeasureFemale], [Respondent Count])

percentage xenM of All = DIVIDE(
    [MeasureMale],
    CALCULATE( [Respondent Count], ALL('male-female xenophobes') )
  )

percentage xenF of All = DIVIDE(
    [MeasureFemale],
    CALCULATE( [Respondent Count], ALL('male-female xenophobes') )
  )

评论

0赞 Katia Vlv 11/17/2023
亲爱的山姆,你真棒!!它现在可以工作了!!!非常感谢您的帮助!!我正在尝试附上上面的结果图。希望它井然有序!!
0赞 Katia Vlv 11/17/2023
现在你可以清楚地看到欧盟国家的仇外心理评级和每个国家的性别差异。该数据来自最近的ESS调查(在2020-2022年进行)。我认为这很有趣,我很高兴看到一个明确的结果!为您的 DAX 技能竖起大拇指!!
0赞 Sam Nseir 11/17/2023
很高兴听到它。为了所有人的利益,请将答案标记为已接受。