Data stream received from a bar code scanner - barcode-scanner

Were moving to using 2d bar codes and 2d bar code scanners. Currently a picker will scan 3 linear bar codes, one for the product, one for the lot number and one for the quantity. The cursor starts in the Product field, after the scan the cursor moves to the lot number field the repeats the process for the quantity. Each scan contains data only for the field intended. Well along comes the 2d bar codes that concatenate all three values into 1 returned string with application identifiers (01,11,10) separating each 'field'. An example of this is (01)12345678901234(11)220728(10)12345. The parentheses are not included in the actual scan, I just showed them for demonstration purposes. My question is how do I know when to parse out each field? For example, in a CSV file, I just look for data in between the commas. I've also read something about FNC1. Can anyone help? Thanks...
2d bar code
Scanner results

All you need is the information on these pages.
This page contains ideas and flowcharts.
GS1 DataMatrix Guideline
You can find a list of application identifiers on this page.
GS1 Application Identifiers
Please use the above in combination to help you implement it.

Related

How to split a Pandas dataframe into multiple csvs according to when the value of a column changes

So, I have a dataframe with 3D point cloud data (X,Y,Z,Color):
dataframe sample
Basically, I need to group the data according to the color column (which takes values of 0,0.5 and 1). However, I don't need an overall grouping (this is easy). I need it to create new dataframes every time the value changes. That is, I'd like a new dataframe for every set of rows that are followed by and preceded by 5 zeros (because single zeros are sometimes erroneously present in chunks of data that I'm interested in).
Basically, the zero values (black) are meaningless for me; I'm only interested in the 0.5 (red) and 1 values (green). What I want to accomplish is to segment the original point cloud into smaller clusters that I can then visualize. I hope this is clear. I can't seem to find answers to my question anywhere.
First of all, you should understand the for loop well. Python is a great programming language for using the code of any library inside functions and loops. Let's say you have a dataset and you want to navigate and control column a. First, let's start the loop with the "for i in dataset:" code. When you move to the bottom line, you have now specified the criteria you want with the code if "i[a] > 0.5:" in each for loop. Now if the value is greater than 0.5, you can write the necessary codes to create a new dataset with all the data of the row you are in. In terms of personal training, I did not write ready-made code.

Extract word within string in Excel row

I am trying to pull some information from one string of text into it's own field and wonder if somebody can help. Sounds simple enough and I can get it working how I want, but when the position of the text moves around, it can't find it. I've tried using Mid, left, right, without much success.
It is a basic spreadsheet used as a job list, to monitor which country each item was sent to. Or, whether it wasn't dispatched using a courier, and nothing is required to be noted.
Hopefully my photo explains it, and the formula in this photo is:
=MID(LEFT(A1,FIND(")",A1)-1),FIND("(Shipped to ",A1)+12,LEN(A1))
I have rows of text showing something along the lines of:
Job title (Shipped to UK) (Postage Tracking No 123456890)
Job title (Shipped to Belgium) (Postage Tracking No 123456890)
Job title (Shipped to Austria) (Postage Tracking No 123456890)
and my code above will pull through the country, as I want.
.. but ever so often, each line will flip around, so show like:
Job title (Postage Tracking No 123456890) (Shipped to UK)
.. which upsets the formula due to the left/right/mid positioning.
This is an ongoing spreadsheet, so I'd like to be using a single formula if possible. I know I can workaround by running second formulas on erroneous entries but would rather not do that.
Lastly, when there was no shipping involved, it generates a value error (as it couldn't find the string whatsoever). Again, I could make this say "No shipping" by running a second formula, but not ideal.
Anyone got any better simpler ideas? Photo attached for reference!
I'm just looking to pull out the word after "(Shipped to " and before the following ")" regardless of it's relative position in the line of text.
Thanks a lot
Photo: https://i.stack.imgur.com/HU6lB.png
=MID(MID(A1,FIND("SHIPPED TO",UPPER(A1),1)+11,25),1,FIND(")",MID(A1,FIND("SHIPPED TO",UPPER(A1),1)+11,25),1)-1)
This takes a 25 character slice of the string and looks at it. If it's at the end of the string, it won't matter. From there, it will dissect it further by only using that slice to work from.

GNU Octave/Matlab Matrices Manipulation

I'm quite new to GNU Octave, so can anyone help me for 2 things:
(1) How can I filter that huge dataset in such a way that it will only contain [1x1 struct] persons?
(2) Inside that value of struct, I only want to retain combined_categories. How can I delete the others?
Basically, my end goal is to have a dataset with 2 columns only (filename and combined_categories of the filtered 1x1 structs). And if I can convert that to csv, that would be more awesome.
Regarding your first question, how to filter a struct. First step is to create a vector which decides which ones to keep and which ones to delete:
%Get the data for the relevant field
persons={test.person}
%For each field, check if the size is 1
one_person=cellfun(#numel,persons)==1
%Select those you want
test=test(one_person)
About your second question, please check the documentation for rmfield

Search formula for best text match among two excel lists

I have a long list of products (+20,000 items) of surgical instruments. Sometimes I receive requests for different names of these products which is impossible to manually match in my list.
I was thinking of a formula to find or suggest the closest result of match for the common words in each cell.
I have created this formula:
=INDEX('Products'!G:G,MATCH((("*"&LEFT(A2,5),'Products'!G:G,0))
(where Products G:G refers to my long list.
it gave some results correctly but more than 80% of the result came back with false results.
please see the attached image to show you the result.
is there is a way I can get more accurate result?
or I was thinking of finding major category of each item such as:
Category 1: Scissors, Retractors, Knives, etc.
Category 2: Straight, Curved, Angeled, etc.
Category 3: Sharp, Blunt, etc.
Category 4: 10mm, 130mm, 24cm, etc. (size)
which is easy for me to do it.
then use the same formula but with referring to the common words..
something like:
=INDEX(Products!G:G,MATCH("*"&LEFT(E2,5)&"*"&F2&"*"&G2&"*",Products!G:G,0))
where E2, F2, G2 refers to the categories..
I tried but it gave false results as well.
I urge you in the strongest sense of the word to spend some time creating a good quality master table and then spinning off 1 table for each category.
make use of clean(), trim(), proper(), heck, if you need to copy the data in notepad++ and enable view all symbols then switch between ansi utf utf8 wtf omgwtf or any other encoding to ensure you dont have any hidden special characters than do it.
you have 4 categories, so that's 4 1 column tables. name them. no duplicates. no trash. no junk. sort your data. nice clean names/words/whatever you categorize by. if you absolutely must add an index or key column then go ahead but do yourself a favor and stop there. use a different table to deepen your relationships.
next step is to to create comboboxes. i'm not sure why but the combobox in excel is not the same combobox in the vba editor. you want the one in the editor. you can make a fancy user form or you can make a minimalist text box design. whatever you fancy. just make sure the combobox has a field for RowSource in the properties. for whatever reason i don't get that option if i am not in the vba editor when i create the box.
you're almost gauratneed to want drawmodal = false on every user form you make for these boxes
you probably really don't need more than 4 boxes but it depends what you're doing so that's up to you. name your combo boxes.
verify each box has: matchentry = 1-fmMatchEntryComplete
i recommend: style = 0 - fmStyleDropDownCombo
this will allow you to begin typing and autocomplete the first match and also let you select from a drop down list, starting with the the first match of the name you've typed.
you can set the number of elements in the list. default is 8. if you have a slow computer than i wouldn't push it much. if you have a best then give it a shot.
you can also change fonts for easier reading and a bunch of other format changes.
now the this is the most important part - RowSource will be one of those 4 tables
now that i've given instructions, let me explain why. some businesses don't have the best practices and i'm currently with one that's using an oracle erp solution for data management but the front end isn't used. data entry is done in excel and loaded into oracle using batches. lookups in oracle continue to be a psychological barrier for the ap/ar teams so i did exactly what i suggested here but took it a few steps farther.
i pulled the vendor master and i pulled teh customer master
i cleaned the data and compiles simple pure clean 1 column tables
then i created a form for the comboboxes
first came ap with vendor name
then vendor number
then vendor remittance location
our orderering facility number
selecting a vendor name populates the vendor number box with the possible vendor numbers. same for remittance location and ordering facility
i pulled a year's worth of transaction data and created a gl table. some vendors have only ever used 1 gl acount. some several. there's a % number next to each gl. that represents the value of transactions posted from that vendor to that gl for the last year.
next up a date picker and text boxes for invoice fields.
get it nice and tight on a form, set the tab stops, add a commit button and all of a sudden we have a front end excel platform that performs better than oracle - because people use
i haven't finished the ar side but it'll get done and i'll the angels will be rejoicing and singing my name for years to come.
1:1 matching with autofill and drop down functionality you can't beat it. that's what you get with my suggestion.
best of luck!

Alteryx Analyse the similarity of the words

I am currently doing out the top 10 types of fault chart. So the user will key in what is the fault about, ex. light bulb fused. As it is free flow text box, the words may not be the same. Is there anyway to make Alteryx understand that some words may be the same, allowing me to find the top 10 types of fault. Thank you.
You have a couple of ways. You can use the Fuzzy Match tools in the Join category to sort out slight spelling mistakes. You can find Alteryx examples of Fuzzy Match on Youtube.
You can also use the Record ID followed by Text to Columns (Split to Rows based on space) to get a list of single words.
In what you are trying to do, I would advise building up a bit of a lookup table. You can then use the Find-Replace Tool to Append the Category from the lookup depending on the words that are found.
Depending on the cleanliness of your data and how different each category is will guide you as to how far down the above paths you should go.

Resources