BookmarkSubscribeRSS Feed
DanieleTiles
Calcite | Level 5
Hi to all,
I was looking for something quite simple, but I believe it's not yet available...is it possible to output the list of items from proc infomaps into a dataset sas? Something not so different the the out option of the proc contents...it would be a nice feature.
Thanks

Daniele
10 REPLIES 10
sbb
Lapis Lazuli | Level 10 sbb
Lapis Lazuli | Level 10
Just did a Google advanced search against the SAS support website. Have you looked here? Reference the LIBNAME engine

https://support.sas.com/documentation/onlinedoc/91pdf/sasdoc_913/base_infomap_9951.pdf

And, here too:

http://support.sas.com/documentation/cdl/en/whatsnew/62580/HTML/default/engimapwhatsnew902.htm


Scott Barry
SBBWorks, Inc.

Recommended Google advanced search argument, this topic/post:

information maps libname engine site:sas.com
DanieleTiles
Calcite | Level 5
Yep, I've already read it and I'm using it...but the proc contents it's not sufficient for what I'm looking for (for example, it doesn't show into which folder an item is contained...while proc infomaps does)...I was just looking for a way to output the "list infomap dataitems" output in a dataset, in a manner similar of the proc contents...
data_null__
Jade | Level 19
ods output?
DanieleTiles
Calcite | Level 5
That's would be wonderful, however I can't find the correct table (I've tried to follow this paper http://www2.sas.com/proceedings/forum2008/086-2008.pdf, but I couldn't find the ods table for the proc infomap, using ods trace on, even with listing).
sbb
Lapis Lazuli | Level 10 sbb
Lapis Lazuli | Level 10
Share your SAS code being used - you mentioned that you are using the LIBNAME engine and you've read the guide/DOC. Let's see *all* of your code that's not working, please.

Scott Barry
SBBWorks, Inc.
DanieleTiles
Calcite | Level 5
Hi,
here is the code using the libname:

///////////
libname TEST infomaps user='dtiles' pw='******' metaserver='icodevsas02' mappath='Shared Data/StatSS' preserve_tab_names=yes;

options validvarname=any;

proc contents data=test.famiglie_es;
run;

//////////

This is the result:

///////
SAS 14:30 Saturday, February 13, 2010 1

La procedura CONTENTS

Nome data set TEST.famiglie_es Osservazioni .
Tipo elemento DATA Variabili 9
Engine INFOMAPS Indici 0
Data creazione . Lunghezza osservazione 0
Data ultima modifica . Osservazioni eliminate 0
Protezione Compresso NO
Tipo data set Ordinato NO
Etichetta
Rappresentazione dei dati Predefinito
Codifica Default


Elenco alfabetico di variabili e attributi

N. Variabile Tipo Lungh Etichetta

8 Anno Alfanum 32 Anno
1 Istat Alfanum 200 ISTAT
2 Istat2 Alfanum 32 Comune
3 Istat2_2 Alfanum 32 Unione
4 Istat2_3 Alfanum 32 Zona Altimetrica
9 N__famiglie_unipersonali Num 8 N° famiglie unipersonali
7 Numcomponenti Alfanum 2 Numero componenti
5 Numero_Di_Famiglie_Unipersonali Num 8 Numero famiglie
6 Residenti_In_Famiglie_Unipersona Num 8 Numero residenti

//////

In the information map the variables are inserted into a folder, but I don't see the name as shown on the doc (folder/name of the data item).
The other code is this one:

/////

ods trace on /listing;

proc infomaps
metauser="dtiles"
metapass="**********"
metaserver="icodevsas02"
;
open infomap "famiglie_es" mappath="/Shared Data/StatSS";
list;
run;

ods trace off;

/////

In this case, I don't get the dataset that I should use with ods output...
Cynthia_sas
SAS Super FREQ
Hi:
I don't want to discourage you from continuing the thread in the SAS Procedures forum, however PROC INFOMAPS is a rather specialized procedure which is used in the context of the Enterprise BI Server installation as part of the SAS Enterprise Intelligence Platform (also known as the BI Platform).

The Web Report Studio forum might be a better place to post your PROC INFOMAPS question. That forum is monitored by the developers of Web Report Studio and since Information Maps are one of the major data sources for Web Report Studio reports, you are more likely to find folks in that forum who know PROC INFOMAPS.

Many Base SAS concepts do not apply with PROC INFOMAPS. For example, PROC INFOMAPS is somewhat related to PROC DATASETS. PROC DATASETS acts on the descriptor portion of a SAS dataset. PROC INFOMAPS acts on the Metadata for an Information Map. However, that is where the similarity ends. For example, you can do this with PROC DATASETS:
[pre]
ods trace on/label;
proc datasets library=sashelp;
contents data=class;
run;
quit;
ods trace off;

[/pre]

and in the SAS log, after the step is finished, you will see the output objects created by the DATASETS procedure. If you use the same technique (ODS TRACE ON/OFF) with PROC INFOMAPS and you do not see any output objects listed in the SAS log, it is entirely possible that interaction with the Metadata on Information Maps is done via a different mechanism than ODS and that PROC INFOMAPS does not use an ODS output object. There are other SAS procedures that do not use standard output objects and it is possible that PROC INFOMAPS falls into this category.

At any rate, the Web Report Studio forum might be a better place to post PROC INFOMAPS questions.

cynthia
gtadda
Fluorite | Level 6

hi

i m facing the same issue, i 'm trying to use the EXPORT function in the PROC INFOMAPS and read it through a XML MAP in order to keep the data structure and get the dataitems and expression values.

Elsewhere you could try to parse the log from PROC INFOMAPS(LIST) to get the values you need.

Bye

Giorgio 

BillM_SAS
SAS Employee

Have you looked at using the SQL Dictionary Tables for the INFOMAPS LIBNAME engine? The tables contain additional information on the information map (including the folder path in which the item is contained).

http://support.sas.com/documentation/cdl/en/engimap/63339/HTML/default/viewer.htm#n0ocj8tnl590ysn1h8...

shwilliams4
Obsidian | Level 7


Daniele,

I just recently had this problem myself. You can put the output from the log into a rudimentary dataset using the code below:

path = %sysfunc(pathname(work)); /*find out the work directory of current session*/

%put &path;

printto log="&path/temp.log" new; /*Create a new log file in the work directory*/

run;

proc infomaps;

open infomap "<Infomapname>" mappath = <map location in SAS internal foldr system>";

list;

run;

printto log = log; /*Go back to a new log window*/

run;

/*Input log fiel from infomap into a dataset*/

data infomap_metadata;

     infile "&path/temp.log" dsd dlm = '`'; /*Nothing in the file is dlm = '`' so whole                                                   row will be in one column*/

     input log:$1000.;  /*I want the whole row in one column so I use a large value*/

     if index(log,":") > 0; /*Get rid of rows without good data*/

run;

That gets you a dataset that can be manipulated.

Sumner

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 10 replies
  • 2638 views
  • 0 likes
  • 7 in conversation