2015-10-28 1 views
2

J'ai effectué un sondage auprès des membres de différents groupes (par exemple, des groupes 1 à 4) pour savoir s'ils étaient d'accord ou non avec quelque chose. Je tente de tracer ces réponses dans Microsoft PowerBI Desktop.Compter le nombre d'occurrences dans une colonne

J'ai un modèle de données chargé qui comprend des colonnes comme celles-ci dans un seul tableau:

Group Question1 Question2 
Group1 Agree  Agree 
Group1 Disagree Agree 
Group4 Disagree Disagree 
Group3 Agree  Agree 
Group2 Disagree Agree 
Group2 Agree  Disagree 
Group4 Agree  Agree 
Group1 Agree  Disagree 

J'aimerais savoir s'il y a un DAX qui peut compter le nombre d'occurrences des mots « D'accord "et « Pas d'accord » tel que je peux avoir les comme valeurs sur un graphique à barres empilées (un tableau par question):

Group1 Agree--------- Disagree---- 
Group2 Agree------- Disagree------- 
Group3 Agree---------- Disagree---- 
Group4 Agree------ Disagree-------- 

(excuses pour l'art ASCII)

J'ai essayé d'utiliser la fonction COUNTA() mais elle ne cesse de renvoyer le nombre de lignes. J'ai également essayé de faire glisser la colonne de question sous la forme d'un champ de données, mais à nouveau, chaque barre est de la même longueur car ils ont tous le même nombre de réponses.

Merci d'avance.

Répondre

2

Vous devrez UNPIVOT votre table - d'avoir une structure comme suit:

Group | Question | Answer 
Group1 | Question1 | Agree 
Group1 | Question2 | Disagree 
... 

Vos mesures ressembleraient alors les suivantes:

RowCount:= COUNTROWS(FactAnswer) 

AgreeCount:= 
CALCULATE(
    [RowCount] 
    ,FactAnswer[Answer] = "Agree" 
) 

DisagreeCount:= 
CALCULATE(
    [RowCount] 
    ,FactAnswer[Answer] = "Disagree" 
) 
0

Il faudrait créer six mesures (pour claire et simplification)

1) Agree Q1 = CALCULATE(COUNTA(SO_table[Question1]),SO_table[Question1]="Agree")

2) Agree Q2 = CALCULATE(COUNTA(SO_table[Question2]),SO_table[Question1]="Agree")

3) Disagree Q1 = CALCULATE(COUNTA(SO_table[Question1]),SO_table[Question1]="Disagree")

4) Disagree Q2 = CALCULATE(COUNTA(SO_table[Question2]),SO_table[Question1]="Disagree")

5) Total Agree = Agree Q1 + Agree Q2

6) Total Disagree = Disagree Q1 + Disagree Q2

Vous pouvez ensuite utiliser la barre empilée et terrain Total Agree & Total Disagree

0

Vous pouvez créer une table par question avec l'expression DAX suivante:

Table = SUMMARIZE('YourTable',YourTable[Group],"Agree", 
COUNTAX(FILTER('YourTable',YourTable[Question1]="Agree"), 
YuorTable[Question1]),"Disagree", 
COUNTAX(FILTER('YourTable',YourTable[Question1]="Disagree"),YourTable[Question1])) 

Exemple:

VotreTable

enter image description here

Pour Question1 vous obtiendrez le tableau suivant:

enter image description here

Une fois que vous avez la table, créez simplement le graphique dont vous avez besoin. Faites-moi savoir si cela vous a été utile.