- Видео 339
- Просмотров 1 352 480
Sean MacKenzie Data Engineering
Канада
Добавлен 6 фев 2020
Sean MacKenzie, MSc. (Data Engineering)
I want to give you the *power* of data engineering, so that you can solve problems, automate your world, and level up your career and self-confidence.
I have over 20 years of experience in most aspects of data and its usage in small and large organizations. This includes extensive experience in data engineering, data application development, data modeling & architecture, analytics, and data science methods. My experience is in the manufacturing, aerospace, health, transportation, insurance, finance, logistics, and retail industries. I built mission-critical solutions for over 35 government and private companies across Canada and the United States. These include 7 hospitals, 6 health authorities, 6 manufacturers including 3 aerospace manufacturers, 3 insurance companies, and 2 crown corporations.
I enjoyed mentoring my clients' staff, university students, my own staff, busy professionals, and many others. Now I want to mentor you! Enjoy!
I want to give you the *power* of data engineering, so that you can solve problems, automate your world, and level up your career and self-confidence.
I have over 20 years of experience in most aspects of data and its usage in small and large organizations. This includes extensive experience in data engineering, data application development, data modeling & architecture, analytics, and data science methods. My experience is in the manufacturing, aerospace, health, transportation, insurance, finance, logistics, and retail industries. I built mission-critical solutions for over 35 government and private companies across Canada and the United States. These include 7 hospitals, 6 health authorities, 6 manufacturers including 3 aerospace manufacturers, 3 insurance companies, and 2 crown corporations.
I enjoyed mentoring my clients' staff, university students, my own staff, busy professionals, and many others. Now I want to mentor you! Enjoy!
Sentiment Analysis with Small BERT
BERT PART 5
In this video, we continue our journey into Natural Language Processing and we upsize our BERT implementation from Tiny BERT to Small BERT, noting our accuracy improvements along the way. Not only does Small BERT start to understand some nuances that it missed on our five-epoch training run that we did with Tiny BERT, but we start noticing accuracy improvements as well. Let's go check it out!
Block spammers from harassing your Remote Desktop, filling your Windows security logs with failed RDP attempts, and burning up your bandwidth with my BZ RDP Cloaker:
buy.billzone.com/bzrdpcloaker.html
Check out my easy time entry system for your business:
system.billzone.com/billzone
Join me on...
In this video, we continue our journey into Natural Language Processing and we upsize our BERT implementation from Tiny BERT to Small BERT, noting our accuracy improvements along the way. Not only does Small BERT start to understand some nuances that it missed on our five-epoch training run that we did with Tiny BERT, but we start noticing accuracy improvements as well. Let's go check it out!
Block spammers from harassing your Remote Desktop, filling your Windows security logs with failed RDP attempts, and burning up your bandwidth with my BZ RDP Cloaker:
buy.billzone.com/bzrdpcloaker.html
Check out my easy time entry system for your business:
system.billzone.com/billzone
Join me on...
Просмотров: 51
Видео
How to Make Summary Queries in Microsoft Access
Просмотров 46020 часов назад
In this episode, we're looking at summary queries in Microsoft Access. When doing analysis or building applications, often we need to summarize our data for reports or form displays. Summary queries are the key to many, if not most summary operations, so mastering them is a must. Luckily, in Microsoft Access building them is very straightforward and easy to learn. You will be a summary master i...
How to Train BERT Over Several Epochs to Improve Accuracy
Просмотров 6814 дней назад
BERT PART 4 In this episode, we continue our movie review sentiment analysis investigation into BERT as we expand our first run, single-epoch model into a model trained over five epochs to improve our accuracy, then test it out with our own ad-hoc tests to see how it fares. This time around, our resulting graphs actually have meaning, since there is data to plot. Can we train a model with TinyB...
How to Use the After Delete Data Macro in MS Access
Просмотров 51521 день назад
In this episode, we're going back to data macros in Microsoft Access in order to show how to use the After Delete macro. Now, this macro is a little more tricky because it happens after a record was deleted.. ..so the data is gone! If you wanted to log that ID or value that was deleted, you need to use an alternate expression to get the old values for your logging operation. Let's get to it! Bl...
Your First Epoch of NLP Training with BERT
Просмотров 11528 дней назад
BERT PART 3 In this episode, we continue our investigation into BERT for Natural Language Processing, and we're going to continue our project to build a model to do sentiment analysis with data about movie reviews. In our previous episode, we downloaded and prepared our data for the model. In this episode, we're going to do the programming that will get us running a single epoch of training usi...
Use One Function to Handle Many Form Events in MS Access
Просмотров 1 тыс.Месяц назад
In this episode, we'll take a look at a little-known way to use event properties in Microsoft Access. By creating a single "sub-like" VBA function in a centralized module, we are able to set that function call as an event property on a form.. ..without writing a single line of "code-behind" for the form. The method can assist in simplifying functionality that is called on dozens or hundreds of ...
How to Download Movie Review Data for NLP with BERT
Просмотров 82Месяц назад
BERT PART 2 In this episode, we're continuing our BERT series for Natural Language Processing, and we're going to download some training data from Stanford University so that we can process some text using machine learning for a classification task. In this series, we'll classify whether a movie review is positive or negative. In order to do that, we have to get the data. Let's go get it and ta...
How to Sum an Array in VBA
Просмотров 542Месяц назад
In this episode, we're taking a look at how to sum up values in a VBA array. On this channel we have done some work with 1d and 2d arrays, mostly for speed in our applications. However, sometimes we need to do some math on our arrays and summing up all of the numbers in an array is high on the list for useful things to do when you're doing high-speed in-memory processing. We'll build an array o...
Getting Started with BERT for NLP
Просмотров 193Месяц назад
BERT PART 1 This episode starts a series for our AI playlist, and we're introducing the language model BERT which is used for Natural Language Processing tasks. This is the starting episode, so we're going to introduce BERT, talk about prerequisites and what our workflow is going to be on Windows, and talk about some technical considerations you can think about while we gear up to use BERT to d...
How to Make a Content Spinner in WebForms
Просмотров 1662 месяца назад
How to Make a Content Spinner in WebForms
How to Backup and Restore a Database in SQL Express
Просмотров 4572 месяца назад
How to Backup and Restore a Database in SQL Express
How to Use RecordsetClone in Microsoft Access
Просмотров 1,3 тыс.2 месяца назад
How to Use RecordsetClone in Microsoft Access
How to Create a List from a Dataframe with Flask
Просмотров 1192 месяца назад
How to Create a List from a Dataframe with Flask
How to Query Big Data with MS Access
Просмотров 1,4 тыс.3 месяца назад
How to Query Big Data with MS Access
How to Add and Remove Table Columns in Snowflake
Просмотров 1063 месяца назад
How to Add and Remove Table Columns in Snowflake
How to Add Users to Your Microsoft Access Azure SQL Online Database App
Просмотров 6433 месяца назад
How to Add Users to Your Microsoft Access Azure SQL Online Database App
Chat with Ed Napier SMDE Scholarship Recipient for MSc Data Engineering
Просмотров 1033 месяца назад
Chat with Ed Napier SMDE Scholarship Recipient for MSc Data Engineering
ADI Part 9: Processing Multiple-Choice Answers
Просмотров 3724 месяца назад
ADI Part 9: Processing Multiple-Choice Answers
ADI Part 8: Add Multiple Choice Prompts with a List Dialog
Просмотров 5414 месяца назад
ADI Part 8: Add Multiple Choice Prompts with a List Dialog
How to Add Action Security to WebForms
Просмотров 2134 месяца назад
How to Add Action Security to WebForms
How to Use the AutoExec Macro in Microsoft Access
Просмотров 1,7 тыс.5 месяцев назад
How to Use the AutoExec Macro in Microsoft Access
How to Create Modal Pop-up Forms in WebForms
Просмотров 4235 месяцев назад
How to Create Modal Pop-up Forms in WebForms
How to Use Flask Routes and Variables
Просмотров 2275 месяцев назад
How to Use Flask Routes and Variables
How to Use the Immediate Window in Microsoft Access
Просмотров 1,6 тыс.5 месяцев назад
How to Use the Immediate Window in Microsoft Access
How to Create a Table From a SQL Query
Просмотров 2316 месяцев назад
How to Create a Table From a SQL Query
ADI Part 7: Program a Simple Survey in Microsoft Access
Просмотров 5936 месяцев назад
ADI Part 7: Program a Simple Survey in Microsoft Access
How to Make an Excel Download Button in WebForms
Просмотров 2716 месяцев назад
How to Make an Excel Download Button in WebForms
ADI Part 6: How to Build an ADI Form in Microsoft Access
Просмотров 1,1 тыс.6 месяцев назад
ADI Part 6: How to Build an ADI Form in Microsoft Access
Sean, functions typically are used to return a value of some kind. Why not just use a subroutine in a module and make it Public so it can be called from anywhere and provide the same result?
This is a great question and helps to illustrate how this works. The answer is that you cannot use a subroutine for this purpose because it cannot be called in the same way. You are required to use = if you call some code directly from an event. You cannot call a sub using =. To make a public Sub for the same purpose, you can only call it from the form by also creating an Event Procedure with associated code-behind, then putting the subroutine as a single line in your new event procedure. So, you're creating a whole new code-behind and two lines of code, just to call a sub. For a context with 20 buttons using the same functionality, you now created 20x3 lines of code plus the code-behind when you could have just plugged the same function 20 times into form event properties.
Hi Sean, thank you so much for sharing this solution. It has been really helpul for me. Cheers
Great to hear!
In summary I like criteria filtering part Handy for filtering by date range in a form (Any thing in agenda about Web browser element🤓) Thank you
Glad you liked it - and thanks, I'll add that topic to my list! 🛠
I have used Access for many years occasionally on large projects, but have not become a confident pro in many aspects of Reports. I am overjoyed to find your videos on many topics. I appreciate your style and look forward to learning from you. Thank you for your time efficient, no drama style. (I hope your cat is doing well but you didn't mention it!)
Thanks for sharing - and happy to have you onboard. Cheers
Thanks for great video. It is possible download the example file for playing with data? thanks and regards
You bet! mackenziemackenzie.com/downloads
@@seanmackenziedataengineering Thanks!
Another awesome video...Thanks Sean
My pleasure!
Hi, thank you for your great videos. I browsed alot but couldn't find a tutorial, can you please do us the needful by making a tutorial? In access forms, I want an upload file button and a view file button. It can allow me to upload files directly to the sharepoint folder or google drive folder, onedrive etc. If not possible, i upload the file at sharepoint folder and can paste the link in the field. As it is uploaded, there should be view file button that can display the file in browser.
Good idea for a video. Many of these tools like DropBox, Sync, and others have an app you install that allows you to designate a local folder to mirror the remote folder. So, you can use something like FileCopy ruclips.net/video/o8VMtHRW3w4/видео.html to just get the path and then copy files between folders on your computer or to pick a file to open. The synchronization with folders on the web will happen automatically. This is just one method, there are others too.
Great work Thank you!
Glad you liked it!
pip install pandas openpyxl pyodbc pip install sqlalchemy-access --user pip install xlrd import sqlalchemy import pandas as pd import urllib import pyodbc as pyo from sqlalchemy import create_engine df = pd.read_csv(r"C:\Users\Prarthana Das\Documents\Excel_csv_to access\WM_CA_SIC_Traited_Store_Count_Instock.csv") print(df) df.head() df.tail() access_db_path = r"C:\Users\Prarthana Das\Documents\Excel_csv_to access\WM_CA_SIC_Traited_Store_Count_Instock.accdb" conn_str = ( r"DRIVER = {Microsoft Access Driver (*.mdb, *.accdb)};" # Driver for Access files r"DBQ = C:\Users\Prarthana Das\Documents\Excel_csv_to access\WM_CA_SIC_Traited_Store_Count_Instock.accdb" # Path to the Access database file ) conn_url = f"access+pyodbc:///?odbc_connect={urllib.parse.quote_plus(conn_str)}" try: acc_engine = create_engine(conn_url) print("Connection established successfully.") except Exception as e: print(f"Failed to establish connection: {e}") df.to_sql("WM_CA_SIC_Traited_Store_Count_Instock_New",acc_engine) This the code i have written using jupyter notebook InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') could you please tell me what could be the mistake. because i have the DSN as well as the driver installed
Great tip thanks Sean
Any time!
I don't understand why you have got the name of the product wrong every single time you mention it. It's very clear from the whole video that the product is called SQL Server, Express Edition, not SQL Express.
You're almost right - the (latest) official name I see on their download page is SQL Server 2022 Express, though that is a bit long and the product is simply known as SQL Express in the industry. Like people just say Access database or SQL Server database instead of SQL Server Enterprise Edition database or something.
Pls how can one use vbscript to Link ms access to MySQL
You don't need to use vbScript to connect to MySQL, you can just download and install the MySQL ODBC Driver > Create an ODBC DSN in Windows for MySQL > Create Linked tables to MySQL > use tables like you use Access tables.
How can one do the same to, linking ms access to MySQL with vbscript
You don't need to use vbScript to connect to MySQL, you can just download and install the MySQL ODBC Driver > Create an ODBC DSN in Windows for MySQL > Create Linked tables to MySQL > use tables like you use Access tables.
Great little demo: so useful
Glad it was helpful!
Very Good ,Thanks
Welcome!
A sweet candy🍭 Good one for audit trail logs , user name will be handy How to restore without adding new entry again keeping the same ID!!!! 🍬
Nice tips!
Great, just what I needed! Big thanks!
Glad it helped!
can i convert from csv to access without creating a database in ms access
No, you will need to create a database or use an existing one.
Nice video! I enjoyed the intro song, but people have different expectations i guess. Who is playing and what song is it? Had a nice riff
I believe that track was called "Ripped" and was included with license as part of the Camtasia studio selections.. 2019 or 2020 version iirc. I thought it was groovy!
Brilliant!
Thx!
Thanks for your video
Most welcome!
Pls can you show us vb script to MS access to MySQL
I have done this with my database. I have it saved on a shared server where around 15-30 people all use the front end at once. I try to kick them out using this but somtimes it doesn't work or it might just kick 1 or 2 peope out. Do you know why this might be?
First, make sure all the users are using a db copy that has your new logic. If your app is a style that has a lot of modal pop-ups then they will interfere with the shut-down process, ie: Are you sure you want to close that form? That will stop the shut-down process. Design-wise, you want to convert that kind of behavior to use custom pop-ups that will still close on a shut-down command. Also, you may have an app where users can leave a form open (say a big data entry form) in an un-validated state. You will want to start modifying those forms so that they can exit gracefully unattended. Those kind of situations can cause issues but you can design for it.
nice background music in starting
Glad you like it!
Great video! Access Form has on navigation buttons little search field, but it is small. In your future video, can you show how to create text box with same functionality to search entire form and highlight what has found from VBA?
Great suggestion! I'll add that to my list.
Genius Sir, How can i use conditional statement if else elif in above task,Plz suggest
You can do it. Basically you can put the whole html+= block in the for loop in an if.. elif conditional statement, so it will only write a row if the row meets a criteria or something like that. Or, you can filter the dataset before you are writing the html, or you could conditionally format some elements. The possibilities are endless 🛠 for row in rst: if rst[1234] == 'Type A': html+= "other html" elif rst[1234] =='Type B': html+="red row here" else: html+="normal row html" Something like that!
Very useful! After Update and After Insert events work for me, but if I use After Delete nothing happens. What am I doing wrong? Thanks
It is possible that what you try to do after the delete gets an error. Perhaps you refer to the deleted record or something like that. What does your After Delete macro do?
@@seanmackenziedataengineering I want to store in the LOG table information about inserted/changed/deleted records from the DATA table. If I use the code Value = [DATA].[ID] in the After Insert or After Update event, it works, but if I use it in the After Delete event, then a new record is not created in the LOG table. No error will appear...
I want to write to the LOG table the insertion/change/deletion of a record from the DATA table. I use the expression Value = [DATA].[ID]. It works for both After Insert and After Update events, but not for After Delete. No record will be created, no error will appear...
@@vholas it is likely because you refer to a value that is already deleted when the macro runs. You might try Before Delete instead so you can use the value before it is deleted. Let’s see how it goes 🛠️
There is no CreateRecord action available for the Before Delete event. I also tried accessing the previous value in a field by using syntax [Old].[Field Name] , but this doesn't work either.
How would you execute the code if you want to kick users out that have been idle for an estimate amount if time?
There's a challenge! I think you would probably need some kind of event in your app that would reset an inactive flag (maybe every time they hit OK or something like that). If they are inactive for x minutes/hours then gracefully shut down.
Are you sending unencrypted emails with port 25 (2525 in your case) ? Is there a way to get this working with an encrypted smtp port sich as 465 or 587? Amazing video, you've gained a subscriber! Keep the great work!
Awesome, welcome aboard! Yes you can use other ports by switching those during setup, and you can use more secure authentication (though the email will still be unencrypted)
how to build artificial neural network for observed runoff from(1993-2022) and predict from(2026-2100)
You can try to classify the historical data using some measure: high, med, low or something like that. Try features or data-points that might also be in predicted models to train your models (temp, snow pack etc). Then try predicting based on what other models show. Something like that. Lots of dependencies but worth a try!
Amazing video. I will try to implement this in my project. I have a table of numbers, i want to send a single sms to all the numbers in my table that meet certain criterias "active". Hopefully I get no error
Cool project!
It is very impressive to this web3 world, everything seems easy and totally possible. Thanks for this video, did you just said the output of the ChatGPT is the ugliest form you have ever seen before, well that comment made my day🤣🤣🤣🤣
lol! 😀
Getting below error: The MOF Compiler could not connect with the WMI server. Please suggest next step.
You'll have to research that one. It seems to be related to previous or incomplete installations.
A really good video
Thanks!
Hi, where can i find the "Account" thing? Can anyone help me?
The account will be created when you make a snowflake account online. They will give you an address that you can go to access your Snowflake instance. It will be like abc12345.snowflakecomputing.com - your account is abc12345 in this example.
Handy way to skin a cat I like it PS If need to replace Access what is the next option would be (sql opt out)
Many ways to do things indeed! If you need to replace something in text, you can use Replace ruclips.net/video/R5-gzNq7tgw/видео.html
Another awesome video, THANKS!!!
You bet!
well done sir thanks a lot you have helped me a lot
Happy to help!
Thanks! Great tip for beginners
I remember seeing this on another db back in the day when I first started, and was like, "you can do that??" lol
@@seanmackenziedataengineering Yeah haha. I wasn't aware either. But I frequently use the exact same trick on text boxes, so makes sense that it works on buttons as well!
I wonder if we can get the data used in the video so we can follow along. Thanks
You can see how to get it with this video: ruclips.net/video/rq_oqznypFo/видео.htmlsi=4SD5SNWkF3pmXX3W
nice sir, how insert blob image of sqlite database to view in html page plz sir,make video of it
Great idea - I'll add it to my list!
Me sirvió!! Muchas gracias. No obstante, no se guarda en el formulario :(
Si configura la propiedad RecordSource para ComboBox, guardará la elección. ¡Buena suerte!
Thanks, this was very helpful as always
Glad to hear!
Awesome video! I use BioBERT a lot in the medical R&D field, but geez there is just so much other potential. Anyway, love it!
BioBERT.. never heard of that one. I'll have to check it out! Specialized BERTs seem to be exploding on the scene - I'm looking at AeroBERT for aerospace and that looks cool too.
what if i want to sent to WhatsApp group ??
Possibly - I saw something about "Conversations" in the Twilio docs.
Can this map work in offline environment?
You bet! The trick is to get openstreetmap tiles working offline. It is all open so you can do it. A quick search will show the way.
When was the functionality available? And perhaps more important, why we no longer have it? Yet I see a poorly documented Replication ID autonumbering type in Access.
This is a great question. The last version of Access with replication as a main feature was Access 2003. Replication was supported in Access 2007 and 2010 but then completely removed from Access 2013. This is unfortunately one of many brilliant technologies that Microsoft killed in favor of other alternatives. Not only that, but the 2003 version was even better than what I demonstrate in this video, because iirc it used a GUID instead of numeric ID among other things. If you really became skilled at implementing replication, it worked like a dream. I did several projects that were probably a decade or more ahead of their time - because of replication. Lots of developers took the time to learn it and reaped great rewards. However, iirc from what I read at the time, lots of developers did not achieve success with it and got themselves in trouble.. ..leading to a support nightmare for Microsoft.. so they removed it. This was similar to the removal of Access user security as part of the deprecation of the .mdb file format in favor of .accdb. It suggests that Microsoft wanted to "dumb down" Access and keep it as a desktop database tool. This would push serious developers to work with SQL Server/Express instead so they could access these kinds of features.
@@seanmackenziedataengineering Thanks for the insightful answer. I’m using the GUID auto number data type to implement my on replication schemes, but it’s an uphill battle.
I love the way you split the career to basic and advanced skills. I’ve been keep doing that to become the data engineer. Thanks for sharing!
You're very welcome! Good luck on your data engineering journey 🛠
Wow I got > 20 text boxes in a user form = number type , double How can I assign those into the array please [is it need to have a variable for each] Field names are bit long and bit messy when using in a query!!
If you numbered them like txtMyNumber0, txtMyNumber1, txtMyNumber2 etc then you can load them in one loop, something like: Dim intItem as Integer Dim arr(26) For intItem = 0 to 26 'say you have 27 text boxes arr(intItem) = Forms!MyForm("txtMyNumber" & intItem) Next Array is loaded! If you don't have a numbered design on your form then you can manually load: arr(0) = Forms!MyForm!txtThisField arr(1) = Forms!MyForm!txtThatField etc.
2nd option suits me I will try that out 1st option is cleaner and simpler if new this on designing stage Bravo 🫡
Will you kind enough to add to your “Download’ please Better to keep it in my collection 🤞
@@tuffley2175 added.
Pls do create more videos on snowflake. Thanks. These are really helpful.
Will do!
I am using write_pandas inside a try except block. Can you confirm that all exceptions thrown by the write_pandas inherit from the Exception class? Just want to make sure there aren't any error types that do not belong to Exception and therefore won't get caught in this except block. Or should we not use try except block at all for write_pandas ?
Great question - you can also try: snowflake.connector.errors.ProgrammingError as e to refine your error trapping. Snowflake documentation also uses more general examples with: Exception as e If you're missing errors, I would try the first statement. You'll have to test and decide which will work best for your context. docs.snowflake.com/developer-guide/python-connector/python-connector-example#handling-errors