Im trying to remame the columns in the table below with ascending integers. The dates will change week on week, so I need a way to dynamically rename in alteryx, is there a way of doing this with the dynamic rename tool? or another method perhaps?
To be turned into:
Week Start
1
2
3
4
5
Week
46
47
47
48
49
Thanks
You'll need to use a combination of the Transform tools and a Record ID. Use the Transpose tool with the 'Week Start' as your "Key column" then use the Summarize and group by the new Name field to get a list of all your dates and sort the dates in ascending order.
Add a Record ID after to give each date an ID. Join this back to the original Transpose and then Cross Tab to get the output you want.
See screenshot in link below.
AlteryxChangeColumnnames
Related
The solution to this problem has been evading me and admittedly hurting my brain a little bit, so hopefully someone here can lend a hand. Essentially, I have around 10 columns of data. One of these columns contains the identifier I want to use, another column has the date I want to reference, and the rest of the columns are the values I want to use to populate the table. What I'm trying to do is build a tool where you type in the identifier and the date and it tells you what the other columns are for that particular pairing.
The problem is, however, that the data set contains multiple repeated dates (dates are in a column), and sometimes repeated identifiers. So identifier 1 may appear three times on 1/1/2018, then appear three more times on 1/2/2018.
Forgive my inexperience, as this is probably the incorrect way to show this, but this is what I want my data to look like, with the bins being the 1st, 2nd, and so on occurrences of the same identifier on the given date:
Identifier - A1
Date - 1/1/2018
Bin Column1 Column2 Column3 Column4
1 1 2 3 4
2 1 2 3 4
3
4
5
The Identifier and Date would be manual entries and the rest of the table would be automatically populated. I've been looking up different ways of using index(match()) all morning and have yet to achieve any success. I'm not sure if I'm approaching this incorrectly or what, but any help with this problem is greatly appreciated.
PS - I understand that a pivot table would likely give me the information I need, however, this table isn't for my own use, so I'm trying to make it as straightforward as possible (enter two lines, necessary info pops up).
Edit - This is how the data is currently set up:
`
Use this:
=IFERROR(INDEX(C:C,AGGREGATE(15,7,ROW($B$2:INDEX($B:$B,MATCH("zzz",$A:$A)))/(($B$2:INDEX($B:$B,MATCH("zzz",$A:$A))=$J$2)*($A$2:INDEX($A:$A,MATCH("zzz",$A:$A))=$J$1)),ROW(1:1))),"")
Note: realize this is an array formula that is entered normally with Enter, but as an array formula it will slow down the calcs if the dataset is large.
It generally looks like:
=INDEX('range all of the data, not the headers', MATCH('row header value to match','the row headers range',0), MATCH('column header to match','the column headers range',0))
Found a problem which Im not able to solve with my excel "skills" so Im askin for help.
V. Excel 2016
( https://i.stack.imgur.com/U8VLH.png )
https://files.fm/u/nvkgsf63
http://www.filedropper.com/excel4so
I have 3 tables. First is a table with input. Second one is a something I want to add to the first one and third is the output i need to CREATE with functions. 1st and the 2nd table is gonna change every month and so does the output then.
(3rd Table is just and shorten example - added there only IDs 551 and 77 to show what i mean)
Basically what i need is:
If ID number (Example 551) appears in 2nd table and the 1st - do(in CASH) 8768,2 + 892,30 (with HOURS too) and put it into the 3rd table with the same ID.
If ID number does NOT appear in the 2nd table (Example ID 54) - just copy data from the input.
If ID number does NOT appear in the 1st table (Example ID 77) - Add data to the end of the 3rd table.
I hope everything is clear with these examples, if not just ask, ill try to explain it better.
Thank you so much guys
Have a nice day :)
Currently I have a database that has 2 variables:
Fund with an ID attached to it and
Investor with an ID also attached to it.
The example attached, has 4 funds and 4 investors.
An investor can invest in 1 to 4 funds.
I have a VBA function that transposes the data into an "X & Y axis" format.
If there is a name "Ben & Jerry Fund" and "Ben" is present, it should show a quarter entry for that investor name but if the investor does not invest in the fund, it should just be blank.
Question: Is this possible?
Using the =IF(AND( function would not be possible here since there's so many funds and investors in the database.
Figure 1 shows the data reference (before transposing).
Figure 2 is the desired result.
If the purpose is to have a dynamic report. I mean if you want to append more years and avoid operative process. Follow this steeps:
Use "Format as table" for your data. This will allow you to append more data later and it will refresh the functions by itself.
Create a field to extract just the quarter number in the field [Quarter] with =MID([Quarter],1,1)
Create a field to extract the year =RIGHT([Quarter],4) this will allow you to use this field as a filter for future years
Create a pivot table using the new table then organize the data:
*Filter([Year])
*Rows([Fund Name], [Fund Id])
*Columns([Inversor], [Inversor ID])
*Values ([Quarter])
You will see the numbers for the quarter. If you want to see the letter "Q" you can change the format with right click, and select "Number Format...". There in "Custom" change to Q0
Here is a Tutorial about format as table and pivot tables that I made a few months ago. I am sorry it is in Spanish but I am using the Excel English version.
=IFERROR(INDEX($E$3:$E$12,SMALL(IF($C$3:$C$12=L$5,IF($A$3:$A$12=$K7,ROW($A$3:$A$12)-ROW($A$2))),1)),"")
Building an array of row numbers for INDEX and grabbing the first match (smallest row) based on the 2 if statements...
A pivot table can achieve what you want?
The issue is sorting an array that is generated automatically from an data source using a formula that extracts unique data points. (Data points are date/time)
The data is being extracted with this fomula.
=INDEX(Table_ExternalData_1[SampleDateTime],MATCH(0,INDEX(COUNTIF($G$2:G2,Table_ExternalData_1[SampleDateTime]),0,0),0))
Once extracted, the data is not sorted right away. The current data is extracted from a database via an SQL string that pulls in data corresponding to the data and time that the data point was created.
Because of this, the extracted points are not in the correct order. I am attempting to sort the extracted data points from earliest to latest to continue with the data sorting, but need the date/times to be sorted in a separate row.
I have attempted to use a pivot table, but it isn't exactly what I need and ends up being a messier end product than I need.
All assistance is appreciated.
Example is below.
1
2
3
5
1
2
3
4
6
5
3
I need this.
1
2
3
4
5
6
I did end up finding a solution that I will be able to modify. Using a single row of a pivot table, I took just the date/time column and had the PivotTable function sort the data to be utilized as necessary.
Thank you.
The fact that the range in the example you give:
1) Consists of entries of a numeric datatype only
2) Does not contain any blanks
means that the solution is relatively simple.
Assuming that data is in A1:A11, first use a single cell somewhere within the worksheet to count the number of expected returns. For example, using B1 for this purpose, enter this formula in that cell:
=SUM(IF(FREQUENCY(A1:A11,A1:A11),1))
Your main formula is then:
=IF(ROWS($1:1)>B$1,"",SMALL(IF(FREQUENCY(A$1:A$11,A$1:A$11),A$1:A$11),ROWS($1:1)))
the latter being copied down until you start to get blanks for the results.
Regards
I've tried several VLookup strings and couldn't get it. Apologize in advance if this has been covered but spent hour and half looking/trying.
I have 2 inventory sheets. Columns 1-2 are identical on each (part #, Description). Column 3 has the inventory count for each period. I'd like to put them on one sheet with data lining up across rows. Problem is the #s aren't in same order on each sheet. Tried copy/paste and sort by Part#, then Part # but they don't match for some reason. Thank you so much. Chris.
Part # Description Count Part # Description Count
29169 SERIAL NUMBERL 300 50001E Impulse Finger 7,234
50010 Air Reject Bae 45 72000-S Chromax HD Ill 28
Name your value ranges as "Inventory1" and "Inventory2"
Go to Data>From Other Sources>From Microsoft Query
Then, select excel files, navigate to your workbook, and select both your ranges into the selection box.
Go into your Microsoft Query, and click the SQL button.
Select Inventory1.PartNum, Inventory1.Description, Inventory1.Count
FROM C:\$\Inventory1 C:\$\Inventory1
UNION ALL
Select Inventory2.PartNum, Inventory2.Description, Inventory2.Count
FROM C:\$\Inventory2 C:\$\Inventory2
Basically, this query will join your two ranges on top of each other based on the columns in the respective query (i.e: Partnum on Partnum).