SSIS Load Excel Data with out MS Office
Hello All,
Requirement : Load Excel Data to SQL Server Table using SSIS 2012 with out using OPENROWSET(Ad Hoc Distributed Queries)
SET UP : SQL SERVER 2012-64 Bit and Access DataBase Engine 2010 -64 Bit
Problem :: No MS Office Install
Help on this as how can this be achieved
When I use Excel as Source , I get error "MS Ace OLEDB 12.0" provider is not install on local Machine but if I take OLEDB Source and use OPENROWSET , I can see and Load data in SQL Table ..
Hi Mushtaq308,
According to your description, you want to read write Excel using SSIS without installing MS office on the target environment. In that case, missing of data access component on the machine stops working of SSIS package.
Then following any one installation on the machine can solve this issue:
2007 Office System Driver: Data Connectivity Components
Microsoft Access Database Engine 2010 Redistributable
Besides, for the error message that “the 'microsoft.ace.oledb.12.0' provider is not registered on the local machine”, please refer to the following thread:
https://social.msdn.microsoft.com/Forums/en-US/1d5c04c7-157f-4955-a14b-41d912d50a64/how-to-fix-error-the-microsoftaceoledb120-provider-is-not-registered-on-the-local-machine?forum=vstsdb
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support
Similar Messages
-
Loading Excel data with custom format applied
Hi,
I have an Excel File as source with the custom formatting applied to the data in it.
For Eg. value 64 has special formatting applied so as to display it as 0064.
BODS loads only the actual data as 64 and though I expect to load the formatted data(0064).
Is this an expected behavior of BODS?
DS Version : 14.1.2
Thanks.No. If you define file format as flat file and define the field type as char then you can load all the formatted data like 0064 into DB. If you use excel then excel will remove leading zeros. This is excel functionality. or you can define the input file as CSV file and change the format of the field.
Thanks, -
Use of "with master data & with out master data" at DTP update level
Hello experts,
In DTP, I check "with out master data". When I try to send corresponding transactional data, It is showing SID related error. Can anybody suggest what is the use of "with master data & with out master data" at DTP level.
Thanks in advance,
Zakir.HI
HI in DTP level If you set this indicator, the system terminates the update of the request if no values are available for a data record.
Load the relevant master data before you load the transaction data.
If you set this indicator, the system terminates activation if master data is missing and produces an error message.
If you do not set this indicator, the system generates any missing SID values during activation.
In DataStore maintenance, if you do not set the SIDs Generation upon Activation indicator, the No Update without Master Data indicator in the DTP has no effect.
thx
vijju -
Download alv report output to excel format with out header line
Hi experts,
i want to download a alv report output into excel formatt with out the header line but it has to download including field description. as this output will fed into another transaction, the downloaded excel file should be with out header line.
fro eg:
Report : Zabc ABAP Development Page : 1
Run Date : 12/14/06 System: UD400
Run Time : 08:45:37
this header details should not be downloaded into the excel file.
could somebody help me please.
thanks
deepuhi jayanti,
thanks for your response.
i have delclared all the field types as character but still it is not downloading and it 's sy-subrc is 4... the code is as below.
*field names
lt_fieldnames-value = 'Material Number'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Plant'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Material Group'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Material Description'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'UOM'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Price Unit'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Material Type'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'X-Plant Status'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Valuation Class'.
APPEND lt_fieldnames.
lt_fieldnames-value = lw_avmng.
APPEND lt_fieldnames.
lt_fieldnames-value = lw_avntp.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Latest PO Qty'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Latest PO Cost'.
APPEND lt_fieldnames.
lt_fieldnames-value = 'PO Creation Date'.
APPEND lt_fieldnames.
lt_fieldnames-value = lw_fcaqt.
APPEND lt_fieldnames.
lt_fieldnames-value = 'Prev. Yr. Std. Cost'.
APPEND lt_fieldnames.
lt_fieldnames-value = lw_stcst.
APPEND lt_fieldnames.
CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = 'XLSHEET'
CREATE_PIVOT = 0
DATA_SHEET_NAME = ' '
PIVOT_SHEET_NAME = ' '
PASSWORD = ' '
PASSWORD_OPTION = 0
TABLES
PIVOT_FIELD_TAB =
data_tab = t_output1
fieldnames = lt_fieldnames
EXCEPTIONS
file_not_exist = 1
filename_expected = 2
communication_error = 3
ole_object_method_error = 4
ole_object_property_error = 5
invalid_pivot_fields = 6
download_problem = 7
OTHERS = 8
IF sy-subrc <> 0.
MESSAGE e001 WITH 'Data could not be downloaded'.
ENDIF.
ENDFORM. " z_dwn_xl
thanks
deepu -
Step- by- Step on How to Load Excel data into Crystal Reports?
Hi Friends,
Can anyone send me a Step- by- Step on How to Load Excel data into Crystal Reports? Pls help me. Thanks in Advance.
VijayIt's also important to 'prep' the excel file prior to connecting to it.
Give the data tab a meaningful name
Make sure the column headers are unique and that every column has a header
Delete any blank tabs
If you have trouble with Excel changing the data type of a field (say, a social security number you want to be a string value rather than a number so you don't lose leading zero) an alternative would be to save the spreadsheet file as a CSV, create a schema.ini to specify the data types for each column (example below) and use the same steps to connect except instead of choosing Excel 8.0, scroll to the bottom and choose Text. You have to make sure the CSV file is in the same folder as the schema.ini file that defines the columns.
Schema.ini example:
200912PUSD.csv
ColNameHeader=True
Format=CSVDelimited
MaxScanRows=25
CharacterSet=OEM
Col1=SSN Char Width 9
Col2=LAST_NM Char Width 25
Col3=FIRST_NM Char Width 25
Col4=DOB Date
Col5=STDNT_ID Char Width 10
Col6=SORTKEY Char Width 10
Col7=SCHOOL_NM Char Width 30
Col8=OTHER_ID Integer
Col9=GRADE Char Width 2
The filename in the first line needs to have the [] brackets around it, but I couldn't get it to display in this forum correctly.
Edited by: Eric Petersen on Jan 27, 2010 9:40 AM -
Inability to import Excel data with xlsx or xlsm extensions
Inability to import Excel data with xlsx or xlsm using Microsoft Project Standard V14 Import Wizard.
Get error message"Project cannot recognize this file format. Do you want to open this file in text only?" when using xlsm.
Nothing no wizard or data when when trying xlsx.
Windows XP/Office 2007. SP1 for MSP2010 installed.
Thank you in advance. PetePete H --
No, it is not possible to import Excel files with either the xlsx or the the xlsm file extension. This is simply a limitation of the Import/Export Wizard. Sorry. Hope this helps.
Dale A. Howard [MVP]
VP of Educational Services
msProjectExperts
http://www.msprojectexperts.com
http://www.projectserverexperts.com
"We write the books on Project Server" -
C# load xml data with attributes to datagridview; update data and save back to the xml
Hi guys,
i currently have this XML as data
<DEALS>
<DEAL ID="22" ISBN="0-7888-1623-3" Screenplay="Mary Kaplan" Title ="Mr Gentleman" Director = "Jonathan Jones">
<ALLOCATION DEMANDE="5000" CODE="72" PRICE="25.00">2500</ALLOCATION>
<ALLOCATION DEMANDE="7000" CODE="75" PRICE="35.00">4000</ALLOCATION>
</DEAL>
<DEAL ID="23" ISBN="1-7988-1623-3" Screenplay="Joe Doe" Title ="Nothing Much" Director = "Listentome">
<ALLOCATION DEMANDE="3300" CODE="72" PRICE="15.00">2500</ALLOCATION>
</DEAL>
</DEALS>
I load the data with the code below:
i use xDocument to load the DealData.xml and then put it in ToString.
//outside of the form
public static class XElementExtensions
public static DataTable ToDataTable(this XElement element)
DataSet ds = new DataSet();
string rawXml = element.ToString();
ds.ReadXml(new StringReader(rawXml));
return ds.Tables[0];
public static DataTable ToDataTable(this IEnumerable<XElement> elements)
return ToDataTable(new XElement("Root", elements));
//in the form
private void button2_Click(object sender, EventArgs e)
var xDocument = XDocument.Load("DealData.xml");
string txtxml = xDocument.ToString();
StringReader reader = new StringReader(txtxml);
XDocument doc1 = XDocument.Load(reader);
var res = doc1.Descendants("DEAL").ToList().Where(x => x.Attribute("ID").Value == "22").Descendants("ALLOCATION");
dataGridView1.DataSource = res.ToDataTable();
Now my question is:
I would like to update the data from the DataGridview with the Attribute("ID").Value == "22" and save the data back to the XML.
For example, after I load my data on the datagridview, we only pickup anything that is in the node
<DEAL ID="22" ISBN="0-7888-1623-3" Screenplay="Mary Kaplan" Title ="Mr Gentleman" Director = "Jonathan Jones">
<ALLOCATION DEMANDE="5000" CODE="72" PRICE="25.00">2500</ALLOCATION>
<ALLOCATION DEMANDE="7000" CODE="75" PRICE="35.00">4000</ALLOCATION>
</DEAL>
I updated the datagridview below with DEMANDE = 9000 CODE = 66 PRICE = 24.77 AND ALLOCATION = 1200
I want be able to extract the data back in the xml as a child of the DEAL ID = "22"
So that the XML file looks like this
<DEALS>
<DEAL ID="22" ISBN="0-7888-1623-3" Screenplay="Mary Kaplan" Title ="Mr Gentleman" Director = "Jonathan Jones">
<ALLOCATION DEMANDE="5000" CODE="72" PRICE="25.00">2500</ALLOCATION>
<ALLOCATION DEMANDE="7000" CODE="75" PRICE="35.00">4000</ALLOCATION>
<ALLOCATION DEMANDE="9000" CODE="66" PRICE="24.77">1200</ALLOCATION> <-! this is the new line !->
</DEAL>
<DEAL ID="23" ISBN="1-7988-1623-3" Screenplay="Joe Doe" Title ="Nothing Much" Director = "Listentome">
<ALLOCATION DEMANDE="3300" CODE="72" PRICE="15.00">2500</ALLOCATION>
</DEAL>
</DEALS>
Is there a way to achieve that?
I have been searching and reading in the books but i cannot find a solution for this.
Thank you
Please do not forget to click “Vote as Helpful” if the reply helps/directs you toward your solution and or "Mark as Answer" if it solves your question. This will help to contribute to the forum.I would think of something like the below, the id is passed as static you need to change this
protected virtual void button1_Click(object sender, EventArgs e)
//Get DataTable from DGV datasource
DataTable dt = new DataTable();
dt = (DataTable)dataGridView1.DataSource;
string file1 = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><DEALS><DEAL ID=\"22\" ISBN=\"0-7888-1623-3\" Screenplay=\"Mary Kaplan\" Title =\"Mr Gentleman\" Director = \"Jonathan Jones\"><ALLOCATION DEMANDE=\"5000\" CODE=\"72\" PRICE=\"25.00\">2500</ALLOCATION><ALLOCATION DEMANDE=\"7000\" CODE=\"75\" PRICE=\"35.00\">4000</ALLOCATION></DEAL><DEAL ID=\"23\" ISBN=\"1-7988-1623-3\" Screenplay=\"Joe Doe\" Title =\"Nothing Much\" Director = \"Listentome\"><ALLOCATION DEMANDE=\"3300\" CODE=\"72\" PRICE=\"15.00\">2500</ALLOCATION></DEAL></DEALS>";
StringReader reader = new StringReader(file1);
XDocument doc1 = XDocument.Load(reader);
//Remove all elements related to the id being populated into the Grid
doc1.Descendants("DEAL").ToList().Where(x => x.Attribute("ID").Value == "22").Descendants("ALLOCATION").Remove();
//loop through datatable and create new xelement to be added to the xdocument
foreach (DataRow dr in dt.Rows)
XElement xe = new XElement("ALLOCATION",
new XAttribute("DEMANDE", dr[0].ToString()),
new XAttribute("CODE", dr[1].ToString()),
new XAttribute("PRICE", dr[2].ToString()));
xe.Value = dr[3].ToString();
doc1.Descendants("DEAL").ToList().Where(x => x.Attribute("ID").Value == "22").FirstOrDefault().Add(xe);
Fouad Roumieh -
Hi,
Can any one advise on this.
Can we load ICT data with YTD values.
We have data for June and December, when we load data for december it is picking up junes data for YTD at December.
for example I have ICT for June = 5000
at December I want load data with 7000 as YTD (being 5000 of june + 2000 of December)
Thanks in advance.jansenecj wrote:
Hi,
Any suggestions how to fix it?yes, the first thing that comes to my mind is
that instead of using number datatype in the test_EXT table for the AMOUNT column, you can use varchar2 datatype and you will go fine with that minus sign/s
For later data manipulations happening on the AMOUNT column , if the currently defined datatype will not be apropriatte ,you could eventually apply TO_NUMBER,SUBSTR,TRUNC and similiar built in functions to get the needed format. -
Loading historical data with 0CO_PC_ACT_02
Hello,
I need to load historical values with infosource 0CO_PC_ACT_02. I can load the current period, but get no data from R/3 for historical periods. When I run RSA3 on R/3 for a historical period, I get no data, so I don't believe that this is a BW Issue.
My question:
1. Is there a job or something on R/3 I need to run to enable this data source to pull historical data? If so, what is it and how do I run it?
2. Is this data source simply not able to pull historical data?
Thanks.
DaveHi All,
I have same issue , any one got work around to load history data with this Extractor(0CO_PC_ACT_02) ? -
Bank detials Maintained in Vendor master data with out Sort code / Bank Key
Hi
We have a Requirement of creating Japanese bank details in Vendor Master Record. But No Bank key / sort code is available.
Even for Russian Bank accounts we donu2019t have any bank key / sort code available from client.
System does not allow to create vendor bank details with out providing Sort code/ Bank key details.
Is there is any way of creating bank details in Vendor master data with out giving Bank key details.
Regards,
Karunakar.Hi,
I assume you fill in Sort Code in bank number field.
In my company, our bank number is set not to duplicate bank key.
So bank key is simply a reference. And our bank number field is not mandatory.
If you follow these settings, you can create an abitrary bank key for your vendor bank account. -
Want to load excel data into oracle table with out changing it to CSV
Hello all,
I have a requirement in dumping excel data into oracle database table without changing it to CSV file and this has to be used in normal sql/plsql environment i.e., pkg/procedure cant be used in the forms also...
so, can u guys can help me out in this
thanks.............The link Pavan provided discusses Oracle Heterogeneous Services. This allows you (using ODBC) to create a database link from Oracle to a non-Oracle data source like Excel. This would allow you to query the Excel data source from SQL*Plus or any other client tool. But that is probably going to require that your Oracle database is running on Windows since I'm not aware of any Excel ODBC drivers for Unix.
Another potential option would be to write a Java stored procedure that parsed the file. There are a few different Java libraries that can read and write Excel data files. You could load one of those libraries into the database's JVM and then write Java code that parsed the file. You would then be able to call your Java stored procedure from PL/SQL.
Justin -
How to load excel data into oracle table
How do i load data from an excel file with several worksheets into an oracle table?
using Oracle 10g
Excel
sample data of excel
Name eric Name mary
AccountNo 123 AccountNo 321
amount1 5.0 Amount1 1.0
amount2 5.5 Amount2 2.0
amount3 6.0 Amount3 3.0
Total 16.5 Total 6.0
Name larry Name beth
AccountNo 123 AccountNo 321
amount1 5.0 Amount1 1.0
amount2 5.5 Amount2 2.0
amount3 6.0 Amount3 3.0
Total 16.5 Total 6.0
Note: Assume data are aligned into columns like a real excel workbookI have some used something like this.
don't ask any details as I am not a xl person, but i think its pretty straight forword.
hope its helpful for you or someone else
Dim i As Integer
Dim conn As New ADODB.Connection
Dim strInsert As String
Dim strExecInsert As String
conn.ConnectionString = "Provider=MSDAORA.1;User ID=scott;password=tiger;Data Source=orcl.world;Persist Security Info=False"
conn.Open
strInsert = "insert into xlsc ( emp, dept, doj," & _
"dol, dob, Ce ,ED, v_date ) values("
'this is to insert first 2347 rows from xl to orcl
While i < 2348
strExecInsert = strInsert & "'" & _
Trim(Cells(i, 1).Value) & "','" & _
Trim(Cells(i, 2).Value) & "','" & _
Trim(Cells(i, 3).Value) & "','" & _
Trim(Cells(i, 4).Value) & "','" & _
Trim(Cells(i, 5).Value) & "','" & _
Trim(Cells(i, 6).Value) & "','" & _
Trim(Cells(i, 7).Value) & "','" & _
Trim(Cells(i, 8).Value) & "' )"
'MsgBox strExecInsert
If Cells(i, 1).Value <> "" Then
conn.Execute (strExecInsert)
End If
i = i + 1
Wend
'conn.Execute ("commit")
conn.Close
End Sub -
Problem loading Image data with French accent in file name
We have a very complex commercial application that has been working perfectly in English for over a year. We have now localized it to French and Spanish, and discovered a serious show-stopping problem. We need help fast, with the scheduled release being less than 2 weeks away...!
We iterate over a folder to find all the images in it, then display those in a user window. The code for loading the images is:
for each (var name:String in filenames){
var image:SmoothImageTransformable = new SmoothImageTransformable();
var imagePath:String = dir + "/" + name;
image.source = imagePath;
trace("Adding Item to picture carousel with url " + image.source);
image.data = {directory:dir, filename:name};
image.isDragEnabled = true;
image.setStyle("horizontalCenter", 0);
image.setStyle("verticalCenter", 0);
_images.push(image);
Our SmoothImageTransformable class is an internal class that inherits from Image. This all works fine for image names like 'myFavoritePhoto', 'test', 'photo346', etc. However, it fails to load the data if the file name is something like 'caméra' Any name with a UTF-8 character causes the data load to fail.
To be sure we weren't doing a load somewhere else in the code that I had overlooked, I added a "image.autoLoad = false' line in there. That did exactly as expected -- all image squares then show a grey blank, with no image shown. Removing that line (reverting to the original code, as shown above) causes all the images to work perfectly, except for those with French accent characters like the é.
HELP! Is this a known bug? Is there some additional setting I need to make it understand the extended character set? I can't find any mention about this at all in the documentation.@markerline:
We have a fix! Almost... I don't understand one aspect of what I am seeing though.
We have one test file named "camèra.jpg" that is an example of what I am unable to load into an Image. I decided to examine the character codes at each letter, and this is what Flex has as the string:
name = cam?ra.jpg
[0] = c; 0x99
[1] = a; 0x97
[2] = m; 0x109
[3] = ?; 0x232
[4] = r; 0x114
[5] = a; 0x97
[6] = .; 0x46
[7] = j; 0x106
[8] = p; 0x112
[9] = g; 0x103
Note that the è prints as gibberish in the trace statement, and shows a numeric encoding of 0x232. According to
http://docstore.mik.ua/orelly/web2/action/appb_01.htm
The unicode equivalent of Latin1 for è is 0xE8, which is equivalent to 0x232. That implies that the string is already Latin1, which I would think would mean that Windoze would recognize the file name and open it properly -- but it does not.
I then tried taking the "camèra.jpg" string, pasting it into NotePad++ in a UTF8 document, then telling NotePad++ to display as ASCII. The result is "camèra". I then tried just forcing the file name within Flex to this new mangled string. The result then is:
MAGIC name = camèra
[0] = c; 0x99
[1] = a; 0x97
[2] = m; 0x109
[3] = ?; 0x195
[4] = ?; 0x168
[5] = r; 0x114
[6] = a; 0x97
[7] = .; 0x46
[8] = j; 0x106
[9] = p; 0x112
[10] = g; 0x103
Note this time the trace statement looks proper. More important, the IMAGE DOES LOAD! (Our display of the name to the user now looks like crap, but that just means I need to modify our class to have a separate 'name' property, rather than extracting it from the 'image.source')
So... my remaining question -- what encoding did I just do through that NotePad++ incantation? That site I quoted above said that it was already Latin1, which is what I thought I was trying to get to. I clearly need to write a method to map from incoming (UTF8 I thought, but maybe Latin1?) to Windows file system (Latin1 I thought, but maybe ASCII).
In other words, I am not sure what charcter set to come from or go to... It turns out the code was already in the character set I had been trying to go to (which is why it wasn't working) and the set I seem to need to go to is not the one I thought... -
Loading Master Data with Flexible Update
Hi,
I have created an Infoobject - Business Partner (Master Data bearing characteristics). The attributes to this are Region, Sales Person, Industry code which are master bearing characteristic as well.
I need to load data to the business partner from a csv file.
The layout of the CSV file is -
BP number, BP text (long Text), Region Code, Region Desc (Med Text), Sales Person Code, Sales Person Desc (Med Text), Industry Code, Industry description (Med Text).
How do I define the infosource to load this data.
Appreciate any help with this.
Thank You,
PrashanthHi,
First of all, I need to note that there are two kind of Infosources: with direct and flexible update.
If you choose a direct IS, then in the creating of the IS you just enter the name of the infoobject where you are going to load data. The system will create a IS (comm. structure). Enter this IS for changing. The system will propose you the communication structure, click on a bottom icon Transfer structure/Transfer rules, choose as a Source system your flat file system. Agree with the system when it asks you to save assignments (up to 3 times). Activate TRs. Then click in the field for Datasource. You may see there another datasources (for texts, attributes and hierarchies). Choose one by one another datasources with their activation.
Now you can create an infopackage for a load you can choose what kind of package it is going to be for loading texts, attributes or hierarchies.
Note that in this case the structure of the flat file is proposed by the system and you need just prepare the flat file corresponding to the proposed structure (different for each of 3 possible datasources). Execute infopackage.
If you use a flexible IS, then you may insert into comm. structure the fields that you think you may need in the master data. Note that here you may have not only attributes but TEXTS also. Save a comm. structure. Assign a flat file source system and activate a TRs.
After that in RSA1-dataproviders tab right click insert IO as a data target choose your IO. Refresh the screen. Youll see up to three data targets. Create update rules for each of them. In URs map the fields in the IS with the fields in URs.
Best regards,
Eugene -
Help needed in Loading excel data to staging table from OAF Page
Hi All,
We have a requirement from the client on loading of a excel sheet data into staging table using OAF page.
We were able to load a CSV file into staging table via OAF. The approach we used is we created a item of style 'messageFileUpload', which would pick the CSV file from desktop and we wrote the logic on the controller to place the file into server and then sumit a concurrent program to load the data into the staging table.
But client wants data from the excel file to be loaded into staging table. Is there any way(approach) by which we can convert the excel file data into .CSV file using OAF?
Any help or pointers on this will be highly apperciated.
Thanks,
ChethanaHi,
Read through this :
Need to upload a CSV/Excel to a table in OAF page
Thanks,
Gaurav
Maybe you are looking for
-
I am unable to submit my RSS feed into iTunes
Podcast RSS feed not being accepted by iTunes I have registered my main podcast RSS feed in iTunes successfully. I want to migrate this RSS feed from feedburner to PowerPress, but I want to prototype it first before I move the real feed. To that end,
-
Error while activation of Bi content of Bi cockpit
Hi all, I am doing BI content activation for BI admin cockpit, from SPRO -- Activation of BI content of BI admin cockpit , i ran the activation but it got failed. The error message says: DataSource 0TCTBWOBJCT_ATTR from source system BWQCLNT500 could
-
Error while creating leave for next year
Hi, Issue: while creating a leave for the next year (2010) for the quota type it is throwing an error u201Cthere is no quota availableu201D: Is there any configuration required. Pls, answer. Regards Srini
-
Problem in BDC program when executed using scheduled job
I have developed a BDC program for J1I5 T-code whcih updates RG1 Register. This is working as expected when run in foreground as well as in background. But it is not giving expected results when scheduled in Job. It is not giving any error message, j
-
Today I just noticed a link at the bottom of posts that says "report this post". I became level 2 two days ago, and am wondering if this is new to level 2 users, or if it is new to all users as of today (march 1st). I didn't notice this yesterday, bu