« first day (1449 days earlier)      last day (1731 days later) » 
00:00 - 17:0017:00 - 00:00

5:01 PM
@IvenBach also feel free to PR further enhancements/tweaks to my branch, I won't be able to implement any of it for a week
 
5:14 PM
@MathieuGuindon Not sure how that's going to help me. I need a count for each location for each set of score ranges. getting the same number for every row that I return doesn't feel particularly helpful.
I'm sure I'm missing something there...
 
partition by year+location then
 
Location Month Count(score >8) Count(6<score<9) Count(score<7)
is what I'm after.
yeah, need month in there.
 
yes
and then you do the filtering on the resulting records
no wait, ...hmmm
wtf is this count aggregate
 
yeah... has me scratching my head, too...
 
ok, have a partitioned sum on the score, and then you can filter on the total
 
5:18 PM
Here's what I'm doing currently:
SELECT Location, Count(*) As Promoter FROM Table WHERE Score > 8 AND Month = 'April' GROUP BY Location
Short hand for the date range, work with me
 
the count needs to be partitioned by location
 
SELECT Location, Count(*) As Neutral FROM Table WHERE Score > 6 AND Score < 9 AND Month = 'April' GROUP BY Location
 
pretty hard to work without seeing the data/tables though
 
SELECT Location, Count(*) As Detractor FROM Table WHERE Score < 7 AND Month = 'April' GROUP BY Location
I need to get 3 distinct numbers (Promoter, Neutral, Detractor) based on oddly defined score ranges, then do some math with them.
It needs to be partitioned by location and month to get the individual month values, and it needs a WHERE clause to get the particular group of scores I'm after, but I only one the one Count - I don't need all the individual rows to come back to me.
I couldn't care less about what's on the individual rows, just how many meet the criteria.
 
with scores as (select month, location, score6=case when score < 7 then 1 else 0 end, score79=case when score > 6 and score < 9 then 1 else 0 end, score9=case when score > 9 then 1 else 0 end from table)
select month, location, score6=sum(score6) over (partition by month,location),score79=sum(score79) over (partition by month,location),score9=sum(score9) over (partition by month,location)
from scores
 
5:26 PM
oooohhhh... interesting!
 
that should get you a starting point
 
pseudo code from vague handy-wavey pseudo code. that'll work!
 
likely not, but you get the idea :)
 
yup, that'll work as a nice starting point. TYVM.
 
5:28 PM
figure out some real column names, some date ranges, and I think I'm in good shape.
I'll give it a shot.
 
friendly reminder, I also did this:
2 hours ago, by Mathieu Guindon
user image
 
@FreeMan TFW you expand that as "Thank You View Model".
 
@MathieuGuindon lol, I'll keep that in mind!
@DainIronfootIII TFW = Team Foundation for Windows?
:)
 
5:33 PM
until relatively recently I was reading it as "wtf" with concurrency issues
 
@DainIronfootIII I was right?
@MathieuGuindon SELECT COUNT(*) from table returns 23477. My functional version of your pseudo code gives me 23477 records, each with the appropriate SUM() added to the end. Not so much helpful. Just need a single set of 3 numbers for each Month
 
@FreeMan That Feeling When.
But, close enough.
 
ah...
#TIL
I'm not one of them newfangled, hip young kids...
 
Don't worry, I'm still learning them :)
 
whew!
 
5:41 PM
I like FWIW, TFW, and IIRC. Can't think of any more off-hand (besides IIUC), but probably because I'm tired.
 
My inlaws went to see Whiskey Tango Foxtrot. Had no idea what it stood for.
 
TFW you're worryingly close to an agreed deadline, and you find that you need to make a sizable change to the architecture... there goes my weekend :-( FML.
 
@mansellan :( Sorry.
 
meh, it happens
 
@FreeMan yes, that's the idea. then you can aggregate properly
windowing functions aren't group by
so wait a minute
keep the scores cte and just sum the scoreXY columns and group by month and location?
 
5:50 PM
yeah...
kinda like this:
With Scores AS
	 (SELECT ShortName, MONTH(CollectionDate) M, Year(CollectionDate) Y,
	         Pro = CASE WHEN RecommendNPS > 8
			            THEN 1
						ELSE 0
					END,
			 Neu = CASE WHEN RecommendNPS Between 7 and 8
			            THEN 1
						ELSE 0
					END,
			 Det = CASE WHEN RecommendNPS < 7
			            THEN 1
						ELSE 0
					END
	   FROM SatSurvey
	  WHERE CollectionDate between '4/1/2017' and '4/30/2018')
SELECT ShortName, M, Y,
	   Sum(Pro) Promoter, Sum(Neu) Neutral, SUM(Det) Detractor
ugh, tab expansion...
 
that should do it, no?
 
Yeah... needs a few more tweaks to get some unneeded locations out of the way, but yeah.
 
of course, that's a total redesign of the existing system. I was really after the best way to get a 13-month YTD total.
But with this in mind, I can prolly roll my own on that with the server doing the heavy lifting instead of my code, then rework existing code to do it this way
 
pssst.. 13-month isn't YTD
 
5:57 PM
yeah, yeah... Jan this year through each month this year, then Jan last year through each month last year for 13 months...
 
@MathieuGuindon pssst... Nobody means what they meant.
 
Actually, it is on the Hebrew calendar.
so there!
 
6:17 PM
Anyone have any experience with bulk editing RDP files to allow transfer to your local machine?
 
-2
Q: Excel VBA: Error 1004 coming up randomly when inserting rows

rzenvaI have a workbook with some macros that have worked really well for a while now until recently that they started showing Error 1004: That command cannot be used on multiple selections. After some brainstorming, I found out that some hidden columns and rows. Problem: Error 1004: That command cann...

 
 
1 hour later…
 
@FreeMan An alternative approach to your query problem would be to classify in a cte in an identifier field (via case when on the score) and then use the PIVOT operator to torn the values into fields.
Technically, that should actually yield a very similar execution plan to what you already have.
You are basically pivoting by hand.
 
8:17 PM
@MathieuGuindon The correct format is #MONTH/DAY/YEAR#JohnyL 7 mins ago
for US values of "correct"
 
8:35 PM
The correct format is yyyy-MM-ddTHH:mm:ssZ.
 
YES
AMEN
 
:-)
 
so, take-off in ~13 hours. getting butterflies :)
I need to figure out a way to sneak the ring into the luggage without her noticing
 
@mansellan just remember, kids, if you aren't teaching yer kids to do it, you're #APartOfProblem! ;-)
@MathieuGuindon put it in your razor bag?
and besides, I'm sure you'll be fine RE: the flying sardine tin. You're safer in a plane than in a car and it's a much better faraday cage to boot.
 
9:00 PM
Oh I'm not worried
Just had 2 shots of whiskey #LoveFridays
 
> It's a bug introduced by the VBA editor of Office Version 1803 (Build 9126.2116) (March 27). Until Microsoft fixes it, stick to Version 1802 (Build 9029.2253) (March 13)

See: [About the unresponsive floating toolwindows of MZ-Tools for VBA with some Office 2016 applications](https://www.mztools.com/blog/about-the-unresponsive-floating-toolwindows-of-mz-tools-for-vba-with-some-office-2016-applications/)
 
9:44 PM
> This error happens because MZ-Tools and RubberDuck are loaded in the same .NET AppDomain. (VBClassicExtensibility.* interop assembly belongs to MZ-Tools, Microsoft.Vbe.Interop.* interop assembly belongs to RubberDuck).

RubberDuck doesn't use a COM Shim to provide its own AppDomain, **although it should** because it will collide with any other .NET-based add-in for VBA ([Isolating .NET-based add-ins for the VBA editor with COM Shims](http://www.visualstudioextensibility.com/2016/07/11/isolat
 
10:16 PM
You getting ready for your family vacation Mug?
Wish you the best of luck.
 
@MathieuGuindon Put it in your pocket.
And have fun.
 
@DainIronfootIII then I'll be exposed at customs =) it's already in the cabin luggage
 
@MathieuGuindon Ohhh.
 
@MathieuGuindon Don't forget it's just a piece of metal. My wife lost hers that I got her.
 
10:50 PM
@IvenBach well... an expensive piece of metal =)
 
so I've spotted something in the code that looks... weird
it's likely me not grokking the intent, but this line appears (and other similar ones nearby in the same method) appear to be accidentally no-op when they are trying not to be:
if (type != null) KnownTypes.TryAdd(typeAttributes.guid, enumeration);
IIUC (not guaranteed), that != should be ==
as it stands, the only members of KnownTypes at the conclusion of that method are ComInterfaces, and that's only because they are added elsewhere.
so, uh, huh?
 
@mansellan and what do you get if you invert that inequality?
 
a KnownTypes collection that is populated with everything that has been found
 
@MathieuGuindon Not mine :wink:
 
Modules, enums, interfaces, coclasses...
 
11:10 PM
@mansellan Is coclasses related to molasses?
 
@DainIronfootIII lol perhaps!
 
@mansellan sounds like a fix!
 
:D
PR incoming :-)
 
11:25 PM
FTR I think I adressed all the direct concerns for the PR.
 
Home Time.
Enjoy the weekend pond.
 
I'd rather have the architectural changes merged in now and get assigned a follow-up issue for the concerns raised with changes not directly related to the core of the PR
 
> since this is not a Rubberduck bug, I'll decline this. Updates to this thread (e.g. when a fix from MS comes in) are appreciated either way
> The KnownTypes collection of ComProject is intended to cache types loaded from referenced type libraries. Currently however, only interfaces are successfully cached.
> Closes #4039
 
11:41 PM
@Duga Didn't get a chance to run tests locally, as next doesn't build for me atm :-(
 
@mansellan IIRC that was fixed in a PR yesterday (??? or maybe the day before ???)
 
hmm...
 
if next doesn't build, we should get that fixed ASAP
 
might be me, i just assumed it was related
 
^^ that PR should've fixed the build
 
11:43 PM
lemme try & see if I can get it building
 
@Duga welp... should we open a follow-up to that to also work with a COM Shim? or do we already have an issue about that?
I remember talk about that from years ago ...
 
@Vogel612 i searched for one, couldn't see one
it sounds like we should open one
 
FWIW we're pretty stable even without a COM shim
 
yeah, but we can get taken out by other add-ins being unshimmed and unstable
 
11:47 PM
and dumping a ton of resources into building a COM shim while we might as well eat MZ Tools' lunch to sidestep the issue seems ... unhelpful
 
don't think it's my local:
@Vogel612 is it a ton of resource though? FWICT there's an MS wizard that will codegen one for you. Sounds simples...
 
if it were only that, we'd probably have a COM Shim by now...
 
has anyone tried?
 
I certainly didn't. way too far outside my comfort zone ....
Ping @MathieuGuindon did anyone try to get a COM Shim for RD?
@mansellan AppVeyor builds fine, FWIW...
and the error message looks a lot like the ones we have ...
could you check the ps1 script in Rubberduck.Deployment/ for me whether it contains the patch from the PR I linked above, just to be sure?
 
sure
 
11:53 PM
[rubberduck-vba/Rubberduck] build for commit 0b0cf4ec on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4040?src=pr&el=h1) Report
> Merging [#4040](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4040?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/5db0eab0778355b6b95e5cd1f024efb356bb9122?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `0%`.


```diff
@@ Coverage Diff @@
## next #4040 +/- ##
=======================================
[rubberduck-vba/Rubberduck] build for commit 0b0cf4ec on unknown branch: 53.66% (target 0%)
 
huh ... so at least it did not make stuff worse yet...
 
yeah, the line is in its new home outside the if block
 
huh ...
 
I did a separate clean as well to rule out any debris
I can try nuking my local?
 
if you don't need it, you sure can
 
11:55 PM
ok
 
not sure whether it helps, but it can't hurt to try
 
actually i'll leave my local but try cloning directly from upstream
 
I'll try to take a stab at reproducing that tomorrow.
for now I shall grant my meatbag a bit of rest.
 
lol
 
00:00 - 17:0017:00 - 00:00

« first day (1449 days earlier)      last day (1731 days later) »