Recently in the SAS Community Library: Your often contains the information you need, but not sequenced in the order required for processing. @SASJedi shows you how to properly sequence data so you can compare the data in one table to the data in another, conduct merges or joins and more.
Preparing for your hack has never been so much fun! 😊 This year, we’re dropping it like it’s PROC with a customized board game called SAS Hackathon Ideation.
The game is designed to help you and your team brainstorm ideas, identify which problem to tackle and determine what data you will use – ultimately, it helps you strategically plan for success!
In the true spirit of gaming, Ideation is intended to engage teamwork and inspire creative problem-solving. You’ll see collaboration emerge as a key component. As you play, you’ll start imagining all the possibilities! That’s the immeasurable benefit of the SAS Hackathon – helping you see the tangible value in innovation.
Also, as part of the game, we encourage you to use our SAS Hackathon Lean Canvas document. This template is a visual and strategic planning tool that will help you organize your use case. Download the document and use it to take notes while you play.
So, when can you play Ideation?
The game will be available to view at the SAS Hackathon Booth at SAS Innovate in Las Vegas.
Look for its arrival to a SAS office near you - sign up on the Interest List to be notified first. Be on the lookout for dates and locations.
... View more
Welcome back to the final installment of our exploration into the latest upgrades in SAS Visual Analytics in SAS Viya for Learners 4. In part 1, we covered the general enhancements, and in part 2, we took a deep dive into the creation of data items, including calculated expressions and dynamic features. Now, in part 3, we will turn our focus to the powerful world of objects within SAS Visual Analytics. Get ready to discover how these versatile tools can transform your data visualization and analysis, making your analysis more insightful and impactful than ever before. Let's dive in!
Crosstabs and List tables:
Cell graphs in crosstabs and list tables are now known as cell visualizations.
When you select the Totals option, the Subtotals option, or both options for a crosstab in a report that you are designing, you can select or deselect the individual category and measure data items that you want to be displayed.
When you are viewing a report, a new pop-up menu enables you to select/deselect totals and subtotals in a crosstab.
You can now export crosstab and list table data with its structure preserved to a Microsoft Excel workbook.
Automated Explanation:
The automated explanation object now displays geographic maps when the response variable is a measure, and the selected underlying factor is a geography.
Automated explanation objects identify extreme values (possible outliers) in the characteristics summary. The full list of values is displayed in the Anomalies tab of the details table.
You can now explain the characteristics of a data item, in an object in a pop -up window. The pop-up window displays the same summary description that is displayed in an automated explanation.
Geo Maps:
For geo coordinate objects and geo region-coordinate objects, the Enable data label thinning option hides data labels as needed to avoid overlapping text.
The new geo pie object enables you to display your data as pie charts on a geographic map. You can use the geo pie object to display the distribution of category values for each location or region on the map.
The new geo bubble and geo cluster objects provide dedicated objects for functionality that was previously part of the geo coordinate object.
For geographic mapping objects, a new Change type option enables you to change a specific data layer in the map to a different type of map layer.
Additional enhancements:
You can now display a search field in the list control. The search field enables report users who are designing or editing reports to find specific values that they want to select or clear in the list.
The scatter plot object has a new Automatic setting for the Marker size option, which can make dense scatter plots easier to read.
What If for forecasting is now available for both report viewers and report designers and has a redesigned interface. The interface is now more intuitive to use and includes a natural language explanation of the results.
Scenario Analysis and Goal Seeking are two separate interfaces, making it more in-line with other SAS tools with these features. A history cutoff filter allows users to zoom in on the forecast and make it easier to view changes. A natural language summary describes what happened with each forecast, providing 5 insights.
Editing titles and rich text now brings up its own text editing interface. Instead of typing directly in the report, a separate interface is displayed to the user to edit the text. All the expected features of a rich text editor are available, such as custom color selection, font type, font size, dynamic variables and more.
Excited to check out all the new features in SAS Visual Analytics in SAS Viya for Learners? Educators and students can sign up for free access to SAS Viya for Learners using an academic email address.
Did you miss my previous posts? If so, please check out Part 1 and Part 2.
... View more
I have an application that use ODS EXCEL to "FLOW" a text string into a cell with specified width, ODS EXCEL inserts linefeed character '0A'x into the string to produce a new line within each cell. I then read the XLSX back into a data set and count the number of linefeeds.
When I have long titles or footnotes, I get the following warnings.
WARNING: Worksheet header is too long. Truncation will occur. WARNING: Worksheet footer is too long. Truncation will occur.
This application does not need titles or footnotes, but I don't want to turn them off with TITLE; FOOTNOTE; statements because I can't easily turn them back on.
I've tried using PROC PRINTTO to send the log to NUL and that works ODS and PROC statements, NOTES etc. disappear from the log but NOT the warning.
ODS EXCEL has an option, MSG_LEVEL='NO NOTES', that looked promising but does not suppress the warnings.
I think if I could redirect STDERR that would work but I cannot figure that.
... View more
I'm trying to configure the Apple Push Notification Service (APNS) in the SAS Tenant, but I wasn't able to do it for the reason that Tenant notifies me that the key or the certificate are invalid, probably because they don't match. Perhaps I'm doing wrong when I try to upload the key and certificate in the Tenant. My key has the following format: auth:
key_identifier: "K86*******"
encryption_key: |
-----BEGIN PRIVATE KEY-----
MIGTAgE*********************************************************
****************************************************************
****************************************************************
*****PR
-----END PRIVATE KEY----- And my PEM certificate has the following information: Certificate:
Data:
Version: 3 (0x2)
Serial Number:
4f:8d:c8:**:**:**:**:**:**:**:**:**:**:**:**:**
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=Apple Worldwide Developer Relations Certification Authority, OU=G4, O=Apple Inc., C=US
Validity
Not Before: May 8 13:43:53 2024 GMT
Not After : Jun 7 13:43:52 2025 GMT
Subject: UID=com.services.xxx.ar.beta, CN=Apple Sandbox Push Services: com.services.xxx.ar.beta, OU=XXXXXXXXXX, C=US
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:d1:22:8b:1f:a6:59:ab:4d:42:ae:24:d5:fa:88:
fb:a5:99:d2:95:ee:7d:2d:aa:0e:11:81:d1:cb:2b:
47:4b:61:25:84:13:ff:cc:81:32:d7:19:3e:43:0f:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:
**:**
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Authority Key Identifier:
keyid:5B:D9:FA:1D:E7:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
Authority Information Access:
CA Issuers - URI:http://certs.apple.com/wwdrg4.der
OCSP - URI:http://ocsp.apple.com/ocsp03-wwdrg403
X509v3 Certificate Policies:
Policy: 1.2.840.XXXXXX.100.5.1
User Notice:
Explicit Text: Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, certificate policy and certification practice statements.
CPS: https://www.apple.com/certificateauthority/
X509v3 Extended Key Usage:
TLS Web Client Authentication
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.apple.com/wwdrg4-8.crl
X509v3 Subject Key Identifier:
E1:A2:6A:52:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
X509v3 Key Usage: critical
Digital Signature
1.2.840.XXXXXX.100.6.3.6:
0....com.services.xxx.ar.beta0...topic."com.services.xxx.ar.beta.voip0...voip.*com.services.xxx.ar.beta.complication0...complication.&com.services.xxx.ar.beta.voip-ptt0....voip-ptt
1.2.840.XXXXXX.100.6.3.1:
..
Signature Algorithm: sha256WithRSAEncryption
4e:b6:f9:2e:a6:4b:18:ee:4e:c3:e9:d4:87:7c:c6:e3:1c:2f:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:
*:*:*:**
-----BEGIN CERTIFICATE-----
MIIGwzCCBaugAwIBAgIQT43Ib7PkvDBu64j4xf8sZzANBgkqhkiG9w0BAQsFADB1
MUQwQgYDVQQDDDtBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9ucyBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTELMAkGA1UECwwCRzQxEzARBgNVBAoMCkFw
cGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTI0MDUwODEzNDM1M1oXDTI1MDYwNzEz
****************************************************************
****************************************************************
****************************************************************
*************************************************************g==
-----END CERTIFICATE----- NOTE: I'm reading the pem certificate content with the following command in my Mac: openssl x509 -in apns_certificate_cert.pem -text I tried a couple of things but I did't manage to find the correct way to do it. First I tried to upload the content as I mentioned before (copy the entire contents). Didn't work. Second I tried to upload only -----BEGIN PRIVATE KEY----- *** -----END PRIVATE KEY----- part for the key field and -----BEGIN CERTIFICATE----- *** -----END CERTIFICATE----- part for the certificate field. Didn't work. Lastly, I tried to add some metadata in the following way for the certificate field: Bag Attributes
friendlyName: Apple Sandbox Push Services: com.services.xxx.ar.beta
localKeyID: E1 A2 6A 52 BE ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
subject=/UID=com.services.xx.ar.beta/CN=Apple Sandbox Push Services: com.services.xxx.ar.beta/OU=7C893PWHR8/C=US
issuer=/CN=Apple Worldwide Developer Relations Certification Authority/OU=G4/O=Apple Inc./C=US
-----BEGIN CERTIFICATE-----
MIIGwzCCBaugAwIBAgIQT43Ib7PkvDBu64j4xf8sZzANBgkqhkiG9w0BAQsFADB1
MUQwQgYDVQQDDDtBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9ucyBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTELMAkGA1UECwwCRzQxEzARBgNVBAoMCkFw
****************************************************************
****************************************************************
****************************************************************
****************************************************************
*****g==
-----END CERTIFICATE----- It didn't work. What's the correct way to upload this information? I'm not sure what I'm doing wrong. Perhaps I'm not reading the certificate in the correct way or the format for the key and certificates are incorrect. Hope you can help me. Thanks!
... View more
Hello! I have got a question about fitting Cox regression model to obs with different measurements with the same ID. I’m new to SAS so I don’t know exactly how to fix this problem. I have got a dataset of 471 obs. 53 out of them have got new measurements but the id of obs are the same. I tried to use this code proc phreg data = imottkm; class x1; model tgvhd*imt(0)= x115; random x1/noclprint; hazardratio 'Relapse' x115/cl=both; run; but the results are a bit weird for me. How could I make this thing work? Is there any way to use random statement in Cox model?
... View more