Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Sum goals a team has suffered

Hi,

this is a sample of  my scheme:

 

MatchIDTeamPlaceGoals
1CesenaHome2
2BariHome4
3LivornoHome4
1BresciaAway0
2SpeziaAway3
3PescaraAway0

You can see all the data in the attached file.

My problem is that i can easilly sum per team all goals that it have achieve, but i can't find a way to sum all the goals a team has suffered. For example, Bari, with MatchID=2, put 4 goals and suffered 3. Do you have any suggestion on that?

Thank you in advance

Labels (1)
1 Solution

Accepted Solutions
swuehl
Champion III
Champion III

Maybe like

Data:

LOAD

  MatchID,

  Team,

  Place,

  Goals

FROM

Community_246442.xlsx

(ooxml, embedded labels, table is Match);

JOIN

LOAD MatchID,

  Team as TeamCheck,

  Goals as GoalsSuffered

Resident Data;

Final:

LOAD MatchID,

  Team,

  Place,

  Goals,

  GoalsSuffered,

  If(Goals > GoalsSuffered, 'Won', If(Goals = GoalsSuffered,'Tie','Lost')) as Result,

  If(Goals > GoalsSuffered, 3, If(Goals = GoalsSuffered,1,0)) as Points

Resident Data

WHERE Team <> TeamCheck;

DROP TABLE Data;

2017-01-17 12_35_02-QlikView x64 - [C__Users_s.wuehl_Downloads_Community_246442_3.qvw].png

View solution in original post

9 Replies
tresB
Champion III
Champion III

I guess just a self join would do the job for you. Try like:

LOAD MatchID,

     Team,

     //Place,

     Goals

FROM

[I2 matches.xlsx]

(ooxml, embedded labels, table is Match) where Place='Home';

Left Join

LOAD MatchID,

     Team as Opponent,

     //Place,

     Goals as GoalSuffered

FROM

[I2 matches.xlsx]

(ooxml, embedded labels, table is Match) where Place='Away';

MK_QSL
MVP
MVP

Use enclosed file..

Data:

LOAD

  MatchID,

  Team,

  Place,

  Goals

FROM

Community_246442.xlsx

(ooxml, embedded labels, table is Match);

NoConcatenate

Match:

Load MatchID, Team as Team1, Goals as GoalMade Resident Data Where Place ='Away';

Left Join

Load MatchID, Team as Team2, Goals as GoalGiven Resident Data Where Place ='Home';

Drop Table Data;

Teams:

Load MatchID, Team1 as Team Resident Match;

Load MatchID, Team2 as Team Resident Match;

swuehl
Champion III
Champion III

A different approach with different results, also taking into account the suffered goals for away teams:

Data:

LOAD

  MatchID,

  Team,

  Place,

  Goals

FROM

Community_246442.xlsx

(ooxml, embedded labels, table is Match);

JOIN

LOAD MatchID,

  Team as TeamCheck,

  Goals as GoalsSuffered

Resident Data;

Final:

LOAD MatchID,

  Team,

  Place,

  Goals,

  GoalsSuffered

Resident Data

WHERE Team <> TeamCheck;

DROP TABLE Data;

2017-01-17 11_22_23-QlikView x64 - [C__Users_s.wuehl_Downloads_Community_246442_2.qvw].png

MK_QSL
MVP
MVP

Yes, you are right.. I have given half solution...

In fact, it's not half solution.. it's wrong solution..

Not applicable
Author

Thanks a lot for your answers!

I will have to study to fully understand how you achieve that, so your answers are really helpful.

Now, one more question: Based on goals made, someone can find the result of the match. So i can say that for MatchID=1 Cesena won Brescia because Home goals=2 and Away goals=0.

How can i count how many victories, draws and defeats a team has? Should i do a calculation on expression?

tresB
Champion III
Champion III

May be like in attached.

Not applicable
Author

Tresesco thanks for your answer, but i have personal edition and i cannot open it...

swuehl
Champion III
Champion III

Maybe like

Data:

LOAD

  MatchID,

  Team,

  Place,

  Goals

FROM

Community_246442.xlsx

(ooxml, embedded labels, table is Match);

JOIN

LOAD MatchID,

  Team as TeamCheck,

  Goals as GoalsSuffered

Resident Data;

Final:

LOAD MatchID,

  Team,

  Place,

  Goals,

  GoalsSuffered,

  If(Goals > GoalsSuffered, 'Won', If(Goals = GoalsSuffered,'Tie','Lost')) as Result,

  If(Goals > GoalsSuffered, 3, If(Goals = GoalsSuffered,1,0)) as Points

Resident Data

WHERE Team <> TeamCheck;

DROP TABLE Data;

2017-01-17 12_35_02-QlikView x64 - [C__Users_s.wuehl_Downloads_Community_246442_3.qvw].png

Not applicable
Author

Thank you Stefan!