#proc transpose
Explore tagged Tumblr posts
greatonlinetrainingsposts · 7 months ago
Text
Mastering Data Wrangling in SAS: Best Practices and Techniques
Data wrangling, also known as data cleaning or data preparation, is a crucial part of the data analysis process. It involves transforming raw data into a format that's structured and ready for analysis. While building models and drawing insights are important tasks, the quality of the analysis often depends on how well the data has been prepared beforehand.
For anyone working with SAS, having a good grasp of the tools available for data wrangling is essential. Whether you're working with missing values, changing variable formats, or restructuring datasets, SAS offers a variety of techniques that can make data wrangling more efficient and error-free. In this article, we’ll cover the key practices and techniques for mastering data wrangling in SAS.
1. What Is Data Wrangling in SAS?
Before we dive into the techniques, it’s important to understand the role of data wrangling. Essentially, data wrangling is the process of cleaning, restructuring, and enriching raw data to prepare it for analysis. Datasets are often messy, incomplete, or inconsistent, so the task of wrangling them into a clean, usable format is essential for accurate analysis.
In SAS, you’ll use several tools for data wrangling. DATA steps, PROC SQL, and various procedures like PROC SORT and PROC TRANSPOSE are some of the most important tools for cleaning and structuring data effectively.
2. Key SAS Procedures for Data Wrangling
SAS offers several powerful tools to manipulate and clean data. Here are some of the most commonly used procedures:
- PROC SORT: Sorting is usually one of the first steps in data wrangling. This procedure organizes your dataset based on one or more variables. Sorting is especially useful when preparing to merge datasets or remove duplicates.
- PROC TRANSPOSE: This procedure reshapes your data by converting rows into columns or vice versa. It's particularly helpful when you have data in a "wide" format that you need to convert into a "long" format or vice versa.
- PROC SQL: PROC SQL enables you to write SQL queries directly within SAS, making it easier to filter, join, and aggregate data. It’s a great tool for working with large datasets and performing complex data wrangling tasks.
- DATA Step: The DATA step is the heart of SAS programming. It’s a versatile tool that allows you to perform a wide range of data wrangling operations, such as creating new variables, filtering data, merging datasets, and applying advanced transformations.
3. Handling Missing Data
Dealing with missing data is one of the most important aspects of data wrangling. Missing values can skew your analysis or lead to inaccurate results, so it’s crucial to address them before proceeding with deeper analysis.
There are several ways to manage missing data:
- Identifying Missing Values: In SAS, missing values can be detected using functions such as NMISS() for numeric data and CMISS() for character data. Identifying missing data early helps you decide how to handle it appropriately.
- Replacing Missing Values: In some cases, missing values can be replaced with estimates, such as the mean or median. This approach helps preserve the size of the dataset, but it should be used cautiously to avoid introducing bias.
- Deleting Missing Data: If missing data is not significant or only affects a small portion of the dataset, you might choose to remove rows containing missing values. This method is simple, but it can lead to data loss if not handled carefully.
4. Transforming Data for Better Analysis
Data transformation is another essential part of the wrangling process. It involves converting or modifying variables so they are better suited for analysis. Here are some common transformation techniques:
- Recoding Variables: Sometimes, you might want to recode variables into more meaningful categories. For instance, you could group continuous data into categories like low, medium, or high, depending on the values.
- Standardization or Normalization: When preparing data for machine learning or certain statistical analyses, it might be necessary to standardize or normalize variables. Standardizing ensures that all variables are on a similar scale, preventing those with larger ranges from disproportionately affecting the analysis.
- Handling Outliers: Outliers are extreme values that can skew analysis results. Identifying and addressing outliers is crucial. Depending on the nature of the outliers, you might choose to remove or transform them to reduce their impact.
5. Automating Tasks with SAS Macros
When working with large datasets or repetitive tasks, SAS macros can help automate the wrangling process. By using macros, you can write reusable code that performs the same transformations or checks on multiple datasets. Macros save time, reduce errors, and improve the consistency of your data wrangling.
For example, if you need to apply the same set of cleaning steps to multiple datasets, you can create a macro to perform those actions automatically, ensuring efficiency and uniformity across your work.
6. Working Efficiently with Large Datasets
As the size of datasets increases, the process of wrangling data can become slower and more resource-intensive. SAS provides several techniques to handle large datasets more efficiently:
- Indexing: One way to speed up data manipulation in large datasets is by creating indexes on frequently used variables. Indexes allow SAS to quickly locate and access specific records, which improves performance when working with large datasets.
- Optimizing Data Steps: Minimizing the number of iterations in your DATA steps is also crucial for efficiency. For example, combining multiple operations into a single DATA step reduces unnecessary reads and writes to disk.
7. Best Practices and Pitfalls to Avoid
When wrangling data, it’s easy to make mistakes that can derail the process. Here are some best practices and common pitfalls to watch out for:
- Check Data Types: Make sure your variables are the correct data type (numeric or character) before performing transformations. Inconsistent data types can lead to errors or inaccurate results.
- Be Cautious with Deleting Data: When removing missing values or outliers, always double-check that the data you're removing won’t significantly affect your analysis. It's important to understand the context of the missing data before deciding to delete it.
- Regularly Review Intermediate Results: Debugging is a key part of the wrangling process. As you apply transformations or filter data, regularly review your results to make sure everything is working as expected. This step can help catch errors early on and save time in the long run.
Conclusion
Mastering data wrangling in SAS is an essential skill for any data analyst or scientist. By taking advantage of SAS’s powerful tools like PROC SORT, PROC TRANSPOSE, PROC SQL, and the DATA step, you can clean, transform, and reshape your data to ensure it's ready for analysis. 
Following best practices for managing missing data, transforming variables, and optimizing for large datasets will make the wrangling process more efficient and lead to more accurate results. For those who are new to SAS or want to improve their data wrangling skills, enrolling in a SAS programming tutorial or taking a SAS programming full course can help you gain the knowledge and confidence to excel in this area. With the right approach, SAS can help you prepare high-quality, well-structured data for any analysis.
0 notes
jeremy-ken-anderson · 3 months ago
Text
How the New Black Mage Works
The VAST majority of it is the same as before...but maybe you never learned that bit either!
Thunderhead is the buff you get for swapping elements that allows you to cast Thunder. Thunderhead not having a timer anymore helps reinforce the proper thing to do with Thunder: Like other DoTs in FFXIV, only put it on a target if the target isn't almost dead (No point killing it slowly over another 6 seconds if you can just finish it now) and only when it's missing from the target or about to run out (within the last 3 seconds of the effect you put on before).
At that point it's very good damage - In total over its duration, dealing anywhere from +10% to +25% damage relative to the best damage spell you can spam out.
If you're in content below 35, the cycle is to use Fire until you're out of mana, Transpose, use Blizzard until your mana's full again, Transpose, and just stick Thunder in as appropriate.
Once you hit 35, you can stop using Transpose and instead use Blizzard 3 to swap to ice phase, then Blizzard to refill your mana completely in one cast. Then Fire 3 to swap back to fire phase, and use Fire until mana runs out. As a note! They included a QoL thing where they roll the Firestarter proc early - This is the thing where sometimes when you cast Fire you'll get to use Fire 3 as an instant cast for no mana. So when you're casting Fire, in the last 1/4 of the cast, look at Fire 3. It'll start glowing if it's usable, and then you can press that instead of Fire for extra damage.
Once you have Blizzard 4, at level 58 I think, stop using Blizzard 1. Just go Blizzard 3 - Blizzard 4 - Fire 3 - FireFireFireFire...
If you're running between fights, use Umbral Soul to get yourself topped off on mana and Hearts so you can start the next fight with a nice long fire phase.
At 60+, swap out Fire 1 for Fire 4. The occasional free cast of Fire 3 from Fire 1 isn't worth more than 4's raw POWER. So at that point you use 3 to swap, 4 to continue on both elements, but in ice phase it's a single cast to top you off quickly while in fire phase it's 6 casts, interspersed with other time-sensitive spells like Thunder as they become appropriate.
Once you have Foul use it anywhere in either phase. Don't let it overcap. It's powerful enough you don't ever want to waste charges.
Once you have Despair, use it when your mana is at 800-2399. Below 800 you won't be able to cast it (not sure if the tooltip clarifies this fact), and at 2400+ you can do one more cast of Fire 4 and still have 800. Generally the rhythm is Fire 4 six times.
Once you get Xenoglossy use it instead of Foul for single-target. Foul still wins out on even 2 targets.
Once you get Paradox use it once per phase - both fire AND ice. Like Foul it's powerful enough to be worth it even without being affected by Astral Fire's buff. It costs no mana so you can drop it at the very end of Fire phase, even after Despair.
Paradox in fire phase gives you an automatic Firestarter proc. This is a nice movement option if you have to run, but also can be used as a snappy reentry to fire phase like so:
...Despair, Paradox, Blizzard 3, Blizzard 4, Paradox (Transpose), Fire 3... Doing this means Transpose puts you in Astral Fire 1, meaning your Fire 3 does a little more damage than it would. You don't want to do this Transpose trick without Firestarter, because then you're losing value to Fire 3's absurd cast time and mana cost. But you get about as much damage value by just using the free Fire 3 right away before going to ice phase in the first place - ...Despair, Paradox, Fire 3, Blizzard 3... It's mostly a matter of taste and the timing of dodges or dying targets.
And finally at 100 you get Flare Star as a finisher reward for using Fire 4 six times in one fire phase. It costs gauge instead of mana, so if you want you can cast Despair then Flare Star, or vice versa. Doesn't matter. At 100 Despair is an instant-cast spell, so use Flare Star first if you can stand still for ~2 seconds and Despair first if you can't (and then Fire 3 if you still can't - and if you're still running after that you can dip into your Triplecast or Swiftcast options to cast Flare Star anyway).
In the midst of all this, you got Manafont back at level 30 and it basically lets you have two fire phases back-to-back. Use it pretty much on cooldown as long as you're not already at the end of a fight. Do make sure to use Paradox procs up before you use Manafont, since it gives it to you and they don't stack the way Dancer's bonus Flourishes do. It ends up like this:
...Fire 4 x6, Flare Star, Despair, Paradox, Fire 3 (Manafont), Fire 4 x6... With Xenoglossy and Thunder somewhere in the middle of it all as needed.
The other 2 things to make sure you're using are Ley Lines (level 52+), when you think you'll get to stand still for 10+ seconds (ideally 15-20), and Amplifier at 86+ which gives you an extra Foul/Xenoglossy cast at some point. You'll want to use it in conjunction with one of your low-casting-cost spells such as Thunder, Xenoglossy, Fire 3, Paradox, or anything under Swiftcast/Triplecast. The easiest is to use Xenoglossy right as Amplifier runs out and use Amplifier to replace it, but really the important bit is to use Amplifier as soon as possible once it's off cd because it doesn't have charges. So it's overcapped and losing value every second you don't use it.
3 notes · View notes
tritoch · 1 year ago
Text
updating this with my vision for ktisis:
- venat all-rounder. Excellent in any role. Plays to the level of a competent endgame team player (double pulls on tank, uses mits properly; uses more AOE on DPS and healer; uses cover or rez if helpful)
- hyth DPS/heal. Only okay at both. Plays to the level of an endgame player who is absolutely fuckin zooted in this crystal tower raid (single target rotation only, healing entirely responsive and like a second behind, lies down and dies the second a mechanic is too hard)
- emet DPS role lock. Plays an out of his fucking mind black mage who does shit like transpose for optimal DPS when he has a firestarter proc up and manaward through weak aoes. also has access to everything from the dying gasp trial, making this the only duty support that runs closer to normal dungeon speeds. If you're on DPS and he out dpses you by a certain threshold he makes a snide comment about it. he also, and this last one is the most important to me, will pull before the cutscene ends if you watch the full thing (just by like 3 or 4 seconds, JUST enough to be annoying)
on the one hand it's lame to have venat relegated to exclusive healing duty, but on the other hand it's very, very funny that emet-selch refuses to queue support or fill despite being the greatest mage of his era. what a petulant little shit.
26 notes · View notes
patrice-bergerons · 7 years ago
Text
some very targeted and much needed cheering up from firefox kjasdasd
Tumblr media
7 notes · View notes
destiny-islanders · 5 years ago
Note
I finally met G'hara in game last night! I was so excited I shrieked a little! Also, any advice for playing a black mage? It's my main class but I still feel like I'm doing it wrong 😅
Aww yay!! Enjoy your adventures with best boy! :>
As for Black Mage-- practice really does make perfect! Black Mage is a job that gets easier if you know your rotation really well... not just so you can maximize the amount of damage you can do in a short time, but also so you don’t lose your cool when you have to switch your focus from your spells to doing mechanics.
Unlike other casters, your first priority with equipment stat boosts and materia should be Spell Speed!!! Followed by Critical Hit, then Direct Hit. Eating food that raises these stats will help you even more! :>
Be aware of when it’s best to use your AOE spells vs. single-target. If you’re fighting a group of 3 or more, use AOEs. If you’re fighting 2 or less, focus down one enemy and then the other.
You probably already know this, but you should be casting Fire-type spells as much as possible. (For AOEs, as soon as you get Flare, that spell will also become an essential part of your rotation.)
Blizzard spells are useful for a lot of reasons, but they are not your best spells. Use them to regain MP (and other benefits at higher levels), then switch to your Fire spells.
Thunder spells are a Damage Over Time (DOT) spell that are only as effective as you let them last. You’ll notice that, when you cast Thunder on an enemy, they get a little icon with a number counting down below it. Do not cast another Thunder spell on this enemy until it runs out, or the spell is effectively a “waste” of damage and MP.
Addle is a very useful ability on bosses, especially if they’re about to unleash an attack that you know hits hard. Don’t count it out!
Using Transpose to keep your astral fire / umbral ice up is essential for always having access to your most powerful spells. Use it if you’re about to run the timer out while you’re doing mechanics in a boss fight, and use it between fights in dungeons, too. Think of it like juggling. The challenge of Black Mage is to start juggling at the start of a dungeon, and never, ever stop. This concept is crucial for Black Mages to master, since it kind of makes or breaks the class at higher levels, when you can be blocked from using your most powerful spells if you let that little timer run out.
Near the very end of a spell, you can start to move right before you’re about to cast if you need to get out of the way of something. This is called slidecasting. I think I read somewhere that you can slidecast about .5 seconds before a spell finishes casting? You sort of just get an intuitive feel for it after a while. Practice will help you master this.
Basic Rotations at level 50 
(I’m going to assume that’s around your level cap if you’re doing the Crystal Tower raids. I would recommend looking up rotation guides on YouTube for higher levels because Black Mage legit has like 5 or 6 rotations depending on your level bracket.)
Single-Target
-Blizzard 3, Thunder 3, Fire 3, Fire 1 until you’re low on MP, then repeat. (But, again, do not cast Thunder 3 again if the initial spell is still in effect, even if you have a proc for it.)
AOE (Groups of 3 enemies or more)
-Freeze, Thunder 2, Fire 3, Fire 2, Fire 2, Flare, Transpose, then repeat. (Again, without wasting Thunder 3 DOT.)
Swiftcast has a 60-second cooldown, so I understand the urge to save it for mechanic-heavy parts of bosses. But you also don’t want to leave it sitting unused for half a fight when it could be used to help increase your damage output. It’s especially useful for mob packs between bosses in dungeons-- since Flare has a really long cast time.
P.S. This is kind of a more advanced tip, but it’s worth getting used to now. I’ll try to explain it in a way that’s easily understood.
You know how when you cast a spell, all of your other spells gray out for a second before popping back up? That’s the global cooldown. For Black Mage, the time that the global cooldown has your abilities grayed out is often shorter than your spell casting time. This means that, even while you’re in the middle of casting a spell, you can hit the button of your next spell, that way there’s no interruption between one spell and the next. This is different with instant-cast spells like leylines and sharpcast, but if you’re casting, say, three Fire 1 spells in a row, you should definitely take advantage of lining your spells up!
Hope this helps!
47 notes · View notes
reginaldfountain-blog · 6 years ago
Text
SAS Base Programming Specialist
It's simple to conveniently and just take SAS Certification exams inside the convenience your home or office. SAS Certified Specialist: Base Programming Using SAS 9.4 Test out your true merit being a SAS Programmer. Write and execute SAS code on your exam. SAS is proud to announce a totally new practical programming credential. Within this SAS Base performance-based examination, candidates will access a SAS environment. Coding challenges will be presented with, and you will require to write and execute SAS code to ascertain the correct solutions to some questions. ? Prepare for A00-231 exam: 0 https://sas-exam-guide.blogspot.com/2019/07/how-to-prepare-for-a00-231-exam-on-sas.html Successful candidates must have experience with programming and knowledge management using SAS9.4 and really should have the ability to: ? Read and create documents. ? Manipulate and transform data. ? Create basic detail and summary reports using Base SAS procedures. ? Identify and proper syntax and programming logic errors. Performance-based Base Programming Exam Tutorial You will access SAS software on your exam. Please watch this instructional video that can demonstrate how to navigate both the exam along with the lab environment. SAS Base Programming Exam Content & Pricing Candidates who bring home this credential may have earned a passing score about the SAS9.4 Base Programming - Performance-based exam.
Tumblr media
? This exam is run by SAS and Pearson VUE. ? 40-45 multiple choice and short-answer questions. ? 125 minutes to accomplish exam. ? Passing score is 725; runs on the score range between 200 one,000 points. For more info about scaled scores, see our FAQ. ? Use exam ID A00-231; required when registering with Pearson VUE. ? Use exam ID A00-233 should you currently retain the SAS Certified Base Programmer for SAS 9 credential. This can be a shorter, less costly delta exam. It can be 75 minutes, 18-22 questions, and costs $75 USD. ? This exam will depend on SAS 9.4 M5. ? Exam fee: $180 USD in the U.S. and quite a few other countries. SAS Certification Base Programming Training & Exam Preparation Your one-stop helpful guide to assist you to plan SAS Certification. SAS Certification Base Programming Training ? SAS Programming 1: Essentials ? SAS Programming 2: Data Manipulation Techniques SAS Certification Base Programming Books ? SAS Certified Specialist Prep Guide: Base Programming Using SAS 9.4 SAS Certification Base Programming Practice Exams ? SAS 9.4 Base Programming Performance-Based Exam (PE-231P) SAS Base Programming Exam Content Guide Drop give you a set of the objectives which will be tested about the exam. For additional specific information about each objective download the whole exam content guide. ? Access and make Data Structures 0 Create Temporary and permanent SAS Data sets. 0 Investigate SAS data libraries using base SAS utility procedures. 0 Access data. 0 Combine SAS data sets. 0 Create and manipulate SAS date values. 0 Control which observations and variables in the SAS data set are processed and output. ? Manage Data 0 Sort observations in a SAS data set. 0 Conditionally execute SAS statements. 0 Use assignment statements from the DATA step. 0 Modify variable attributes using options and statements within the DATA step. 0 Accumulate sub-totals and totals using DATA step statements. 0 Use SAS functions to control character data, numeric data, and SAS date values. 0 Use SAS functions to transform character data to numeric and the other way round. 0 Process data using DO LOOPS. 0 Restructure SAS data sets with PROC TRANSPOSE. 0 Use macro variables to simplify program maintenance. ? Error Handling 0 Identify and resolve programming logic errors. 0 Recognize and proper syntax errors. ? Generate Reports and Output 0 Generate list reports using the PRINT procedure. 0 Generate summary reports and frequency tables using base SAS procedures. 0 Enhance reports with user-defined formats, titles, footnotes and SAS System reporting options. 0 Generate reports using ODS statements. 0 Export data. Get Success in SAS A00-231 Certification Exam: ? https://a00-231-study-guide.tumblr.com/ For more details about SAS Base Programming Certification webpage: visit site.
1 note · View note
terramythos · 2 months ago
Text
Tumblr media
the aoe rotation in particular is so fucking funny because in theory you should be using high fire ii as your mana spender since it's the aoe equivalent of fire IV
Tumblr media
the problem is that with the 7.2 changes, Transpose (completely damage-less spell) now grants you a free proc instant cast of the dot spell High Thunder II
Tumblr media
you'll notice it has the same potency. it's literally better to abuse the Transpose proc and hit the dot application twice as filler (or Foul if you have charges of it) and Freeze to gain mana to hit Flare twice. the two AOE spells you're supposed to use (High Fire II and High Blizzard II) are literally completely useless now
i'm no BLM scholar but there's no fucking way this was the intended rotation, i think they were supposed to buff high fire & high blizzard (or nerf high thunder) and fucking forgot
7.2 black mage single target: can you count to SIX? good job!
7.2 black mage aoe: literally just fuck high fire II i know the thingy says you can cast it 4 times it's LYING get that shit OUT OF HERE you only cast it three times otherwise you CAN'T USE FLARE TWICE TO FLARE STAR AT THE END, kys, apparently no one told the devs, why in the fuck does flare build the flare stare gauge when it's a completely different set of abilities that does it for single target that makes no fucking sense-- IS IT THE NAME???
50 notes · View notes
corbinmunoz-blog · 6 years ago
Text
SAS Base Programming Specialist
Anyone can conveniently and just take SAS Certification exams in the comfort of your home or office. SAS Certified Specialist: Base Programming Using SAS 9.4 Test your true merit as a SAS Programmer. Write and execute SAS code in your exam. SAS is proud to announce an innovative practical programming credential. Within this SAS Base performance-based examination, candidates will access a SAS environment. Coding challenges will be presented with, and you may require to write and execute SAS code to discover the correct answers to a series of questions. ? Prepare for A00-231 exam: 0 https://sas-exam-guide.blogspot.com/2019/07/how-to-prepare-for-a00-231-exam-on-sas.html Successful candidates must have expertise in programming and knowledge management using SAS9.4 and will have the ability to: ? Read and build data files. ? Manipulate and transform data. ? Create basic detail and summary reports using Base SAS procedures. ? Identify and fix syntax and programming logic errors. Performance-based Base Programming Exam Tutorial You are going to access SAS software during your exam. Please watch this instructional video that can demonstrate how to navigate both the exam and also the lab environment. SAS Base Programming Exam Content & Pricing Candidates who earn this credential may have earned a passing score around the SAS9.4 Base Programming - Performance-based exam. ? This exam is administered by SAS and Pearson VUE. ? 40-45 multiple choice and short-answer questions. ? 125 minutes to accomplish exam. ? Passing score is 725; uses a score range between 200 to 1,000 points. To find out more about scaled scores, see our FAQ. ? Use exam ID A00-231; required when registering with Pearson VUE. ? Use exam ID A00-233 in the event you currently retain the SAS Certified Base Programmer for SAS 9 credential. This is the shorter, less costly delta exam. It can be 75 minutes, 18-22 questions, and charges $75 USD. ? This exam is based on SAS 9.4 M5. ? Exam fee: $180 USD in the U.S. and quite a few other countries. SAS Certification Base Programming Training & Exam Preparation Your one-stop guide to enable you to get ready for SAS Certification.
Tumblr media
SAS Certification Base Programming Training ? SAS Programming 1: Essentials ? SAS Programming 2: Data Manipulation Techniques SAS Certification Base Programming Books ? SAS Certified Specialist Prep Guide: Base Programming Using SAS 9.4 SAS Certification Base Programming Practice Exams ? SAS 9.4 Base Programming Performance-Based Exam (PE-231P) SAS Base Programming Exam Content Guide As you read through give a report on the objectives that is to be tested about the exam. For more specific information regarding each objective download the total exam content guide. ? Access and make Data Structures 0 Create Temporary and permanent SAS Data sets. 0 Investigate SAS data libraries using base SAS utility procedures. 0 Access data. 0 Combine SAS data sets. 0 Create and manipulate SAS date values. 0 Control which observations and variables within a SAS data set are processed and output. ? Manage Data 0 Sort observations inside a SAS data set. 0 Conditionally execute SAS statements. 0 Use assignment statements inside the DATA step. 0 Modify variable attributes using options and statements from the DATA step. 0 Accumulate sub-totals and totals using DATA step statements. 0 Use SAS functions to govern character data, numeric data, and SAS date values. 0 Use SAS functions to transform character data to numeric and the opposite way round. 0 Process data using DO LOOPS. 0 Restructure SAS data sets with PROC TRANSPOSE. 0 Use macro variables to simplify program maintenance. ? Error Handling 0 Identify and resolve programming logic errors. 0 Recognize and proper syntax errors. ? Generate Reports and Output 0 Generate list reports while using the PRINT procedure. 0 Generate summary reports and frequency tables using base SAS procedures. 0 Enhance reports with user-defined formats, titles, footnotes and SAS System reporting options. 0 Generate reports using ODS statements. 0 Export data. Get Success in SAS A00-231 Certification Exam: ? https://a00-231-study-guide.tumblr.com/ For more details about SAS A00-231 web page: look at this now.
1 note · View note
henryshaa · 2 years ago
Text
youtube
Welcome to Naidu Tutorials, your go-to destination for high-quality SAS training! In Part 17 of our comprehensive 30-Hour Complete SAS Training series, we'll focus on two essential SAS procedures: PROC TRANSPOSE and the RETAIN statement. These powerful tools enable you to manipulate and reshape your data, making it easier to analyze and derive meaningful insights from your datasets.
0 notes
exploreworldwithme · 2 years ago
Text
SAS Tutorial - Proc Transpose & Retain in SAS | 30-Hour Complete SAS Training | Part 17
Welcome to Naidu Tutorials, your go-to destination for high-quality SAS training! In Part 17 of our comprehensive 30-Hour Complete SAS Training series, we'll focus on two essential SAS procedures: PROC TRANSPOSE and the RETAIN statement. These powerful tools enable you to manipulate and reshape your data, making it easier to analyze and derive meaningful insights from your datasets.
youtube
0 notes
karonbill · 3 years ago
Text
SAS Institute A00-231 Practice Test Questions
In order to help you pass the A00-231 SAS 9.4 Base Programming - Performance-Based Exam, PassQuestion provides you the latest SAS Base Programming Specialist A00-231 Practice Test Questions, which have a very close similarity with real exam. They use professional knowledge and experience to provide SAS Base Programming Specialist A00-231 Practice Test Questions for people ready to participate in SAS Institute A00-231 exam. The accuracy rate of SAS Base Programming Specialist A00-231 Practice Test Questions provided by PassQuestion is very high and they can 100% guarantee you pass the SAS Institute A00-231 exam successfully for one time.
A00-231 Exam Overview - SAS 9.4 Base Programming - Performance-Based Exam
The SAS Base Programming Specialist (A00-231) exam challenges candidates to apply specific knowledge they have acquired through SAS software training and/or job experience. This exam is based on SAS 9.4 M5. Exams are generally scheduled through Pearson VUE but are also held at various locations around the world on a pre-scheduled basis.
Exam Information
Exam Name: SAS 9.4 Base Programming - Performance-Based Exam Exam Code: A00-231 Exam Conducted: This exam is administered by SAS and Pearson VUE. Total Questions: 40-45 multiple-choice and short-answer questions. Exam Duration: 135 minutes to complete the exam. Exam Price: $180 USD Passing score: 725 (score range from 200 to 1,000 points). Exam Format: This exam is based on SAS 9.4 M5.
Exam ObjectivesAccess and Create Data Structures: 20-25%
Create temporary and permanent SAS data sets.
Investigate SAS data libraries using base SAS utility procedures.
Access data.
Combine SAS data sets.
Create and manipulate SAS date values.
Control which observations and variables in a SAS data set are processed and output.
Manage Data: 35-40%
Sort observations in a SAS data set.
Conditionally execute SAS statements.
Use assignment statements in the DATA step.
Modify variable attributes using options and statements in the DATA step.
Accumulate sub-totals and totals using DATA step statements.
Use SAS functions to manipulate character data, numeric data, and SAS date values.
Use SAS functions to convert character data to numeric and vice versa.
Process data using DO LOOPS
Restructure SAS data sets with PROC TRANSPOSE.
Use macro variables to simplify program maintenance.
Error Handling: 15-20%
Identify and resolve programming logic errors.
Recognize and correct syntax errors.
Generate Reports and Output: 15-20%
Generate list reports using the PRINT procedure.
Generate summary reports and frequency tables using base SAS procedures.
Enhance reports system user-defined formats, titles, footnotes and SAS System reporting options.
Generate reports using ODS statements.
Export data
View Online SAS 9.4 Base Programming A00-231 Free Questions
Which statement about SAS libraries is true? A. You refer to a SAS library by a logical name called a libname. B. A SAS library is a collection of one or more SAS files that are referenced and stored as a unit. C. A single SAS library must contain files that are stored in different physical locations. D. At the end of each session, SAS deletes the contents of all SAS libraries. Answer: B
Assume that Work. Ds1 and Work.Ds2 exist and the following SAS program is submitted: ods pdf file='results.pdf'; proc print data=work.ds1; run; proc freq data=work.ds1; proc freq data=work.ds2; run; ods pdf close; How many PDF files are created? A. 1 PDF file with all the output combined B. 2 PDF files -- one file for each data set used C. 2 PDF files -- one for the PRINT output and one for the FREQ output D. 3 PDF files -- one per procedure request Answer: A
Assume that Sasuser.One does not exist and that the following SAS program is submitted at the beginning of a new SAS session: data sasuser.one; x=1; y=27; output one; run; A. The data set Sasuser.One is created with 2 variables and 3 observations. B. The data set Sasuser.One is created with 2 variables and 0 observations. C. The data set Work.One is created with 2 variables and 1 observation. D. The data set Sasuser.One is created with 2 variables and 1 observation. Answer: B
A PROC PRINT report was created with the following title: Asia Sports Vehicle Summary After the PROC PRINT report is run, a programmer would next like to produce a PROC FREQ report with the following title: Asia Sports Vehicle Summary Distribution by Make Which statement(s) would produce the new report titles? A. title "Distribution by Make"; B. title "Asia Sports Vehicle Summary"; title "Distribution by Make"; C. title "Asia Sports Vehicle Summary"; title2 "Distribution by Make"; D. title "Asia Sports Vehicle Summary"; subtitle "Distribution by Make"; Answer: C
The variable Name in the data set Employee has a $CHAR10. format. The variable Name in the data set Sales has a $CHAR15. format.The following SAS program is submitted: data both; merge employee sales; by name; run; What is the format for the variable Name in the data set Both? A. no format defined B. $CHAR C. $CHAR10 D. $CHAR15 Answer: C
0 notes
greatonlinetrainingsposts · 5 months ago
Text
Advanced SAS Functions for Data Transformation: Unlocking the Power of SAS Programming
Data transformation is one of the most fundamental aspects of data analysis, and mastering SAS functions for transforming data is essential for those seeking to take their analysis to the next level. SAS Tutorials introduce basic data manipulation techniques, but as your proficiency in SAS Programming Tutorial grows, it becomes important to explore more advanced techniques. This guide will highlight some of the most powerful SAS functions that can help you unlock the full potential of your data.
Overview of Data Transformation in SAS
Data transformation refers to changing the structure or values in a dataset to make it more suitable for analysis. Common transformations include converting variables, creating new variables, and reshaping data formats. In SAS Tutorial Online, the DATA Step is frequently used for these transformations, offering a high degree of flexibility and control over how data is handled.
Using PROC TRANSPOSE for Data Reshaping
One of the most commonly used SAS functions for reshaping data is PROC TRANSPOSE. This function allows you to convert data from wide to long format and vice versa. For example, if you have a dataset with multiple measurements for each subject in separate columns, PROC TRANSPOSE can be used to stack these values into a single column for analysis.
This process is particularly helpful when you want to aggregate data or perform statistical analysis on time-series data. Using SAS Programming Tutorial to learn the ins and outs of PROC TRANSPOSE enables you to apply this powerful function to a variety of datasets.
Mastering the DATA Step for Advanced Data Manipulation
The DATA Step is one of the most powerful tools in SAS, and learning to use it effectively for data transformation is key to unlocking advanced techniques. With the DATA Step, you can manipulate variables, create new calculated columns, and merge datasets based on specific conditions.
For example, if you need to apply a condition to a specific column based on another column's value, you can use conditional logic within the DATA Step. This allows you to clean and modify data according to your exact specifications. For more complex tasks, the SAS Programming Tutorial provides detailed examples on how to perform such transformations using simple code.
Leveraging SAS Functions for Variable Transformation
SAS provides a wealth of built-in functions for transforming individual variables. These include text manipulation functions like SUBSTR and UPCASE, numerical functions like ROUND and INT, and date functions like MDY. Understanding how to leverage these functions in your DATA Step can drastically simplify the process of cleaning and transforming data.
For example, you can use SUBSTR to extract part of a string or UPCASE to convert all text to uppercase for consistency in your dataset. Advanced users often combine these functions within DATA Steps to apply transformations across entire datasets efficiently.
Conclusion
Advanced SAS functions provide the tools you need to manipulate and transform data in powerful ways. Whether reshaping data with PROC TRANSPOSE, using the DATA Step for conditional transformations, or leveraging built-in functions for variable manipulation, mastering these techniques is crucial for advanced SAS users. By learning these transformation functions, you can enhance your data analysis and unlock new insights that would otherwise remain hidden.
0 notes
rfmdataanalysis · 4 years ago
Text
Multicollinearity Investigation
Multicollinearity described as the phenomenon in which two or more identified predictor variables in a multiple regression model are highly correlated. It can have a detrimental impact on the generalizability and accuracy of the model.  If multicollinearity exists, the traditional ordinary least squares estimators are imprecisely estimated, which leads to this inaccuracy in your judgment as to how each predictor variable impacts the target outcome variable.  It is essential to detect and solve the issue of multicollinearity before the estimating the parameters based on a fitted regression model.
Diagnostic SAS codes for detecting multicollinearity in a dataset:
SAS Viya model nodes list Variable of Importance for the models.  Use the list, we can run the diagnostic SAS codes below for detecting multicollinearity variables in a dataset and consider rejecting them using the Manage Variable node.
Use Proc Freq to explore the descriptive and univariate statistics of the target variable and predictor variables.
Proc freq data=dataset1; Tables  (x1 x2 x3 x4 x5) * target_variable*x1; Run;
Explore the correlation matrix using Proc Corr.
Proc corr data=exampledataset; Var x1 x2 x3 x4 x5; Title ‘Examination of Correlation Matrix’; Run;
In reviewing the Correlation Matrix, We want to check to see if any of the variables included have a high correlation - about 0.8 or higher - with any other variables.
Examine multicollinearity through the Variance Inflation Factor and Tolerance.  This can be done by specifying the “vif”, “tol”, and “collin” options after the model statement.
Proc reg data=exampledataset; Model target_variable= x1 x2 x3 c4 x5 / vif tol collin;4; Title ‘ Multicollinerity Investigation of VIF and Tol’; Run; Quit;
In reviewing tolerance we want to make sure that no values below 0.1.
We could also focus on the relationship of the eigenvalue column to the condition index column. If one or more of the eigenvalues are small (close to zero) and the corresponding condition number large, then we have indication of multicollinearity.
HOW DO I COMPUTE TETRACHORIC/POLYCHORIC CORRELATIONS IN SAS?
When two random variables under consideration are dichotomous variables or ordinal categorical variables, we might need to compute the tetrachoric/polychoric correlations. The calculation of tetrachoric/polychoric correlation is under the assumption that the two dichotomous variables represent underlying normal distributions. When both variables are binary, the correlation is called tetrachoric correlation and in a more general case it is called polychoric correlation. In SAS, proc freq is used to obtain tetrachoric/polychoric correlation.
/* Computing tetrachoric correlation between two dichotomous variables */
proc freq data = hsb2;  tables honors*female /plcorr; run;
We specify the plcorr option in the tables statement to request for polychoric correlation.
/*  Computing polychoric correlation among two or more ordinal categorical variables */
proc freq data = hsb2;  tables (female ses honors)*(female ses honors) /plcorr;  ods output measures=mycorr (where=(statistic="Tetrachoric Correlation"                                     or statistic="Polychoric Correlation")                              keep = statistic table value); run; proc print data = mycorr; run;
/*  Obtaining a polychoric correlation matrix for a group of variables */
proc freq data = hsb2;  tables (female ses honors)*(female ses honors) /plcorr;  ods output measures=mycorr (where=(statistic="Tetrachoric Correlation"                                     or statistic="Polychoric Correlation")                              keep = statistic table value); run;
data mycorrt;  set mycorr ;  group = floor((_n_ - 1)/3);  x = scan(table, 2, " *");  y = scan(table, 3, " *");   keep group value table x y; run; proc print data = mycorrt; run;
/* transpose the data set up to a matrix format */
proc transpose data = mycorrt out=mymatrix (drop = _name_ group)   ;   id x;   by group;   var value ; run; proc print data = mymatrix; run;
REFERENCES
Deanna Naomi Schreiber-Gregory “Multicollinearity: What Is It, Why Should We Care, and How Can It Be Controlled?”
https://stats.idre.ucla.edu/sas/faq/how-do-i-compute-tetrachoricpolychoric-correlations-in-sas/
0 notes
ffxivpathoflight · 5 years ago
Photo
Tumblr media
Selection: “My power is yours to command.”
Job: Black Mage.
Weapons: Rod.
AI Behavior: As a ranged magic DPS, Mikhel will focus on casting spells, though he will also interrupt his cast times if targeted or threatened by AoE’s. If he is in the middle of a DPS burst and he has set Ley Lines, he will avoid AoE’s by Aetherial Manipulation and Between the Lines. If a big, unavoidable attack comes and he is low on health, he will cast Manaward on himself. He will manage his MP carefully, casting Flare at the end of the normal rotation if Foul / Xenoglossy is not available and then using Transpose. He will also cast Thunder III / IV and keep the effect up, and will not immediately use the Thundercloud proc if he is in the middle of his Astral Fire phase.
Battle Lines:
“Prudence is paramount.” —Starting Attack Line
“I will end this swiftly.” —Using Specialty Skills, Variation 1 (Triplecast)
“I call upon the laws of the arcane!” —Using Specialty Skills, Variation 2 (Ley Lines)
“Crystals of dark, smite mine enemies!” —Using Specialty Skills, Variation 3 (Xenoglossy)
Limit Break:
• “I will tip the scales!” —Using Limit Break I (Skyshard)
• “You will be nothing but cinders!” —Using Limit Break II (Starstorm)
• “Heavenly stars, rain down hell!” —Using Limit Break III (Meteor)
KO’d:
• “Sister, I’m so sorry…” —Variation 1
• “My strategy was lacking…” —Variation 2
Revived:
• “Most obliged.” —Variation 1
• “This should turn the tide.” —Variation 2
0 notes
siva3155 · 6 years ago
Text
300+ TOP SAS Interview Questions and Answers
SAS Interview Questions for freshers experienced :-
1. What is SAS? What are the functions does it performs? SAS means Statistical Analysis System, which is an integrated set of software products. Information retrieval and data management Writing reports and graphics Statistical analytics, econometrics and data mining Business planning, forecasting, and decision support Operation research and Project management Quality Improvement Data Warehousing Application Development 2. What is the basic structure of the SAS base program? The basic structure of SAS consist of ==DATA step, which recovers & manipulates data. ==PROC step, which interprets the data. 3. What is the basic syntax style in SAS? To run the program successfully, and you have the following basic elements: There should be a semi-colon at the end of every line A data statement that defines your data set Input statement There should be at least one space between each word or statement A run statement For example: In file ‘H: \StatHW\yourfilename.dat’; 4. Explain data step in SAS The Data step creates a SAS dataset which carries the data along with a “data dictionary.” The data dictionary holds information about the variables and their properties. 5.What is PDV? The logical area in the memory is represented by PDV or Program Data Vector. At the time, SAS creates a database of one observation at a time. An input buffer is created at the time of compilation which holds a record from an external file. The PDV is created following the input buffer creation. 6. Approximately what date is represented by the SAS date value of 730? 31st December 1961 7. Identify statements whose placement in the DATA step is critical. INPUT, DATA and RUN… 8. Does SAS 'Translate' (compile) or does it 'Interpret'? Compile 9. What does the RUN statement do? When SAS editor looks at Run it starts compiling the data or proc step, if you have more than one data step or proc step or if you have a proc step. Following the data step then you can avoid the usage of the run statement. 10. Why is SAS considered self-documenting? SAS is considered self documenting because during the compilation time it creates and stores all the information about the data set like the time and date of the data set creation later No. of the variables later labels all that kind of info inside the dataset and you can look at that info using proc contents procedure.
Tumblr media
SAS Interview Questions 11. What are some good SAS programming practices for processing very large data sets? Sort them once, can use firstobs = and obs = , 12. What is the different between functions and PROCs that calculate the same simple descriptive statistics? Functions can used inside the data step and on the same data set but with proc's you can create a new data sets to output the results. May be more ........... 13. If you were told to create many records from one record, show how you would do this using arrays and with PROC TRANSPOSE? I would use TRANSPOSE if the variables are less use arrays if the var are more ................. depends 14. What is a method for assigning first.VAR and last.VAR to the BY groupvariable on unsorted data? In unsorted data you can't use First. or Last. 15. How do you debug and test your SAS program? First thing is look into Log for errors or warning or NOTE in some cases or use the debugger in SAS data step. 16. What other SAS features do you use for error trapping and data validation? Check the Log and for data validation things like Proc Freq, Proc means or some times proc print to look how the data looks like ........ 17. How would you combine 3 or more tables with different structures? I think sort them with common variables and use merge statement. I am not sure what you mean different structures. 18. What areas of SAS are you most interested in? BASE, STAT, GRAPH, ETSBriefly 19. Describe 5 ways to do a "table lookup" in SAS. Match Merging, Direct Access, Format Tables, Arrays, PROC SQL 20. What versions of SAS have you used (on which platforms)? SAS 9.1.3,9.0, 8.2 in Windows and UNIX, SAS 7 and 6.12 21. What are some good SAS programming practices for processing very large data sets? Sampling method using OBS option or subsetting, commenting the Lines, Use Data Null 22. What are some problems you might encounter in processing missing values? In Data steps? Arithmetic? Comparisons? Functions? Classifying data? The result of any operation with missing value will result in missing value. Most SAS statistical procedures exclude observations with any missing variable vales from an analysis. 23. How would you create a data set with 1 observation and 30 variables from a data set with 30observations and 1 variable? Using PROC TRANSPOSE 24. What is the different between functions and PROCs that calculate the same simple descriptive statistics? Proc can be used with wider scope and the results can be sent to a different dataset. Functions usually affect the existing datasets. 25. If you were told to create many records from one record, show how you would do this using array and with PROC TRANSPOSE? Declare array for number of variables in the record and then used Do loop Proc Transpose with VARstatement 26. What are _numeric_ and _character_ and what do they do? Will either read or writes all numeric and character variables in dataset. 27. How would you create multiple observations from a single observation? Using double Trailing @@ 28. For what purpose would you use the RETAIN statement? The retain statement is used to hold the values of variables across iterations of the data step. Normally, all variables in the data step are set to missing at the start of each iteration of the data step.What is the order of evaluation of the comparison operators: + - * / ** ()?(), **, *, /, +, - 29. How could you generate test data with no input data? Using Data Null and put statement 30. How do you debug and test your SAS programs? Using Obs=0 and systems options to trace the program execution in log. 31. What can you learn from the SAS log when debugging? It will display the execution of whole program and the logic. It will also display the error with line number so that you can and edit the program. 32. What is the purpose of _error_? It has only to values, which are 1 for error and 0 for no error. 33. How can you put a "trace" in your program? By using ODS TRACE ON 34. How does SAS handle missing values in: assignment statements, functions, a merge, an update, sort order, formats, PROCs? Missing values will be assigned as missing in Assignment statement. Sort order treats missing as second smallest followed by underscore. 35. How do you test for missing values? Using Subset functions like IF then Else, Where and Select. 36. How are numeric and character missing values represented internally? Character as Blank or “ and Numeric as. 37. Which date functions advances a date time or date/time value by a given interval? INTNX. 38. In the flow of DATA step processing, what is the first action in a typical DATA Step? When you submit a DATA step, SAS processes the DATA step and then creates a new SAS data set.( creation of input buffer and PDV) Compilation Phase Execution Phase 39. What are SAS/ACCESS and SAS/CONNECT? SAS/Access only process through the databases like Oracle, SQL-server, Ms-Access etc. SAS/Connect only use Server connection. 40. What is the one statement to set the criteria of data that can be coded in any step? OPTIONS Statement, Label statement, Keep / Drop statements. 41. What is the purpose of using the N=PS option? The N=PS option creates a buffer in memory which is large enough to store PAGESIZE (PS) lines and enables a page to be formatted randomly prior to it being printed. 42. What are the scrubbing procedures in SAS? Proc Sort with nodupkey option, because it will eliminate the duplicate values. 43. What are the new features included in the new version of SAS? The main advantage of version9 is faster execution of applications and centralized access of data and support. There are lots of changes has been made in the version 9 when we compared with the version8. The following are the few:SAS version 9 supports Formats longer than 8 bytes & is not possible with version 8. Length for Numeric format allowed in version 9 is 32 where as 8 in version 8. Length for Character names in version 9 is 31 where as in version 8 is 32. Length for numeric informat in version 9 is 31, 8 in version 8. Length for character names is 30, 32 in version 8.3 new informats are available in version 9 to convert various date, time and datetime forms of data into a SAS date or SAS time. ·ANYDTDTEW. - Converts to a SAS date value ·ANYDTTMEW. - Converts to a SAS time value. ·ANYDTDTMW. -Converts to a SAS datetime value.CALL SYMPUTX Macro statement is added in the version 9 which creates a macro variable at execution time in the data step by · Trimming trailing blanks · Automatically converting numeric value to character. New ODS option (COLUMN OPTION) is included to create a multiple columns in the output. 44. WHAT DIFFERRENCE DID YOU FIND AMONG VERSION 6 8 AND 9 OF SAS. The SAS 9 Architecture is fundamentally different from any prior version of SAS. In the SAS 9 architecture, SAS relies on a new component, the Metadata Server, to provide an information layer between the programs and the data they access. Metadata, such as security permissions for SAS libraries and where the various SAS servers are running, are maintained in a common repository. 45. What has been your most common programming mistake? Missing semicolon and not checking log after submitting program, Not using debugging techniques and not using Fsview option vigorously. Name several ways to achieve efficiency in your program.Efficiency and performance strategies can be classified into 5 different areas. CPU time Data Storage Elapsed time Input/Output Memory CPU Time and Elapsed Time- Base line measurements 46. Few Examples for efficiency violations:Retaining unwanted datasets Not sub setting early to eliminate unwanted records. Efficiency improving techniques: Using KEEP and DROP statements to retain necessary variables. Use macros for reducing the code. Using IF-THEN/ELSE statements to process data programming. Use SQL procedure to reduce number of programming steps. Using of length statements to reduce the variable size for reducing the Data storage. Use of Data _NULL_ steps for processing null data sets for Data storage. 47. What other SAS products have you used and consider yourself proficient in using? Data _NULL_ statement, Proc Means, Proc Report, Proc tabulate, Proc freq and Proc print, Proc Univariate etc. What is the significance of the 'OF' in X=SUM (OF a1-a4, a6, a9);If don’t use the OF function it might not be interpreted as we expect. For example the function above calculates the sum of a1 minus a4 plus a6 and a9 and not the whole sum of a1 to a4 & a6 and a9. It is true for mean option also. 48. How to use IF THEN ELSE in PROC SQL? PROC SQL; SELECT WEIGHT, CASE WHEN WEIGHT BETWEEN 0 AND 50 THEN ’LOW’ WHEN WEIGHT BETWEEN 51 AND 70 THEN ’MEDIUM’ WHEN WEIGHT BETWEEN 71 AND 100 THEN ’HIGH’ ELSE ’VERY HIGH’ END AS NEWWEIGHT FROM HEALTH; QUIT; 49. How to remove duplicates using PROC SQL? Proc SQL noprint; Create Table inter.Merged1 as Select distinct * from inter.readin ; Quit; 50. How to count unique values by a grouping variable? You can use PROC SQL with COUNT(DISTINCT variable_name) to determine the number of unique values for a column. 51. What is the one statement to set the criteria of data that can be coded in any step? Options statement. 52. What is the effect of the OPTIONS statement ERRORS=1? The –ERROR- variable ha a value of 1 if there is an error in the data for that observation and 0 if it is not. 53. What do the SAS log messages "numeric values have been converted to character" mean? What are the implications? It implies that automatic conversion took place to make character functions possible. 54. Why is a STOP statement needed for the POINT= option on a SET statement? Because POINT= reads only the specified observations SAS cannot detect an end-of-file condition as it would if the file were being read sequentially. 55. How do you control the number of observations and/or variables read or written? FIRSTOBS and OBS option SAS Questions and Answers Pdf Download Read the full article
0 notes
furball-fantasy-xiv · 8 years ago
Text
How to BLM AoE in 4.0
I’ve been mathing out lots of different BLM AoE permutations for various levels off and on over the past week. I’m pretty sure I’ve got them mostly optimized, but I've still got some feasibility testing to do. I’m also thinking about making a flowchart and/or a write-up on the rationale, but in the meantime, here are the (preliminary) rotations.
Levels 60-63
Blizzard III 》 Enochian 》 Thunder II 》 Fire III 》 Fire II/IV 》 Flare 》 Transpose 》 repeat from Thunder II
Levels 64-67
Blizzard III 》 Enochian 》 Thunder IV 》 Fire III 》 Fire II/IV ×3 》 Flare 》 Transpose 》 repeat from Thunder IV
Levels 68-70
Blizzard III 》 Enochian 》 Thunder IV 》 Blizzard IV 》 Fire III 》 Flare ×2 》 Transpose 》 repeat from Thunder IV
Notes
• Use Fire IV if dealing with only 2 or 3 targets, and Fire II if dealing with 4 or more. In the 64-67 rotation, you may only be able to cast two Fire IVs without dropping Astral Fire; this will clip Thunder IV slightly, but that’s okay.
• Don’t be picky about Thunder placement. If you get a Thundercloud proc, use it in its designated spot in the rotation if possible. If not, use it as late as possible, and cast new Thunders in the spot you cast that Thundercloud to avoid clipping and maximize uptime.
• At 70, it’s better to use Foul during Astral Fire rather than Umbral Ice (which is better in single target), but both are acceptable as long as you have room on the timer.
• Use Sharpcast on cooldown before Thunder spells to get guaranteed Thunderclouds.
• Use Convert on cooldown for an extra cast of Flare (ideally with Swiftcast or Triplecast).
• Swiftcast, Triplecast, and Ley Lines can lead to clipping Thunder unnecessarily if not accounted for, as can high Spell Speed values. Use them if you like, but (as already mentioned) be flexible in your Thunder placement, and be ready to shift its slot in the rotation if necessary.
5 notes · View notes